Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
tag: v2.6.34-rc7-gi…
Commits on May 11, 2010
  1. @torvalds

    Merge branch 'drm-linus' of git://git.kernel.org/pub/scm/linux/kernel…

    torvalds authored
    …/git/airlied/drm-2.6
    
    * 'drm-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6:
      drm/radeon: Fix 3 regressions - since buffer rework
  2. @torvalds

    Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6

    torvalds authored
    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6:
      net: Fix FDDI and TR config checks in ipv4 arp and LLC.
      IPv4: unresolved multicast route cleanup
      mac80211: remove association work when processing deauth request
      ar9170: wait for asynchronous firmware loading
      ipv4: udp: fix short packet and bad checksum logging
      phy: Fix initialization in micrel driver.
      sctp: Fix a race between ICMP protocol unreachable and connect()
      veth: Dont kfree_skb() after dev_forward_skb()
      IPv6: fix IPV6_RECVERR handling of locally-generated errors
      net/gianfar: drop recycled skbs on MTU change
      iwlwifi: work around passive scan issue
  3. @torvalds

    CacheFiles: Fix occasional EIO on call to vfs_unlink()

    David Howells authored torvalds committed
    Fix an occasional EIO returned by a call to vfs_unlink():
    
    	[ 4868.465413] CacheFiles: I/O Error: Unlink failed
    	[ 4868.465444] FS-Cache: Cache cachefiles stopped due to I/O error
    	[ 4947.320011] CacheFiles: File cache on md3 unregistering
    	[ 4947.320041] FS-Cache: Withdrawing cache "mycache"
    	[ 5127.348683] FS-Cache: Cache "mycache" added (type cachefiles)
    	[ 5127.348716] CacheFiles: File cache on md3 registered
    	[ 7076.871081] CacheFiles: I/O Error: Unlink failed
    	[ 7076.871130] FS-Cache: Cache cachefiles stopped due to I/O error
    	[ 7116.780891] CacheFiles: File cache on md3 unregistering
    	[ 7116.780937] FS-Cache: Withdrawing cache "mycache"
    	[ 7296.813394] FS-Cache: Cache "mycache" added (type cachefiles)
    	[ 7296.813432] CacheFiles: File cache on md3 registered
    
    What happens is this:
    
     (1) A cached NFS file is seen to have become out of date, so NFS retires the
         object and immediately acquires a new object with the same key.
    
     (2) Retirement of the old object is done asynchronously - so the lookup/create
         to generate the new object may be done first.
    
         This can be a problem as the old object and the new object must exist at
         the same point in the backing filesystem (i.e. they must have the same
         pathname).
    
     (3) The lookup for the new object sees that a backing file already exists,
         checks to see whether it is valid and sees that it isn't.  It then deletes
         that file and creates a new one on disk.
    
     (4) The retirement phase for the old file is then performed.  It tries to
         delete the dentry it has, but ext4_unlink() returns -EIO because the inode
         attached to that dentry no longer matches the inode number associated with
         the filename in the parent directory.
    
    The trace below shows this quite well.
    
    	[md5sum] ==> __fscache_relinquish_cookie(ffff88002d12fb58{NFS.fh,ffff88002ce62100},1)
    	[md5sum] ==> __fscache_acquire_cookie({NFS.server},{NFS.fh},ffff88002ce62100)
    
    NFS has retired the old cookie and asked for a new one.
    
    	[kslowd] ==> fscache_object_state_machine({OBJ52,OBJECT_ACTIVE,24})
    	[kslowd] <== fscache_object_state_machine() [->OBJECT_DYING]
    	[kslowd] ==> fscache_object_state_machine({OBJ53,OBJECT_INIT,0})
    	[kslowd] <== fscache_object_state_machine() [->OBJECT_LOOKING_UP]
    	[kslowd] ==> fscache_object_state_machine({OBJ52,OBJECT_DYING,24})
    	[kslowd] <== fscache_object_state_machine() [->OBJECT_RECYCLING]
    
    The old object (OBJ52) is going through the terminal states to get rid of it,
    whilst the new object - (OBJ53) - is coming into being.
    
    	[kslowd] ==> fscache_object_state_machine({OBJ53,OBJECT_LOOKING_UP,0})
    	[kslowd] ==> cachefiles_walk_to_object({ffff88003029d8b8},OBJ53,@68,)
    	[kslowd] lookup '@68'
    	[kslowd] next -> ffff88002ce41bd0 positive
    	[kslowd] advance
    	[kslowd] lookup 'Es0g00og0_Nd_XCYe3BOzvXrsBLMlN6aw16M1htaA'
    	[kslowd] next -> ffff8800369faac8 positive
    
    The new object has looked up the subdir in which the file would be in (getting
    dentry ffff88002ce41bd0) and then looked up the file itself (getting dentry
    ffff8800369faac8).
    
    	[kslowd] validate 'Es0g00og0_Nd_XCYe3BOzvXrsBLMlN6aw16M1htaA'
    	[kslowd] ==> cachefiles_bury_object(,'@68','Es0g00og0_Nd_XCYe3BOzvXrsBLMlN6aw16M1htaA')
    	[kslowd] remove ffff8800369faac8 from ffff88002ce41bd0
    	[kslowd] unlink stale object
    	[kslowd] <== cachefiles_bury_object() = 0
    
    It then checks the file's xattrs to see if it's valid.  NFS says that the
    auxiliary data indicate the file is out of date (obvious to us - that's why NFS
    ditched the old version and got a new one).  CacheFiles then deletes the old
    file (dentry ffff8800369faac8).
    
    	[kslowd] redo lookup
    	[kslowd] lookup 'Es0g00og0_Nd_XCYe3BOzvXrsBLMlN6aw16M1htaA'
    	[kslowd] next -> ffff88002cd94288 negative
    	[kslowd] create -> ffff88002cd94288{ffff88002cdaf238{ino=148247}}
    
    CacheFiles then redoes the lookup and gets a negative result in a new dentry
    (ffff88002cd94288) which it then creates a file for.
    
    	[kslowd] ==> cachefiles_mark_object_active(,OBJ53)
    	[kslowd] <== cachefiles_mark_object_active() = 0
    	[kslowd] === OBTAINED_OBJECT ===
    	[kslowd] <== cachefiles_walk_to_object() = 0 [148247]
    	[kslowd] <== fscache_object_state_machine() [->OBJECT_AVAILABLE]
    
    The new object is then marked active and the state machine moves to the
    available state - at which point NFS can start filling the object.
    
    	[kslowd] ==> fscache_object_state_machine({OBJ52,OBJECT_RECYCLING,20})
    	[kslowd] ==> fscache_release_object()
    	[kslowd] ==> cachefiles_drop_object({OBJ52,2})
    	[kslowd] ==> cachefiles_delete_object(,OBJ52{ffff8800369faac8})
    
    The old object, meanwhile, goes on with being retired.  If allocation occurs
    first, cachefiles_delete_object() has to wait for dir->d_inode->i_mutex to
    become available before it can continue.
    
    	[kslowd] ==> cachefiles_bury_object(,'@68','Es0g00og0_Nd_XCYe3BOzvXrsBLMlN6aw16M1htaA')
    	[kslowd] remove ffff8800369faac8 from ffff88002ce41bd0
    	[kslowd] unlink stale object
    	EXT4-fs warning (device sda6): ext4_unlink: Inode number mismatch in unlink (148247!=148193)
    	CacheFiles: I/O Error: Unlink failed
    	FS-Cache: Cache cachefiles stopped due to I/O error
    
    CacheFiles then tries to delete the file for the old object, but the dentry it
    has (ffff8800369faac8) no longer points to a valid inode for that directory
    entry, and so ext4_unlink() returns -EIO when de->inode does not match i_ino.
    
    	[kslowd] <== cachefiles_bury_object() = -5
    	[kslowd] <== cachefiles_delete_object() = -5
    	[kslowd] <== fscache_object_state_machine() [->OBJECT_DEAD]
    	[kslowd] ==> fscache_object_state_machine({OBJ53,OBJECT_AVAILABLE,0})
    	[kslowd] <== fscache_object_state_machine() [->OBJECT_ACTIVE]
    
    (Note that the above trace includes extra information beyond that produced by
    the upstream code).
    
    The fix is to note when an object that is being retired has had its object
    deleted preemptively by a replacement object that is being created, and to
    skip the second removal attempt in such a case.
    
    Reported-by: Greg M <gregm@servu.net.au>
    Reported-by: Mark Moseley <moseleymark@gmail.com>
    Reported-by: Romain DEGEZ <romain.degez@smartjog.com>
    Signed-off-by: David Howells <dhowells@redhat.com>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  4. @torvalds

    ACPI: sleep: eliminate duplicate entries in acpisleep_dmi_table[]

    Alex Chiang authored torvalds committed
    Duplicate entries ended up acpisleep_dmi_table[] by accident.
    They don't hurt functionality, but they are ugly, so let's get
    rid of them.
    
    Cc: stable@kernel.org
    Signed-off-by: Alex Chiang <achiang@canonical.com>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  5. @davem330
  6. drm/radeon: Fix 3 regressions - since buffer rework

    Jean Delvare authored Dave Airlie committed
    Commit b4fe945 introduced 3 bugs,
    fix them:
    
    * Use the right command dword for second packet offset in
      RADEON_CNTL_PAINT/BITBLT_MULTI.
    * Don't leak memory if drm_buffer_copy_from_user() fails.
    * Don't call drm_buffer_unprocessed() unless drm_buffer_alloc() and
      drm_buffer_copy_from_user() have been called successfully first.
    
    Signed-off-by: Jean Delvare <khali@linux-fr.org>
    Cc: Pauli Nieminen <suokkos@gmail.com>
    Signed-off-by: Dave Airlie <airlied@redhat.com>
