12 Nov, 2008

22 commits

  • This provides a missing link in the code chain, as several features implicitly
    depend and/or rely on the choice of CCID. Most notably, this is the Send Ack Vector
    feature, but also Ack Ratio and Send Loss Event Rate (also taken care of).

    For Send Ack Vector, the situation is as follows:
    * since CCID2 mandates the use of Ack Vectors, there is no point in allowing
    endpoints which use CCID2 to disable Ack Vector features such a connection;

    * a peer with a TX CCID of CCID2 will always expect Ack Vectors, and a peer
    with a RX CCID of CCID2 must always send Ack Vectors (RFC 4341, sec. 4);

    * for all other CCIDs, the use of (Send) Ack Vector is optional and thus
    negotiable. However, this implies that the code negotiating the use of Ack
    Vectors also supports it (i.e. is able to supply and to either parse or
    ignore received Ack Vectors). Since this is not the case (CCID-3 has no Ack
    Vector support), the use of Ack Vectors is here disabled, with a comment
    in the source code.

    An analogous consideration arises for the Send Loss Event Rate feature,
    since the CCID-3 implementation does not support the loss interval options
    of RFC 4342. To make such use explicit, corresponding feature-negotiation
    options are inserted which signal the use of the loss event rate option,
    as it is used by the CCID3 code.

    Lastly, the values of the Ack Ratio feature are matched to the choice of CCID.

    The patch implements this as a function which is called after the user has
    made all other registrations for changing default values of features.

    The table is variable-length, the reserved (and hence for feature-negotiation
    invalid, confirmed by considering section 19.4 of RFC 4340) feature number `0'
    is used to mark the end of the table.

    Signed-off-by: Gerrit Renker
    Acked-by: Ian McDonald
    Signed-off-by: David S. Miller

    Gerrit Renker
     
  • This provides a data structure to record which CCIDs are locally supported
    and three accessor functions:
    - a test function for internal use which is used to validate CCID requests
    made by the user;
    - a copy function so that the list can be used for feature-negotiation;
    - documented getsockopt() support so that the user can query capabilities.

    The data structure is a table which is filled in at compile-time with the
    list of available CCIDs (which in turn depends on the Kconfig choices).

    Using the copy function for cloning the list of supported CCIDs is useful for
    feature negotiation, since the negotiation is now with the full list of available
    CCIDs (e.g. {2, 3}) instead of the default value {2}. This means negotiation
    will not fail if the peer requests to use CCID3 instead of CCID2.

    Signed-off-by: Gerrit Renker
    Acked-by: Ian McDonald
    Signed-off-by: David S. Miller

    Gerrit Renker
     
  • Two registration routines, for SP and NN features, are provided by this patch,
    replacing a previous routine which was used for both feature types.

    These are internal-only routines and therefore start with `__feat_register'.

    It further exports the known limits of Sequence Window and Ack Ratio as symbolic
    constants.

    Signed-off-by: Gerrit Renker
    Acked-by: Ian McDonald
    Signed-off-by: David S. Miller

    Gerrit Renker
     
  • This patch limits feature (capability) negotation to the connection setup phase:

    1. Although it is theoretically possible to perform feature negotiation at any
    time (and RFC 4340 supports this), in practice this is prohibitively complex,
    as it requires to put traffic on hold for each new negotiation.
    2. As a byproduct of restricting feature negotiation to connection setup, the
    feature-negotiation retransmit timer is no longer required. This part is now
    mapped onto the protocol-level retransmission.
    Details indicating why timers are no longer needed can be found on
    http://www.erg.abdn.ac.uk/users/gerrit/dccp/notes/feature_negotiation/\
    implementation_notes.html

    This patch disables anytime negotiation, subsequent patches work out full
    feature negotiation support for connection setup.

    Signed-off-by: Gerrit Renker
    Signed-off-by: David S. Miller

    Gerrit Renker
     
  • Unused after kmem_cache_zalloc() conversion.

    Signed-off-by: Alexey Dobriyan
    Signed-off-by: David S. Miller

    Alexey Dobriyan
     
  • ->pde isn't actually needed, since name is stashed in ->id.

    Signed-off-by: Alexey Dobriyan
    Signed-off-by: David S. Miller

    Alexey Dobriyan
     
  • Conflicts:

    drivers/message/fusion/mptlan.c
    drivers/net/sfc/ethtool.c
    net/mac80211/debugfs_sta.c

    David S. Miller
     
  • David S. Miller
     
  • …el/git/tip/linux-2.6-tip

    * 'timers-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    timers: handle HRTIMER_CB_IRQSAFE_UNLOCKED correctly from softirq context
    nohz: disable tick_nohz_kick_tick() for now
    irq: call __irq_enter() before calling the tick_idle_check
    x86: HPET: enter hpet_interrupt_handler with interrupts disabled
    x86: HPET: read from HPET_Tn_CMP() not HPET_T0_CMP
    x86: HPET: convert WARN_ON to WARN_ON_ONCE

    Linus Torvalds
     
  • …l/git/tip/linux-2.6-tip

    * 'sched-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    sched: release buddies on yield
    fix for account_group_exec_runtime(), make sure ->signal can't be freed under rq->lock
    sched: clean up debug info

    Linus Torvalds
     
  • …nel/git/tip/linux-2.6-tip

    * 'tracing-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    ring-buffer: prevent infinite looping on time stamping
    ftrace: disable tracing on resize
    ftrace: fix breakage in bin_fmt results
    ftrace: ftrace.txt version update
    ftrace: update txt document

    Linus Torvalds
     
  • Signed-off-by: Sujith
    Signed-off-by: John W. Linville

    Sujith
     
  • * 'for-linus' of git://oss.sgi.com/xfs/xfs:
    [XFS] XFS: Check for valid transaction headers in recovery
    [XFS] handle memory allocation failures during log initialisation
    [XFS] Account for allocated blocks when expanding directories
    [XFS] Wait for all I/O on truncate to zero file size
    [XFS] Fix use-after-free with log and quotas

    Linus Torvalds
     
  • * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mfasheh/ocfs2: (21 commits)
    ocfs2: Check search result in ocfs2_xattr_block_get()
    ocfs2: fix printk related build warnings in xattr.c
    ocfs2: truncate outstanding block after direct io failure
    ocfs2/xattr: Proper hash collision handle in bucket division
    ocfs2: return 0 in page_mkwrite to let VFS retry.
    ocfs2: Set journal descriptor to NULL after journal shutdown
    ocfs2: Fix check of return value of ocfs2_start_trans() in xattr.c.
    ocfs2: Let inode be really deleted when ocfs2_mknod_locked() fails
    ocfs2: Fix checking of return value of new_inode()
    ocfs2: Fix check of return value of ocfs2_start_trans()
    ocfs2: Fix some typos in xattr annotations.
    ocfs2: Remove unused ocfs2_restore_xattr_block().
    ocfs2: Don't repeat ocfs2_xattr_block_find()
    ocfs2: Specify appropriate journal access for new xattr buckets.
    ocfs2: Check errors from ocfs2_xattr_update_xattr_search()
    ocfs2: Don't return -EFAULT from a corrupt xattr entry.
    ocfs2: Check xattr block signatures properly.
    ocfs2: add handler_map array bounds checking
    ocfs2: remove duplicate definition in xattr
    ocfs2: fix function declaration and definition in xattr
    ...

    Linus Torvalds
     
  • Signed-off-by: Alan Cox
    Signed-off-by: Linus Torvalds

    Alan Cox
     
  • Signed-off-by: Alan Cox
    Signed-off-by: Linus Torvalds

    Alan Cox
     
  • * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6: (35 commits)
    V4L/DVB (9516): cx18: Move DVB buffer transfer handling from irq handler to work_queue
    V4L/DVB (9557): gspca: Small changes for the sensor HV7131B in zc3xx.
    V4L/DVB (9556): gspca: Bad init sequence for sensor HV7131B in zc3xx.
    V4L/DVB (9549): gspca: Fix a typo in one of gspca chips name.
    V4L/DVB (9515): cx18: Use correct Mailbox IRQ Ack values and misc IRQ handling cleanup
    V4L/DVB (9493): kconfig patch
    V4L/DVB (9527): af9015: fix compile warnings
    V4L/DVB (9524): af9013: fix bug in status reading
    V4L/DVB (9511): cx18: Mark CX18_CPU_DE_RELEASE_MDL as a slow API call
    V4L/DVB (9510): cx18: Fix write retries for registers that always change - part 2.
    V4L/DVB (9506): ivtv/cx18: fix test whether modules should be loaded or not.
    V4L/DVB (9499): cx88-mpeg: final fix for analogue only compilation + de-alloc fix
    V4L/DVB (9496): cx88-blackbird: bugfix: cx88-blackbird-mpeg-users
    V4L/DVB (9495): cx88-blackbird: bugfix: cx88-blackbird-poll-fix
    V4L/DVB (9494): anysee: initialize anysee_usb_mutex statically
    V4L/DVB (9492): unplug oops from dvb_frontend_init...
    V4L/DVB (9486): ivtv/ivtvfb: no longer experimental
    V4L/DVB (9485): ivtv: remove incorrect V4L1 & tvaudio dependency
    V4L/DVB (9482): Documentation, especially regarding audio and informational links
    V4L/DVB (9475): cx18: Disable write retries for registers that always change - part 1.
    ...

    Linus Torvalds
     
  • * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc:
    powerpc: Update desktop/server defconfigs
    powerpc: Fix msr check in compat_sys_swapcontext
    powerpc: Repair device bindings documentation
    powerpc: Updated Freescale PPC related defconfigs
    powerpc: Update QE/CPM2 usb_ctlr structures for USB support
    powerpc/86xx: Correct SOC bus-frequency in GE Fanuc SBC610 DTS
    powerpc: Fix Book-E watchdog timer interval setting
    powerpc/fsl-booke: Fix synchronization bug w/local tlb invalidates

    Linus Torvalds
     
  • * 'drm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6:
    drm/i915: Move legacy breadcrumb out of the reserved status page area
    drm/i915: Filter pci devices based on PCI_CLASS_DISPLAY_VGA
    drm/radeon: map registers at load time
    drm: Remove infrastructure for supporting i915's vblank swapping.
    i915: Remove racy delayed vblank swap ioctl.
    i915: Don't whine when pci_enable_msi() fails.
    i915: Don't attempt to short-circuit object_wait_rendering by checking domains.
    i915: Clean up sarea pointers on leavevt
    i915: Save/restore MCHBAR_RENDER_STANDBY on GM965/GM45

    Linus Torvalds
     
  • * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev:
    libata: fix last_reset timestamp handling
    libata: Avoid overflow in ata_tf_read_block() when tf->hba_lbal > 127
    [libata] pata_pcmcia: another memory card support
    [libata] pata_sch: notice attached slave devices
    [libata] pata_cs553*.c: cleanup kernel-doc

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6:
    sparc64: Update defconfig.
    Revert "sparc: correct section of current_pc()"

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6:
    dsa: fix master interface allmulti/promisc handling
    dsa: fix skb->pkt_type when mac address of slave interface differs
    net: fix setting of skb->tail in skb_recycle_check()
    net: fix /proc/net/snmp as memory corruptor
    mac80211: fix a buffer overrun in station debug code
    netfilter: payload_len is be16, add size of struct rather than size of pointer
    ipv6: fix ip6_mr_init error path
    [4/4] dca: fixup initialization dependency
    [3/4] I/OAT: fix async_tx.callback checking
    [2/4] I/OAT: fix dma_pin_iovec_pages() error handling
    [1/4] I/OAT: fix channel resources free for not allocated channels
    ssb: Fix DMA-API compilation for non-PCI systems
    SSB: hide empty sub menu
    vlan: Fix typos in proc output string
    [netdrvr] usb/hso: Cleanup rfkill error handling
    sfc: Correct address of gPXE boot configuration in EEPROM
    el3_common_init() should be __devinit, not __init
    hso: rfkill type should be WWAN
    mlx4_en: Start port error flow bug fix
    af_key: mark policy as dead before destroying

    Linus Torvalds
     

