1. 15 Nov, 2010 6 commits
    • Gerrit Renker's avatar
      dccp ccid-2: Separate option parsing from CCID processing · 7e87fe84
      Gerrit Renker authored
      This patch replaces an almost identical replication of code: large parts
      of dccp_parse_options() re-appeared as ccid2_ackvector() in ccid2.c.
      
      Apart from the duplication, this caused two more problems:
       1. CCIDs should not need to be concerned with parsing header options;
       2. one can not assume that Ack Vectors appear as a contiguous area within an
          skb, it is legal to insert other options and/or padding in between. The
          current code would throw an error and stop reading in such a case.
      
      Since Ack Vectors provide CCID-specific information, they are now processed
      by the CCID directly, separating this functionality from the main DCCP code.
      Signed-off-by: default avatarGerrit Renker <gerrit@erg.abdn.ac.uk>
      7e87fe84
    • Gerrit Renker's avatar
      dccp ccid-2: Remove old infrastructure · 52394eec
      Gerrit Renker authored
      This removes
       * functions for which updates have been provided in the preceding patches and
       * the @av_vec_len field - it is no longer necessary since the buffer length is
         now always computed dynamically.
      Signed-off-by: default avatarGerrit Renker <gerrit@erg.abdn.ac.uk>
      52394eec
    • Gerrit Renker's avatar
      dccp ccid-2: Schedule Sync as out-of-band mechanism · d83447f0
      Gerrit Renker authored
      The problem with Ack Vectors is that
        i) their length is variable and can in principle grow quite large,
       ii) it is hard to predict exactly how large they will be.
      
      Due to the second point it seems not a good idea to reduce the MPS; in
      particular when on average there is enough room for the Ack Vector and an
      increase in length is momentarily due to some burst loss, after which the
      Ack Vector returns to its normal/average length.
      
      The solution taken by this patch is to subtract a minimum-expected Ack Vector
      length from the MPS, and to defer any larger Ack Vectors onto a separate
      Sync - but only if indeed there is no space left on the skb.
      
      This patch provides the infrastructure to schedule Sync-packets for transporting
      (urgent) out-of-band data. Its signalling is quicker than scheduling an Ack, since
      it does not need to wait for new application data.
      Signed-off-by: default avatarGerrit Renker <gerrit@erg.abdn.ac.uk>
      d83447f0
    • Gerrit Renker's avatar
      dccp ccid-2: Consolidate Ack-Vector processing within main DCCP module · 18219463
      Gerrit Renker authored
      This aggregates Ack Vector processing (handling input and clearing old state)
      into one function, for the following reasons and benefits:
       * all Ack Vector-specific processing is now in one place;
       * duplicated code is removed;
       * ensuring sanity: from an Ack Vector point of view, it is better to clear the
                          old state first before entering new state;
       * Ack Event handling happens mostly within the CCIDs, not the main DCCP module.
      Signed-off-by: default avatarGerrit Renker <gerrit@erg.abdn.ac.uk>
      18219463
    • Gerrit Renker's avatar
      dccp ccid-2: Update code for the Ack Vector input/registration routine · 38024086
      Gerrit Renker authored
      This patch updates the code which registers new packets as received, using the
      new circular buffer interface. It contributes a new algorithm which
       * supports both tail/head pointers and buffer wrap-around and
       * deals with overflow (head/tail move in lock-step).
      Signed-off-by: default avatarGerrit Renker <gerrit@erg.abdn.ac.uk>
      38024086
    • Gerrit Renker's avatar
      dccp ccid-2: Algorithm to update buffer state · 5753fdfe
      Gerrit Renker authored
      This provides a routine to consistently update the buffer state when the
      peer acknowledges receipt of Ack Vectors; updating state in the list of Ack
      Vectors as well as in the circular buffer.
      
      While based on RFC 4340, several additional (and necessary) precautions were
      added to protect the consistency of the buffer state. These additions are
      essential, since analysis and experience showed that the basic algorithm was
      insufficient for this task (which lead to problems that were hard to debug).
      
      The algorithm now
       * deals with HC-sender acknowledging to HC-receiver and vice versa,
       * keeps track of the last unacknowledged but received seqno in tail_ackno,
       * has special cases to reset the overflow condition when appropriate,
       * is protected against receiving older information (would mess up buffer state).
      Signed-off-by: default avatarGerrit Renker <gerrit@erg.abdn.ac.uk>
      5753fdfe
  2. 14 Nov, 2010 1 commit
  3. 13 Nov, 2010 6 commits
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 · 9457b24a
      Linus Torvalds authored
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (66 commits)
        can-bcm: fix minor heap overflow
        gianfar: Do not call device_set_wakeup_enable() under a spinlock
        ipv6: Warn users if maximum number of routes is reached.
        docs: Add neigh/gc_thresh3 and route/max_size documentation.
        axnet_cs: fix resume problem for some Ax88790 chip
        ipv6: addrconf: don't remove address state on ifdown if the address is being kept
        tcp: Don't change unlocked socket state in tcp_v4_err().
        x25: Prevent crashing when parsing bad X.25 facilities
        cxgb4vf: add call to Firmware to reset VF State.
        cxgb4vf: Fail open if link_start() fails.
        cxgb4vf: flesh out PCI Device ID Table ...
        cxgb4vf: fix some errors in Gather List to skb conversion
        cxgb4vf: fix bug in Generic Receive Offload
        cxgb4vf: don't implement trivial (and incorrect) ndo_select_queue()
        ixgbe: Look inside vlan when determining offload protocol.
        bnx2x: Look inside vlan when determining checksum proto.
        vlan: Add function to retrieve EtherType from vlan packets.
        virtio-net: init link state correctly
        ucc_geth: Fix deadlock
        ucc_geth: Do not bring the whole IF down when TX failure.
        ...
      9457b24a
    • Linus Torvalds's avatar
      Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev · 80ef913f
      Linus Torvalds authored
      * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev:
        drivers/ata/pata_octeon_cf.c: delete double assignment
        pata_legacy: fix CONFIG_PATA_WINBOND_VLB_MODULE test
        libata: fix NULL sdev dereference race in atapi_qc_complete()
      80ef913f
    • Linus Torvalds's avatar
      Merge branch 'staging-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging-2.6 · 1c32ca9f
      Linus Torvalds authored
      * 'staging-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging-2.6: (38 commits)
        Revert "staging: tidspbridge: replace iommu custom for opensource implementation"
        Revert "staging: tidspbridge - move shared memory iommu maps to tiomap3430.c"
        Revert "staging: tidspbridge - rename bridge_brd_mem_map/unmap to a proper name"
        Revert "staging: tidspbridge - remove custom mmu code from tiomap3430.c"
        Revert "staging: tidspbridge - fix mmufault support"
        Revert "staging: tidspbridge - remove hw directory"
        Revert "staging: tidspbridge - move all iommu related code to a new file"
        Revert "staging: tidspbridge: remove dw_dmmu_base from cfg_hostres struct"
        Revert "staging: tidspbridge - remove reserved memory clean up"
        Revert "staging: tidspbridge - deprecate reserve/unreserve_memory funtions"
        Revert "staging: tidspbridge - remove dmm custom module"
        Revert "staging: tidspbridge - update Kconfig to select IOMMU module"
        staging: tidspbridge: hardcode SCM macros while fix is upstreamed
        Staging: keucr driver: fix uninitialized variable & proper memset length
        omap: dsp: remove shm from normal memory
        Staging: wlan-ng: Fix wrong #ifdef #endif sequence
        Staging: Update parameters for cfg80211 key management operation
        Staging: ath6kl: Fix pointer casts on 64-bit architectures
        Staging: batman-adv: suppress false warning when changing the mac address
        Staging: batman-adv: fix interface alternating and bonding reggression
        ...
      1c32ca9f
    • Linus Torvalds's avatar
      Merge branch 'usb-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6 · 00dad7fa
      Linus Torvalds authored
      * 'usb-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6: (28 commits)
        Revert "USB: xhci: Use GFP_ATOMIC under spin_lock"
        USB: ohci-jz4740: Fix spelling in MODULE_ALIAS
        UWB: Return UWB_RSV_ALLOC_NOT_FOUND rather than crashing on NULL dereference if kzalloc fails
        usb: core: fix information leak to userland
        usb: misc: iowarrior: fix information leak to userland
        usb: misc: sisusbvga: fix information leak to userland
        usb: subtle increased memory usage in u_serial
        USB: option: fix when the driver is loaded incorrectly for some Huawei devices.
        USB: xhci: Use GFP_ATOMIC under spin_lock
        usb: gadget: goku_udc: add registered flag bit, fixing build
        USB: ehci/mxc: compile fix
        USB: Fix FSL USB driver on non Open Firmware systems
        USB: the development of the usb tree is now in git
        usb: musb: fail unaligned DMA transfers on v1.8 and above
        USB: ftdi_sio: add device IDs for Milkymist One JTAG/serial
        usb.h: fix ioctl kernel-doc info
        usb: musb: gadget: kill duplicate code in musb_gadget_queue()
        usb: musb: Fix handling of spurious SESSREQ
        usb: musb: fix kernel oops when loading musb_hdrc module for the 2nd time
        USB: musb: blackfin: push clkin value to platform resources
        ...
      00dad7fa
    • Linus Torvalds's avatar
      Merge branch 'tty-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty-2.6 · edaa4d66
      Linus Torvalds authored
      * 'tty-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty-2.6:
        n_gsm: Fix length handling
        n_gsm: Copy n2 over when configuring via ioctl interface
        serial: bfin_5xx: grab port lock before making port termios changes
        serial: bfin_5xx: disable CON_PRINTBUFFER for consoles
        serial: bfin_5xx: remove redundant SSYNC to improve TX speed
        serial: bfin_5xx: always include DMA headers
        vcs: make proper usage of the poll flags
        amiserial: Remove unused variable icount
        8250: Fix tcsetattr to avoid ioctl(TIOCMIWAIT) hang
        tty_ldisc: Fix BUG() on hangup
        TTY: restore tty_ldisc_wait_idle
        SERIAL: blacklist si3052 chip
        drivers/serial/bfin_5xx.c: Fix line continuation defects
        tty: prevent DOS in the flush_to_ldisc
        8250: add support for Kouwell KW-L221N-2
        nozomi: Fix warning from the previous TIOCGCOUNT changes
        tty: fix warning in synclink driver
        tty: Fix formatting in tty.h
        tty: the development tree is now done in git
      edaa4d66
    • Linus Torvalds's avatar
      Merge branch 'upstream/core' of git://git.kernel.org/pub/scm/linux/kernel/git/jeremy/xen · 891cbd30
      Linus Torvalds authored
      * 'upstream/core' of git://git.kernel.org/pub/scm/linux/kernel/git/jeremy/xen:
        xen: do not release any memory under 1M in domain 0
        xen: events: do not unmask event channels on resume
        xen: correct size of level2_kernel_pgt
      891cbd30
  4. 12 Nov, 2010 27 commits