Commits on May 10, 2010
  1. @torvalds

    Merge branch 'fix/hda' of git://git.kernel.org/pub/scm/linux/kernel/g…

    torvalds authored
    …it/tiwai/sound-2.6
    
    * 'fix/hda' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6:
      ALSA: Revert "ALSA: hda/realtek: quirk for D945GCLF2 mainboard"
      ALSA: hda - add support for Lenovo ThinkPad X100e in conexant codec
      ALSA: hda - fix DG45ID SPDIF output
  2. @raven-au @torvalds

    autofs4-2.6.34-rc1 - fix link_count usage

    raven-au authored torvalds committed
    After commit 1f36f77 ("Switch !O_CREAT case to use of do_last()") in
    2.6.34-rc1 autofs direct mounts stopped working.  This is caused by
    current->link_count being 0 when ->follow_link() is called from
    do_filp_open().
    
    I can't work out why this hasn't been seen before Als patch series.
    
    This patch removes the autofs dependence on current->link_count.
    
    Signed-off-by: Ian Kent <raven@themaw.net>
    Cc: Al Viro <viro@zeniv.linux.org.uk>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  3. @torvalds

    Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel…

    torvalds authored
    …/git/jikos/hid
    
    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid:
      HID: fix suspend crash by moving initializations earlier
      HID: sony: fix sony_set_operational_bt
      HID: ntrig: Remove unused macro, TripleTap and QuadTap
      HID: ntrig: TipSwitch for single touch mode touch.
      HID: hidraw: fix numbered reports
      HID: wacom: remove annoying non-error printk
      HID: ntrig: Emit TOUCH with DOUBLETAP for single touch
      HID: add support for cymotion master solar keyboard
      HID: ntrig: explain firmware quirk
      HID: fix N-trig touch panel with recent firmware
  4. @pkgadd @tiwai

    ALSA: Revert "ALSA: hda/realtek: quirk for D945GCLF2 mainboard"

    pkgadd authored tiwai committed
    This reverts commit 7aee674.
    
    As it doesn't seem to be universally valid for all mainboard revisions of
    the D945GCLF2 and breaks snd-hda-intel/ snd-hda-codec-realtek on the Intel
    Corporation "D945GCLF2" (LF94510J.86A.0229.2009.0729.0209) mainboard.
    
    00:1b.0 Audio device [0403]: Intel Corporation N10/ICH 7 Family High Definition Audio Controller [8086:27d8] (rev 01)
    
    Signed-off-by: Stefan Lippers-Hollmann <s.l-h@gmx.de>
    Cc: <stable@kernel.org> [2.6.33]
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
  5. @davem330

    net: Fix FDDI and TR config checks in ipv4 arp and LLC.

    davem330 authored
    Need to check both CONFIG_FOO and CONFIG_FOO_MODULE
    
    Signed-off-by: David S. Miller <davem@davemloft.net>
  6. @davem330

    IPv4: unresolved multicast route cleanup

    Andreas Meissner authored davem330 committed
    Fixes the expiration timer for unresolved multicast route entries.
    In case new multicast routing requests come in faster than the 
    expiration timeout occurs (e.g. zap through multicast TV streams), the 
    timer is prevented from being called at time for already existing entries.
    
    As the single timer is resetted to default whenever a new entry is made, 
    the timeout for existing unresolved entires are missed and/or not 
    updated. As a consequence new requests are denied when the limit of 
    unresolved entries has been reached because old entries live longer than 
    they are supposed to.
    
    The solution is to reset the timer only for the first unresolved entry 
    in the multicast routing cache. All other timers are already set and 
    updated correctly within the timer function itself by now.
    
    Signed-off by: Andreas Meissner <andreas.meissner@sphairon.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
  7. @nikel123 @tiwai

    ALSA: hda - add support for Lenovo ThinkPad X100e in conexant codec

    nikel123 authored tiwai committed
    Ideapad quirks working for my ThinkPad X100e (microphone is not tested).
    
    Signed-off-by: Andrej Gelenberg <andrej.gelenberg@udo.edu>
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
  8. @torvalds

    Linux 2.6.34-rc7

    torvalds authored
  9. @torvalds

    Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixe…

    torvalds authored
    …s-2.6
    
    * git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6:
      [SCSI] Retry commands with UNIT_ATTENTION sense codes to fix ext3/ext4 I/O error
      [SCSI] Enable retries for SYNCRONIZE_CACHE commands to fix I/O error
      [SCSI] scsi_debug: virtual_gb ignores sector_size
      [SCSI] libiscsi: regression: fix header digest errors
      [SCSI] fix locking around blk_abort_request()
      [SCSI] advansys: fix narrow board error path
  10. @fenrus75 @torvalds

    cpuidle: Fix incorrect optimization

    fenrus75 authored torvalds committed
    commit 672917d ("cpuidle: menu governor: reduce latency on exit")
    added an optimization, where the analysis on the past idle period moved
    from the end of idle, to the beginning of the new idle.
    
    Unfortunately, this optimization had a bug where it zeroed one key
    variable for new use, that is needed for the analysis.  The fix is
    simple, zero the variable after doing the work from the previous idle.
    
    During the audit of the code that found this issue, another issue was
    also found; the ->measured_us data structure member is never set, a
    local variable is always used instead.
    
    Signed-off-by: Arjan van de Ven <arjan@linux.intel.com>
    Cc: Corrado Zoccolo <czoccolo@gmail.com>
    Cc: stable@kernel.org
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Commits on May 7, 2010
  1. HID: fix suspend crash by moving initializations earlier

    Alan Stern authored Jiri Kosina committed
    Although the usbhid driver allocates its usbhid structure in the probe
    routine, several critical fields in that structure don't get
    initialized until usbhid_start().  However if report descriptor
    parsing fails then usbhid_start() is never called.  This leads to
    problems during system suspend -- the system will freeze.
    
    This patch (as1378) fixes the bug by moving the initialization
    statements up into usbhid_probe().
    
    Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
    Reported-by: Bruno Prémont <bonbons@linux-vserver.org>
    Tested-By: Bruno Prémont <bonbons@linux-vserver.org>
    Signed-off-by: Jiri Kosina <jkosina@suse.cz>
  2. @torvalds

    Merge branch 'for-linus' of git://neil.brown.name/md

    torvalds authored
    * 'for-linus' of git://neil.brown.name/md:
      md: restore ability of spare drives to spin down.
      md/raid6: Fix raid-6 read-error correction in degraded state
  3. @torvalds

    Merge branch 'urgent' of git://git.kernel.org/pub/scm/linux/kernel/gi…

    torvalds authored
    …t/brodo/pcmcia-2.6
    
    * 'urgent' of git://git.kernel.org/pub/scm/linux/kernel/git/brodo/pcmcia-2.6:
      pcmcia: fix compilation after 16bit state locking changes
      pcmcia: order userspace suspend and resume requests
      pcmcia: avoid pccard_validate_cis failure in resume callpath
  4. @torvalds

    Merge branch 'for-linus' of git://git.kernel.dk/linux-2.6-block

    torvalds authored
    * 'for-linus' of git://git.kernel.dk/linux-2.6-block:
      blk-cgroup: Fix an RCU warning in blkiocg_create()
      blk-cgroup: Fix RCU correctness warning in cfq_init_queue()
      drbd: don't expose failed local READ to upper layers
  5. @torvalds

    Merge branch 'drm-linus' of git://git.kernel.org/pub/scm/linux/kernel…

    torvalds authored
    …/git/airlied/drm-2.6
    
    * 'drm-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6:
      drm/ttm: Remove the ttm_bo_block_reservation() function.
      drm/ttm: Remove some leftover debug messages.
      drm/radeon: async event synchronization for drmWaitVblank
  6. @stintel @torvalds

    virtio: initialize earlier

    stintel authored torvalds committed
    Move initialization of the virtio framework before the initialization of
    mtd, so that block2mtd can be used on virtio-based block devices.
    
    Addresses https://bugzilla.kernel.org/show_bug.cgi?id=15644
    
    Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
    Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
    Cc: stable@kernel.org
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  7. @torvalds

    Merge branch 'bugfixes' of git://git.linux-nfs.org/projects/trondmy/n…

    torvalds authored
    …fs-2.6
    
    * 'bugfixes' of git://git.linux-nfs.org/projects/trondmy/nfs-2.6:
      NFS: Fix RCU issues in the NFSv4 delegation code
      NFSv4: Fix the locking in nfs_inode_reclaim_delegation()
  8. @torvalds

    Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/g…

    torvalds authored
    …it/lenb/linux-acpi-2.6
    
    * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6:
      ACPI: sleep: init_set_sci_en_on_resume for Dell Studio 155x
      ACPI: fix acpi_hest_firmware_first_pci() caused oops
      sbshc: acpi_device_class "smbus_host_controller" too long
      power_meter: acpi_device_class "power_meter_resource" too long
      acpi_pad: "processor_aggregator" name too long
      PNP: don't check for conflicts with bridge windows
      ACPI: DMI init_set_sci_en_on_resume for multiple Lenovo ThinkPads
      PNPACPI: compute Address Space length rather than using _LEN
      ACPI: silence kmemcheck false positive
  9. @torvalds

    Merge branch 'v4l_for_2.6.34' of git://git.kernel.org/pub/scm/linux/k…

    torvalds authored
    …ernel/git/mchehab/linux-2.6
    
    * 'v4l_for_2.6.34' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6:
      V4L/DVB: pxa_camera: move fifo reset direct before dma start
      V4L/DVB: video: testing unsigned for less than 0
      V4L/DVB: mx1-camera: compile fix
      V4L/DVB: budget: Oops: "BUG: unable to handle kernel NULL pointer 	dereference"
      V4L/DVB: ngene: Workaround for stuck DiSEqC pin
      V4L/DVB: saa7146: fix regression of the av7110/budget-av driver
      V4L/DVB: v4l: fix config dependencies: mxb and saa7191 are V4L2 drivers, not V4L1
      V4L/DVB: feature-removal: announce videotext.h removal
      V4L/DVB: V4L - vpfe capture - fix for kernel crash
      V4L/DVB: gspca: make usb id 0461:0815 get handled by the right driver
      V4L/DVB: gspca - stv06xx: Remove the 046d:08da from the stv06xx driver
      V4L/DVB: gspca - sn9c20x: Correct onstack wait_queue_head declaration
      V4L/DVB: saa7146: fix up bytesperline if it is an impossible value
      V4L/DVB: V4L: vpfe_capture - free ccdc_lock when memory allocation fails
      V4L/DVB: V4L - Makfile:Removed duplicate entry of davinci
      V4L/DVB: omap24xxcam: potential buffer overflow
  10. @torvalds

    Merge branch 'core-fixes-for-linus' of git://git.kernel.org/pub/scm/l…

    torvalds authored
    …inux/kernel/git/tip/linux-2.6-tip
    
    * 'core-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
      rcu: create rcu_my_thread_group_empty() wrapper
      memcg: css_id() must be called under rcu_read_lock()
      cgroup: Check task_lock in task_subsys_state()
      sched: Fix an RCU warning in print_task()
      cgroup: Fix an RCU warning in alloc_css_id()
      cgroup: Fix an RCU warning in cgroup_path()
      KEYS: Fix an RCU warning in the reading of user keys
      KEYS: Fix an RCU warning
  11. @linvjw

    mac80211: remove association work when processing deauth request

    Reinette Chatre authored linvjw committed
    In https://bugzilla.kernel.org/show_bug.cgi?id=15794 a user encountered the
    following:
    
    [18967.469098] wlan0: authenticated
    [18967.472527] wlan0: associate with 00:1c:10:b8:e3:ea (try 1)
    [18967.472585] wlan0: deauthenticating from 00:1c:10:b8:e3:ea by local choice (reason=3)
    [18967.672057] wlan0: associate with 00:1c:10:b8:e3:ea (try 2)
    [18967.872357] wlan0: associate with 00:1c:10:b8:e3:ea (try 3)
    [18968.072960] wlan0: association with 00:1c:10:b8:e3:ea timed out
    [18968.076890] ------------[ cut here ]------------
    [18968.076898] WARNING: at net/wireless/mlme.c:341 cfg80211_send_assoc_timeout+0xa8/0x140()
    [18968.076900] Hardware name: GX628
    [18968.076924] Pid: 1408, comm: phy0 Not tainted 2.6.34-rc4-00082-g250541f-dirty #3
    [18968.076926] Call Trace:
    [18968.076931]  [<ffffffff8103459e>] ?  warn_slowpath_common+0x6e/0xb0
    [18968.076934]  [<ffffffff8157c2d8>] ?  cfg80211_send_assoc_timeout+0xa8/0x140
    [18968.076937]  [<ffffffff8103ff8b>] ? mod_timer+0x10b/0x180
    [18968.076940]  [<ffffffff8158f0fc>] ?  ieee80211_assoc_done+0xbc/0xc0
    [18968.076943]  [<ffffffff81590d53>] ?  ieee80211_work_work+0x553/0x11c0
    [18968.076945]  [<ffffffff8102d931>] ? finish_task_switch+0x41/0xb0
    [18968.076948]  [<ffffffff81590800>] ?  ieee80211_work_work+0x0/0x11c0
    [18968.076951]  [<ffffffff810476fb>] ? worker_thread+0x13b/0x210
    [18968.076954]  [<ffffffff8104b6b0>] ?  autoremove_wake_function+0x0/0x30
    [18968.076956]  [<ffffffff810475c0>] ? worker_thread+0x0/0x210
    [18968.076959]  [<ffffffff8104b21e>] ? kthread+0x8e/0xa0
    [18968.076962]  [<ffffffff810031f4>] ?  kernel_thread_helper+0x4/0x10
    [18968.076964]  [<ffffffff8104b190>] ? kthread+0x0/0xa0
    [18968.076966]  [<ffffffff810031f0>] ?  kernel_thread_helper+0x0/0x10
    [18968.076968] ---[ end trace 8aa6265f4b1adfe0 ]---
    
    As explained by Johannes Berg <johannes@sipsolutions.net>:
    
    We authenticate successfully, and then userspace requests association.
    Then we start that process, but the AP doesn't respond. While we're
    still waiting for an AP response, userspace asks for a deauth. We do
    the deauth, but don't abort the association work. Then once the
    association work times out we tell cfg80211, but it no longer wants
    to know since for all it is concerned we accepted the deauth that
    also kills the association attempt.
    
    Fix this by, upon receipt of deauth request, removing the association work
    and continuing to send the deauth.
    
    Unfortunately the user reporting the issue is not able to reproduce this
    problem anymore and cannot verify this fix. This seems like a well understood
    issue though and I thus present the patch.
    
    Bug-identified-by: Johannes Berg <johannes@sipsolutions.net>
    Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
    Signed-off-by: John W. Linville <linville@tuxdriver.com>
  12. @chunkeey @linvjw

    ar9170: wait for asynchronous firmware loading

    chunkeey authored linvjw committed
    This patch fixes a regression introduced by the following patch:
    "ar9170: load firmware asynchronously"
    
    When we kick off a firmware loading request and then unbind,
    or disconnect the usb device right away, we get into trouble:
    
    > ------------[ cut here ]------------
    > WARNING: at lib/kref.c:44 kref_get+0x1c/0x20()
    > Hardware name: 18666GU
    > Modules linked in: ar9170usb [...]
    > Pid: 6588, comm: firmware/ar9170 Not tainted 2.6.34-rc5-wl #43
    > Call Trace:
    > [<c102b05e>] ? warn_slowpath_common+0x6e/0xb0
    > [<c117c93c>] ? kref_get+0x1c/0x20
    > [<c102b0b3>] ? warn_slowpath_null+0x13/0x20
    > [<c117c93c>] ? kref_get+0x1c/0x20
    > [<c117bb2f>] ? kobject_get+0xf/0x20
    > [<c124d630>] ? get_device+0x10/0x20
    > [<c124e5a0>] ? device_add+0x60/0x530
    > [<c117b8b5>] ? kobject_init+0x25/0xa0
    > [<c12569f9>] ? _request_firmware+0x139/0x3e0
    > [<c1256cc0>] ? request_firmware_work_func+0x20/0x70
    > [<c1256ca0>] ? request_firmware_work_func+0x0/0x70
    > [<c103ff24>] ? kthread+0x74/0x80
    > [<c103feb0>] ? kthread+0x0/0x80
    > [<c1003136>] ? kernel_thread_helper+0x6/0x10
    >---[ end trace 2d50bd818f64a1b7 ]---
    - followed by a random Oops -
    
    Avoid that by waiting for the firmware loading to finish
    (whether successfully or not) before the unbind in
    ar9170_usb_disconnect.
    
    Reported-by: Johannes Berg <johannes@sipsolutions.net>
    Bug-fixed-by: Johannes Berg <johannes@sipsolutions.net>
    Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
    Signed-off-by: John W. Linville <linville@tuxdriver.com>
  13. @neilbrown

    md: restore ability of spare drives to spin down.

    neilbrown authored
    Some time ago we stopped the clean/active metadata updates
    from being written to a 'spare' device in most cases so that
    it could spin down and say spun down.  Device failure/removal
    etc are still recorded on spares.
    
    However commit 51d5668 broke this 50% of the time,
    depending on whether the event count is even or odd.
    The change log entry said:
    
       This means that the alignment between 'odd/even' and
        'clean/dirty' might take a little longer to attain,
    
    how ever the code makes no attempt to create that alignment, so it
    could take arbitrarily long.
    
    So when we find that clean/dirty is not aligned with odd/even,
    force a second metadata-update immediately.  There are already cases
    where a second metadata-update is needed immediately (e.g. when a
    device fails during the metadata update).  We just piggy-back on that.
    
    Reported-by: Joe Bryant <tenminjoe@yahoo.com>
    Signed-off-by: NeilBrown <neilb@suse.de>
    Cc: stable@kernel.org
  14. @neilbrown

    md/raid6: Fix raid-6 read-error correction in degraded state

    Gabriele A. Trombetti authored neilbrown committed
    Fix: Raid-6 was not trying to correct a read-error when in
    singly-degraded state and was instead dropping one more device, going to
    doubly-degraded state. This patch fixes this behaviour.
    
    Tested-by: Janos Haar <janos.haar@netcenter.hu>
    Signed-off-by: Gabriele A. Trombetti <g.trombetti.lkrnl1213@logicschema.com>
    Reported-by: Janos Haar <janos.haar@netcenter.hu>
    Signed-off-by: NeilBrown <neilb@suse.de>
    Cc: stable@kernel.org
  15. @tiwai

    ALSA: hda - fix DG45ID SPDIF output

    Wu Fengguang authored tiwai committed
    This reverts part of commit 52dc438, in order to fix a regression:
    broken SPDIF output on Intel DG45FC motherboard (IDT 92HD73E1X5 codec).
    
    	--- DG45FC-IDT-codec-2.6.32  (SPDIF OK)
    	+++ DG45FC-IDT-codec-2.6.33  (SPDIF broken)
    
    	 Node 0x22 [Pin Complex] wcaps 0x400301: Stereo Digital
    	   Pincap 0x00000010: OUT
    	-  Pin Default 0x40f000f0: [N/A] Other at Ext N/A
    	-    Conn = Unknown, Color = Unknown
    	-    DefAssociation = 0xf, Sequence = 0x0
    	-  Pin-ctls: 0x00:
    	+  Pin Default 0x014510a0: [Jack] SPDIF Out at Ext Rear
    	+    Conn = Optical, Color = Black
    	+    DefAssociation = 0xa, Sequence = 0x0
    	+  Pin-ctls: 0x40: OUT
    	   Connection: 3
    	      0x25* 0x20 0x21
    	 Node 0x23 [Pin Complex] wcaps 0x400301: Stereo Digital
    	   Pincap 0x00000010: OUT
    	-  Pin Default 0x01451140: [Jack] SPDIF Out at Ext Rear
    	+  Pin Default 0x074510b0: [Jack] SPDIF Out at Ext Rear Panel
    	     Conn = Optical, Color = Black
    	-    DefAssociation = 0x4, Sequence = 0x0
    	-    Misc = NO_PRESENCE
    	-  Pin-ctls: 0x40: OUT
    	+    DefAssociation = 0xb, Sequence = 0x0
    	+  Pin-ctls: 0x00:
    	   Connection: 3
    	      0x26* 0x20 0x21
    
    Cc: <stable@kernel.org>
    Cc: Alexey Fisher <bug-track@fisher-privat.net>
    Tested-by: David Härdeman <david@hardeman.nu>
    Signed-off-by: Wu Fengguang <fengguang.wu@intel.com>
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
  16. blk-cgroup: Fix an RCU warning in blkiocg_create()

    Li Zefan authored Jens Axboe committed
    with CONFIG_PROVE_RCU=y, a warning can be triggered:
    
      # mount -t cgroup -o blkio xxx /mnt
      # mkdir /mnt/subgroup
    
    ...
    kernel/cgroup.c:4442 invoked rcu_dereference_check() without protection!
    ...
    
    To fix this, we avoid caling css_depth() here, which is a bit simpler
    than the original code.
    
    Signed-off-by: Li Zefan <lizf@cn.fujitsu.com>
    Acked-by: Vivek Goyal <vgoyal@redhat.com>
    Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
  17. @bmork @davem330

    ipv4: udp: fix short packet and bad checksum logging

    bmork authored davem330 committed
    commit 2783ef2 moved the initialisation of saddr and daddr after
    pskb_may_pull() to avoid a potential data corruption.  Unfortunately
    also placing it after the short packet and bad checksum error paths,
    where these variables are used for logging.  The result is bogus
    output like
    
    [92238.389505] UDP: short packet: From 2.0.0.0:65535 23715/178 to 0.0.0.0:65535
    
    Moving the saddr and daddr initialisation above the error paths, while still
    keeping it after the pskb_may_pull() to keep the fix from commit 2783ef2.
    
    Signed-off-by: Bjørn Mork <bjorn@mork.no>
    Cc: stable@kernel.org
    Acked-by: Eric Dumazet <eric.dumazet@gmail.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
  18. @lenb

    Merge branches 'bugzilla-14337', 'bugzilla-14998', 'bugzilla-15407', …

    lenb authored
    …'bugzilla-15903' and 'misc-2.6.34' into release
Commits on May 6, 2010
  1. drm/ttm: Remove the ttm_bo_block_reservation() function.

    Thomas Hellstrom authored Dave Airlie committed
    It's unused and buggy in its current form, since it can place a bo
    in the reserved state without removing it from lru lists.
    
    Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
    Signed-off-by: Dave Airlie <airlied@redhat.com>
Something went wrong with that request. Please try again.