11 Nov, 2008

18 commits

  • Clear buddies on yield, so that the buddy rules don't schedule them
    despite them being placed right-most.

    This fixed a performance regression with yield-happy binary JVMs.

    Signed-off-by: Peter Zijlstra
    Signed-off-by: Ingo Molnar
    Tested-by: Lin Ming

    Peter Zijlstra
     
  • cx18: Move DVB buffer transfer handling from irq handler to work_queue thread.
    In order to properly lock the epu2cpu mailbox for driver to CX23418 commands,
    the DVB/TS buffer handling needs to be moved from the IRQ handler and IRQ
    context to a work queue. This work_queue implmentation is strikingly similar
    to the ivtv implementation - for better or worse.

    Signed-off-by: Andy Walls
    Signed-off-by: Mauro Carvalho Chehab

    Andy Walls
     
  • - touch only one register for brightness change
    - no quality control
    - don't probe again at streamon time.

    Signed-off-by: Jean-Francois Moine
    Signed-off-by: Mauro Carvalho Chehab

    Jean-Francois Moine
     
  • This patch fixes the H flip and the R & B color inversion of mode 320x240.

    Signed-off-by: Jean-Francois Moine
    Signed-off-by: Mauro Carvalho Chehab

    Jean-Francois Moine
     
  • Signed-off-by: Krzysztof Helt
    Signed-off-by: Jean-Francois Moine
    Signed-off-by: Mauro Carvalho Chehab

    Krzysztof Helt
     
  • cx18: Use correct Mailbox IRQ Ack values and misc IRQ handling cleanup.
    The SCB field definitions for Ack IRQ's for mailboxes were inconsistent with
    the bitmasks being loaded into those SCB fields and the SW2 Ack IRQ handling
    logic. Renamed fields in SCB to make things consistent and did misc IRQ
    handling cleanups: removing legacy ivtv dma_reg_lock, HPU IRQ flags, etc.

    Signed-off-by: Andy Walls
    Signed-off-by: Mauro Carvalho Chehab

    Andy Walls
     
  • Ok I made a patch that converts gspca kconfig file to a more standard=
    one, with tabs + 2 white spaces, so that if a warning is added it still
    compiles
    please find it attached

    Signed-off-by: Mauro Carvalho Chehab

    Frederic CAND
     
  • - use static to avoid compile warnings

    Signed-off-by: Antti Palosaari
    Signed-off-by: Mauro Carvalho Chehab

    Antti Palosaari
     
  • - ! has a higher precedence than &

    Signed-off-by: Roel Kluin
    Signed-off-by: Antti Palosaari
    Signed-off-by: Mauro Carvalho Chehab

    roel kluin
     
  • cx18: Mark CX18_CPU_DE_RELEASE_MDL as a slow API call.
    Give the encoder time to complete the MDL release before destroying the
    encoder internal task. This avoids an encoder lockup on the next digital
    capture and error messages about buffers being returned for an inactive
    encoder task handle.

    Signed-off-by: Andy Walls
    Signed-off-by: Mauro Carvalho Chehab

    Andy Walls
     
  • cx18: Fix write retries for registers that always change - part 2.
    Some registers, especially interrupt related ones, will never read
    back the value just written. Modified interrupt register readback
    checks to make sure the intended effect was achieved.

    Signed-off-by: Andy Walls
    Signed-off-by: Mauro Carvalho Chehab

    Andy Walls
     
  • Signed-off-by: Hans Verkuil
    Signed-off-by: Mauro Carvalho Chehab

    Hans Verkuil
     
  • Final fix for when analogue only is selected
    for compilation (ie, !CX88_DVB)

    This tidies up previous fix and adds missing
    de-alloc memory leak on fault (eg, if fe1 fails to alloc
    where fe0 was allocated).

    Signed-off-by: Darron Broad
    Signed-off-by: Mauro Carvalho Chehab

    Darron Broad
     
  • Allows multiple access to the mpeg device

    Signed-off-by: Frederic CAND
    Signed-off-by: Mauro Carvalho Chehab

    Frederic CAND
     
  • Starts encoder not only on a read call but also on a poll command.

    Signed-off-by: Frederic CAND
    Signed-off-by: Mauro Carvalho Chehab

    Frederic CAND
     
  • anysee_usb_mutex is initialized at every time the anysee device is probed.
    If the second anysee device is probed while anysee_usb_mutex is locked by
    the first anysee device, the mutex is broken.

    This patch fixes by initialize anysee_usb_mutex statically rather
    than initialize at probe time.

    Signed-off-by: Akinobu Mita
    Signed-off-by: Andrew Morton
    Signed-off-by: Mauro Carvalho Chehab

    Akinobu Mita
     
  • When inadvertently hot-unplugging a WT-220U USB DVB-T receiver with
    2.6.24, I was met with an oops [1]. The problem is relevant to
    2.6.25/26-rc also.

    dvb_frontend_init() was called either from re-creation of the kdvb-fe0
    thread - seems unlikely, or someone called
    dvb_frontend_reinitialise(), causing this path in the thread - really
    unlikely, as I can't find any call-site for it.

    Either way, quite a number of drivers call dvb_usb_generic_rw() [2]
    without checking the validity of the relevant member in the
    dvb_usb_device struct - which had changed. Having dvb_usb_generic_rw()
    sanity-check and fail (rather than loading from 0x120) seems
    reasonable defensive programming [3], in light of it being called in
    this way.

    The problem with this, is that drivers don't check the return code of
    the init call [4]. Does it make sense to cook a patch which allows the
    failure to be propagated back up, or am I missing something else?

    Thanks,
    Daniel

    [83711.538485] dvb-usb: bulk message failed: -71 (1/0)
    [83711.538875] dvb-usb: bulk message failed: -71 (1/0)
    [83711.538899] usb 7-5: USB disconnect, address 3
    [83711.538905] dvb-usb: bulk message failed: -22 (1/0)
    [83711.538924] dvb-usb: bulk message failed: -22 (1/0)
    [83711.538943] dvb-usb: bulk message failed: -22 (1/0)
    [83711.588979] dvb-usb: bulk message failed: -22 (1/0)
    [83711.589031] dvb-usb: bulk message failed: -22 (1/0)
    [83711.589078] dvb-usb: bulk message failed: -22 (1/0)
    [83711.589122] dvb-usb: bulk message failed: -22 (1/0)
    [83711.589167] dvb-usb: bulk message failed: -22 (1/0)
    [83711.639233] dvb-usb: bulk message failed: -22 (1/0)
    [83711.639282] dvb-usb: bulk message failed: -22 (1/0)
    [83711.639330] dvb-usb: bulk message failed: -22 (1/0)
    [83711.639374] dvb-usb: bulk message failed: -22 (1/0)
    [83711.639421] dvb-usb: bulk message failed: -22 (1/0)
    [83711.658391] dvb-usb: bulk message failed: -22 (1/0)
    [83768.174281] dvb-usb: bulk message failed: -22 (2/-32512)
    [83768.174350] Unable to handle kernel NULL pointer
    dereferencedvb-usb: WideView WT-220U PenType Receiver
    (Typhoon/Freecom) successfully deinitialized and disconnected.
    [83768.174459] at 0000000000000120 RIP:
    [83768.174459] [] :dvb_usb:dvb_usb_generic_rw+0x2f/0x1a0
    [83768.174580] PGD 0
    [83768.174643] Oops: 0000 [1] SMP
    [83768.174723] CPU 0
    [83768.174782] Modules linked in: nfsd auth_rpcgss exportfs nfs lockd
    nfs_acl sunrpc af_packet xt_length ipt_tos ipt_TOS xt_CLASSIFY sch_sfq
    sch_htb ipt_MASQUERADE ipt_REDIRECT xt_limit xt_state xt_tcpudp
    iptable_nat nf_nat nf_conntrack_ipv4 nf_conntrack iptable_mangle
    iptable_filter ip_tables x_tables xfs sbp2 parport_pc lp parport loop
    ftdi_sio usbserial evdev dvb_usb_dtt200u dvb_usb dvb_core i2c_core
    sky2 iTCO_wdt iTCO_vendor_support snd_hda_intel shpchp snd_pcm
    snd_timer snd_page_alloc snd_hwdep snd pci_hotplug soundcore ipv6
    button intel_agp ext3 jbd mbcache sg sd_mod ata_generic pata_acpi ahci
    ata_piix libata scsi_mod ohci1394 ieee1394 ehci_hcd uhci_hcd usbcore
    e1000 thermal processor fan fbcon tileblit font bitblit softcursor
    fuse
    [83768.176968] Pid: 5732, comm: kdvb-fe-0 Not tainted 2.6.24-16-server #1
    [83768.177009] RIP: 0010:[] []
    :dvb_usb:dvb_usb_generic_rw+0x2f/0x1a0
    [83768.177096] RSP: 0018:ffff810021939df0 EFLAGS: 00010286
    [83768.177138] RAX: ffff81003bc7cc00 RBX: 0000000000000001 RCX: 0000000000000000
    [83768.177181] RDX: 0000000000000001 RSI: ffff810021939e67 RDI: 0000000000000000
    [83768.177223] RBP: 0000000000000000 R08: 0000000000000000 R09: 0000000000000000
    [83768.177267] R10: ffff810001009880 R11: 0000000000000001 R12: ffff81003c10b400
    [83768.177311] R13: ffff81003c10b5b0 R14: ffff810021939ec0 R15: 0000000000000000
    [83768.177354] FS: 0000000000000000(0000) GS:ffffffff805c3000(0000)
    knlGS:0000000000000000
    [83768.177409] CS: 0010 DS: 0018 ES: 0018 CR0: 000000008005003b
    [83768.177449] CR2: 0000000000000120 CR3: 0000000000201000 CR4: 00000000000006e0
    [83768.177491] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
    [83768.177534] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
    [83768.177576] Process kdvb-fe-0 (pid: 5732, threadinfo
    ffff810021938000, task ffff81003bd1b7a0)
    [83768.177629] Stack: ffff81003e9b6828 0000000000000000
    ffff8100378369f8 0000000000000000
    [83768.177800] ffff81003bd1b7a0 ffff810037836d48 ffff81003bc7cc30
    ffff81003c10b400
    [83768.177943] ffff81003c10b5b0 ffff810021939ec0 ffff81003c10b5e0
    ffffffff88342452
    [83768.178054] Call Trace:
    [83768.178130] [] :dvb_usb_dtt200u:dtt200u_fe_init+0x22/0x30
    [83768.178178] [] :dvb_usb:dvb_usb_fe_wakeup+0x3a/0x50
    [83768.178229] [] :dvb_core:dvb_frontend_init+0x21/0x70
    [83768.178278] [] :dvb_core:dvb_frontend_thread+0x8b/0x370
    [83768.178329] [] :dvb_core:dvb_frontend_thread+0x0/0x370
    [83768.178382] [] kthread+0x4b/0x80
    [83768.178427] [] child_rip+0xa/0x12
    [83768.178473] [] kthread+0x0/0x80
    [83768.178514] [] child_rip+0x0/0x12
    [83768.178557]
    [83768.178594]
    [83768.178594] Code: 44 8b 87 20 01 00 00 49 89 f4 45 89 ce 45 85 c0
    0f 84 ad 00
    [83768.179167] RIP [] :dvb_usb:dvb_usb_generic_rw+0x2f/0x1a0
    [83768.179234] RSP
    [83768.179271] CR2: 0000000000000120
    [83768.179419] ---[ end trace dba8483163cb1700 ]---

    Signed-off-by: Mauro Carvalho Chehab

    Daniel J Blueman
     
  • Remove the EXPERIMENTAL tag.

    Signed-off-by: Hans Verkuil
    Signed-off-by: Mauro Carvalho Chehab

    Hans Verkuil