Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Commits on Jan 21, 2010
  1. @torvalds

    Linux 2.6.33-rc5

    torvalds authored
  2. @torvalds

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

    torvalds authored
    …inux/kernel/git/tip/linux-2.6-tip
    
    * 'perf-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
      perf: x86: Add support for the ANY bit
      perf: Change the is_software_event() definition
      perf: Honour event state for aux stream data
      perf: Fix perf_event_do_pending() fallback callsite
      perf kmem: Print usage help for unknown commands
      perf kmem: Increase "Hit" column length
      hw-breakpoints, perf: Fix broken mmiotrace due to dr6 by reference change
      perf timechart: Use tid not pid for COMM change
  3. @torvalds

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

    torvalds authored
    …linux/kernel/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: Reassign prev and switch_count when reacquire_kernel_lock() fail
      sched: Fix vmark regression on big machines
  4. @torvalds

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

    torvalds authored
    …ernel/git/jgarzik/libata-dev
    
    * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev:
      libata: retry FS IOs even if it has failed with AC_ERR_INVALID
  5. @torvalds

    Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty-2.6

    torvalds authored
    * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty-2.6:
      tty: fix race in tty_fasync
      serial: serial_cs: oxsemi quirk breaks resume
      serial: imx: bit &/| confusion
      serial: Fix crash if the minimum rate of the device is > 9600 baud
      serial-core: resume serial hardware with no_console_suspend
      serial: 8250_pnp: use wildcard for serial Wacom tablets
      nozomi: quick fix for the close/close bug
      compat_ioctl: Supress "unknown cmd" message on serial /dev/console
  6. @torvalds

    Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging-2.6

    torvalds authored
    * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging-2.6:
      Staging: hv: fix smp problems in the hyperv core code
      Staging: et131x: Fix 2.6.33rc1 regression in et131x
      Staging: asus_oled: fix oops in 2.6.32.2
  7. @torvalds

    Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-cor…

    torvalds authored
    …e-2.6
    
    * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6:
      Revert "sysdev: fix prototype for memory_sysdev_class show/store functions"
      driver-core: fix devtmpfs crash on s390
  8. @torvalds

    Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6

    torvalds authored
    * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6:
      USB: isp1362: fix build failure on ARM systems via irq_flags cleanup
      USB: isp1362: better 64bit printf warning fixes
      USB: fix usbstorage for 2770:915d delivers no FAT
      USB: Fix level of isp1760 Reloading ptd error message
      USB: FHCI: avoid NULL pointer dereference
      USB: Fix duplicate sysfs problem after device reset.
      USB: add speed values for USB 3.0 and wireless controllers
      USB: add missing delay during remote wakeup
      USB: EHCI & UHCI: fix race between root-hub suspend and port resume
      USB: EHCI: fix handling of unusual interrupt intervals
      USB: Don't use GFP_KERNEL while we cannot reset a storage device
      USB: fix bitmask merge error
      usb: serial: fix memory leak in generic driver
      USB: serial: fix USB serial fix kfifo_len locking
  9. @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:
      fs/bio.c: fix shadows sparse warning
      drbd: The kernel code is now equivalent to out of tree release 8.3.7
      drbd: Allow online resizing of DRBD devices while peer not reachable (needs to be explicitly forced)
      drbd: Don't go into StandAlone mode when authentification failes because of network error
      drivers/block/drbd/drbd_receiver.c: correct NULL test
      cfq-iosched: Respect ioprio_class when preempting
      genhd: overlapping variable definition
      block: removed unused as_io_context
      DM: Fix device mapper topology stacking
      block: bdev_stack_limits wrapper
      block: Fix discard alignment calculation and printing
      block: Correct handling of bottom device misaligment
      drbd: check on CONFIG_LBDAF, not LBD
      drivers/block/drbd: Correct NULL test
      drbd: Silenced an assert that could triggered after changing write ordering method
      drbd: Kconfig fix
      drbd: Fix for a race between IO and a detach operation [Bugz 262]
      drbd: Use drbd_crypto_is_hash() instead of an open coded check
  10. @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: (23 commits)
      ACPI: delete acpi_processor_power_verify_c2()
      ACPI: allow C3 > 1000usec
      ACPI: enable C2 and Turbo-mode on Nehalem notebooks on A/C
      ACPI: power_meter: remove double kfree()
      ACPI: processor: restrict early _PDC to opt-in platforms
      ACPI: Fix unused variable warning in sbs.c
      acpi: make ACPI device id constant
      sony-laptop - fix using of uninitialized variable
      ACPI: Fix section mismatch error for acpi_early_processor_set_pdc()
      eeepc-laptop: disable wireless hotplug for 1201N
      eeepc-laptop: add hotplug_disable parameter
      eeepc-laptop: switch to using sparse keymap library
      eeepc-laptop: dmi blacklist to disable pci hotplug code
      eeepc-laptop: disable cpu speed control on EeePC 701
      ACPI: don't cond_resched if irq is disabled
      ACPI: Remove unnecessary cast.
      ACPI: Advertise to BIOS in _OSC: _OST on _PPC changes
      ACPI: EC: Add wait for irq storm
      ACPI: SBS: Move SBS HC callback to faster Notify queue
      x86, ACPI: delete acpi_boot_table_init() return value
      ...
  11. @torvalds

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

    torvalds authored
    …/git/ecryptfs/ecryptfs-2.6
    
    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ecryptfs/ecryptfs-2.6:
      ecryptfs: use after free
      ecryptfs: Eliminate useless code
      ecryptfs: fix interpose/interpolate typos in comments
      ecryptfs: pass matching flags to interpose as defined and used there
      ecryptfs: remove unnecessary d_drop calls in ecryptfs_link
      ecryptfs: don't ignore return value from lock_rename
      ecryptfs: initialize private persistent file before dereferencing pointer
      eCryptfs: Remove mmap from directory operations
      eCryptfs: Add getattr function
      eCryptfs: Use notify_change for truncating lower inodes
  12. @torvalds

    Merge git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable

    torvalds authored
    * git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable:
      Btrfs: fix possible panic on unmount
      Btrfs: deal with NULL acl sent to btrfs_set_acl
      Btrfs: fix regression in orphan cleanup
      Btrfs: Fix race in btrfs_mark_extent_written
      Btrfs, fix memory leaks in error paths
      Btrfs: align offsets for btrfs_ordered_update_i_size
      btrfs: fix missing last-entry in readdir(3)
  13. @torvalds

    vmalloc: remove BUG_ON due to racy counting of VM_LAZY_FREE

    Yongseok Koh authored torvalds committed
    In free_unmap_area_noflush(), va->flags is marked as VM_LAZY_FREE first, and
    then vmap_lazy_nr is increased atomically.
    
    But, in __purge_vmap_area_lazy(), while traversing of vmap_are_list, nr
    is counted by checking VM_LAZY_FREE is set to va->flags.  After counting
    the variable nr, kernel reads vmap_lazy_nr atomically and checks a
    BUG_ON condition whether nr is greater than vmap_lazy_nr to prevent
    vmap_lazy_nr from being negative.
    
    The problem is that, if interrupted right after marking VM_LAZY_FREE,
    increment of vmap_lazy_nr can be delayed.  Consequently, BUG_ON
    condition can be met because nr is counted more than vmap_lazy_nr.
    
    It is highly probable when vmalloc/vfree are called frequently.  This
    scenario have been verified by adding delay between marking VM_LAZY_FREE
    and increasing vmap_lazy_nr in free_unmap_area_noflush().
    
    Even the vmap_lazy_nr is for checking high watermark, it never be the
    strict watermark.  Although the BUG_ON condition is to prevent
    vmap_lazy_nr from being negative, vmap_lazy_nr is signed variable.  So,
    it could go down to negative value temporarily.
    
    Consequently, removing the BUG_ON condition is proper.
    
    A possible BUG_ON message is like the below.
    
       kernel BUG at mm/vmalloc.c:517!
       invalid opcode: 0000 [#1] SMP
       EIP: 0060:[<c04824a4>] EFLAGS: 00010297 CPU: 3
       EIP is at __purge_vmap_area_lazy+0x144/0x150
       EAX: ee8a8818 EBX: c08e77d4 ECX: e7c7ae40 EDX: c08e77ec
       ESI: 000081fe EDI: e7c7ae60 EBP: e7c7ae64 ESP: e7c7ae3c
       DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068
       Call Trace:
       [<c0482ad9>] free_unmap_vmap_area_noflush+0x69/0x70
       [<c0482b02>] remove_vm_area+0x22/0x70
       [<c0482c15>] __vunmap+0x45/0xe0
       [<c04831ec>] vmalloc+0x2c/0x30
       Code: 8d 59 e0 eb 04 66 90 89 cb 89 d0 e8 87 fe ff ff 8b 43 20 89 da 8d 48 e0 8d 43 20 3b 04 24 75 e7 fe 05 a8 a5 a3 c0 e9 78 ff ff ff <0f> 0b eb fe 90 8d b4 26 00 00 00 00 56 89 c6 b8 ac a5 a3 c0 31
       EIP: [<c04824a4>] __purge_vmap_area_lazy+0x144/0x150 SS:ESP 0068:e7c7ae3c
    
    [ See also http://marc.info/?l=linux-kernel&m=126335856228090&w=2 ]
    
    Signed-off-by: Yongseok Koh <yongseok.koh@samsung.com>
    Reviewed-by: Minchan Kim <minchan.kim@gmail.com>
    Cc: Nick Piggin <npiggin@suse.de>
    Cc: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  14. @torvalds

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

    torvalds authored
    …rnel/git/lethal/sh-2.6
    
    * 'sh/for-2.6.33' of git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6:
      sh64: wire up sys_accept4.
      sh: unwire sys_recvmmsg.
      sh: ms7724: Correct sh-eth EEPROM polling timeout.
  15. @torvalds

    Merge master.kernel.org:/home/rmk/linux-2.6-arm

    torvalds authored
    * master.kernel.org:/home/rmk/linux-2.6-arm:
      ARM: 5888/1: arm: Update comments in cacheflush.h and remove unnecessary V6 and V7 comments
      ARM: 5886/1: arm: Fix cpu_proc_fin() for proc-v7.S and make kexec work
      ARM: 5885/1: arm: Flush TLB entries in setup_mm_for_reboot()
      ARM: 5884/1: arm: Fix DCC console for v7
      ARM: 5883/1: Revert "disable NX support for OABI-supporting kernels"
      ARM: 5882/1: ARM: Fix uncompress code compile for different defines of flush(void)
      ARM: fix badly placed mach/plat entries in Kconfig & Makefile
  16. perf: x86: Add support for the ANY bit

    Stephane Eranian authored Ingo Molnar committed
    Propagate the ANY bit into the fixed counter config for v3 and higher.
    
    Signed-off-by: Stephane Eranian <eranian@google.com>
    [a.p.zijlstra@chello.nl: split from larger patch]
    Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
    LKML-Reference: <4b5430c6.0f975e0a.1bf9.ffff85fe@mx.google.com>
    Signed-off-by: Ingo Molnar <mingo@elte.hu>
  17. perf: Change the is_software_event() definition

    Peter Zijlstra authored Ingo Molnar committed
    The is_software_event() definition always confuses me because its an
    exclusive expression, make it an inclusive one.
    
    Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
    LKML-Reference: <new-submission>
    Signed-off-by: Ingo Molnar <mingo@elte.hu>
  18. perf: Honour event state for aux stream data

    Peter Zijlstra authored Ingo Molnar committed
    Anton reported that perf record kept receiving events even after calling
    ioctl(PERF_EVENT_IOC_DISABLE). It turns out that FORK,COMM and MMAP
    events didn't respect the disabled state and kept flowing in.
    
    Reported-by: Anton Blanchard <anton@samba.org>
    Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
    Tested-by: Anton Blanchard <anton@samba.org>
    LKML-Reference: <1263459187.4244.265.camel@laptop>
    CC: stable@kernel.org
    Signed-off-by: Ingo Molnar <mingo@elte.hu>
  19. perf: Fix perf_event_do_pending() fallback callsite

    Peter Zijlstra authored Ingo Molnar committed
    Paul questioned the context in which we should call
    perf_event_do_pending(). After looking at that I found that it should be
    called from IRQ context these days, however the fallback call-site is
    placed in softirq context. Ammend this by placing the callback in the IRQ
    timer path.
    
    Reported-by: Paul Mackerras <paulus@samba.org>
    Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
    LKML-Reference: <1263374859.4244.192.camel@laptop>
    Signed-off-by: Ingo Molnar <mingo@elte.hu>
  20. @yongzhang

    sched: Reassign prev and switch_count when reacquire_kernel_lock() fail

    yongzhang authored Ingo Molnar committed
    Assume A->B schedule is processing, if B have acquired BKL before and it
    need reschedule this time. Then on B's context, it will go to
    need_resched_nonpreemptible for reschedule. But at this time, prev and
    switch_count are related to A. It's wrong and will lead to incorrect
    scheduler statistics.
    
    Signed-off-by: Yong Zhang <yong.zhang0@gmail.com>
    Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
    LKML-Reference: <2674af741001102238w7b0ddcadref00d345e2181d11@mail.gmail.com>
    Signed-off-by: Ingo Molnar <mingo@elte.hu>
  21. sched: Fix vmark regression on big machines

    Mike Galbraith authored Ingo Molnar committed
    SD_PREFER_SIBLING is set at the CPU domain level if power saving isn't
    enabled, leading to many cache misses on large machines as we traverse
    looking for an idle shared cache to wake to.  Change the enabler of
    select_idle_sibling() to SD_SHARE_PKG_RESOURCES, and enable same at the
    sibling domain level.
    
    Reported-by: Lin Ming <ming.m.lin@intel.com>
    Signed-off-by: Mike Galbraith <efault@gmx.de>
    Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
    LKML-Reference: <1262612696.15495.15.camel@marge.simson.net>
    Signed-off-by: Ingo Molnar <mingo@elte.hu>
Commits on Jan 20, 2010
  1. @gregkh

    USB: isp1362: fix build failure on ARM systems via irq_flags cleanup

    Lothar Wassmann authored gregkh committed
    There was some left over #ifdef ARM logic that is outdated but no one
    really noticed.  So instead of relying on this tricky logic, properly
    load and utilize the platform irq_flags resources.
    
    Reported-by: Ben Hutchings <ben@decadent.org.uk>
    Signed-off-by: Lothar Wassmann <LW@KARO-electronics.de>
    Signed-off-by: Mike Frysinger <vapier@gentoo.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
  2. @gregkh

    USB: isp1362: better 64bit printf warning fixes

    Lothar Wassmann authored gregkh committed
    Some hosts that treat the return value of sizeof differently from unsigned
    long might still hit warnings.  So use %zu for sizeof() values.  This is a
    better version of the previous commit b0a9cf2.
    
    Signed-off-by: Lothar Wassmann <LW@KARO-electronics.de>
    Signed-off-by: Mike Frysinger <vapier@gentoo.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
  3. @dopplershift @gregkh

    USB: fix usbstorage for 2770:915d delivers no FAT

    dopplershift authored gregkh committed
    Resolves kernel.org bug 14914.
    
    Remove entry for 2770:915d (usb digital camera with mass storage
    support) from unusual_devs.h. The fix triggered by the entry causes
    the file system on the camera to be completely inaccessible (no
    partition table, the device is not mountable).
    
    The patch works, but let me clarify a few things about it.  All the
    patch does is remove the entry for this device from the
    drivers/usb/storage/unusual_devs.h, which is supposed to help with a
    problem with the device's reported size (I think).  I'm pretty sure it
    was originally added for a reason, so I'm not sure removing it won't
    cause other problems to reappear.  Also, I should note that this
    unusual_devs.h entry was present (and activating workarounds) in
    2.6.29, but in that version everything works fine.  Starting with
    2.6.30, things no longer work.
    
    Signed-off-by: Ryan May <rmay31@gmail.com>
    Cc: Rohan Hart <rohan.hart17@gmail.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
  4. @gregkh

    USB: Fix level of isp1760 Reloading ptd error message

    Colin Tuckley authored gregkh committed
    This error message is not actually an error, it's an information
    message. It is triggered when a transfer which ended in a NAQ is
    retried successfully by the hardware.
    
    Signed-off-by: Colin Tuckley <colin.tuckley@arm.com>
    Cc: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
    Cc: Catalin Marinas <catalin.marinas@arm.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
  5. @alexb0 @gregkh

    USB: FHCI: avoid NULL pointer dereference

    alexb0 authored gregkh committed
    Assign fhci only if usb is not NULL.
    
    Signed-off-by: Alexander Beregalov <a.beregalov@gmail.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
  6. @gregkh

    USB: Fix duplicate sysfs problem after device reset.

    Sarah Sharp authored gregkh committed
    Borislav Petkov reports issues with duplicate sysfs endpoint files after a
    resume from a hibernate.  It turns out that the code to support alternate
    settings under xHCI has issues when a device with a non-default alternate
    setting is reset during the hibernate:
    
    [  427.681810] Restarting tasks ...
    [  427.681995] hub 1-0:1.0: state 7 ports 6 chg 0004 evt 0000
    [  427.682019] usb usb3: usb resume
    [  427.682030] ohci_hcd 0000:00:12.0: wakeup root hub
    [  427.682191] hub 1-0:1.0: port 2, status 0501, change 0000, 480 Mb/s
    [  427.682205] usb 1-2: usb wakeup-resume
    [  427.682226] usb 1-2: finish reset-resume
    [  427.682886] done.
    [  427.734658] ehci_hcd 0000:00:12.2: port 2 high speed
    [  427.734663] ehci_hcd 0000:00:12.2: GetStatus port 2 status 001005 POWER sig=se0 PE CONNECT
    [  427.746682] hub 3-0:1.0: hub_reset_resume
    [  427.746693] hub 3-0:1.0: trying to enable port power on non-switchable hub
    [  427.786715] usb 1-2: reset high speed USB device using ehci_hcd and address 2
    [  427.839653] ehci_hcd 0000:00:12.2: port 2 high speed
    [  427.839666] ehci_hcd 0000:00:12.2: GetStatus port 2 status 001005 POWER sig=se0 PE CONNECT
    [  427.847717] ohci_hcd 0000:00:12.0: GetStatus roothub.portstatus [1] = 0x00010100 CSC PPS
    [  427.915497] hub 1-2:1.0: remove_intf_ep_devs: if: ffff88022f9e8800 ->ep_devs_created: 1
    [  427.915774] hub 1-2:1.0: remove_intf_ep_devs: bNumEndpoints: 1
    [  427.915934] hub 1-2:1.0: if: ffff88022f9e8800: endpoint devs removed.
    [  427.916158] hub 1-2:1.0: create_intf_ep_devs: if: ffff88022f9e8800 ->ep_devs_created: 0, ->unregistering: 0
    [  427.916434] hub 1-2:1.0: create_intf_ep_devs: bNumEndpoints: 1
    [  427.916609]  ep_81: create, parent hub
    [  427.916632] ------------[ cut here ]------------
    [  427.916644] WARNING: at fs/sysfs/dir.c:477 sysfs_add_one+0x82/0x96()
    [  427.916649] Hardware name: System Product Name
    [  427.916653] sysfs: cannot create duplicate filename '/devices/pci0000:00/0000:00:12.2/usb1/1-2/1-2:1.0/ep_81'
    [  427.916658] Modules linked in: binfmt_misc kvm_amd kvm powernow_k8 cpufreq_ondemand cpufreq_powersave cpufreq_userspace freq_table cpufreq_conservative ipv6 vfat fat
    +8250_pnp 8250 pcspkr ohci_hcd serial_core k10temp edac_core
    [  427.916694] Pid: 278, comm: khubd Not tainted 2.6.33-rc2-00187-g08d869a-dirty #13
    [  427.916699] Call Trace:
    
    The problem is caused by a mismatch between the USB core's view of the
    device state and the USB device and xHCI host's view of the device state.
    
    After the device reset and re-configuration, the device and the xHCI host
    think they are using alternate setting 0 of all interfaces.  However, the
    USB core keeps track of the old state, which may include non-zero
    alternate settings.  It uses intf->cur_altsetting to keep the endpoint
    sysfs files for the old state across the reset.
    
    The bandwidth allocation functions need to know what the xHCI host thinks
    the current alternate settings are, so original patch set
    intf->cur_altsetting to the alternate setting 0.  This caused duplicate
    endpoint files to be created.
    
    The solution is to not set intf->cur_altsetting before calling
    usb_set_interface() in usb_reset_and_verify_device().  Instead, we add a
    new flag to struct usb_interface to tell usb_hcd_alloc_bandwidth() to use
    alternate setting 0 as the currently installed alternate setting.
    
    Signed-off-by: Sarah Sharp <sarah.a.sharp@linux.intel.com>
    Tested-by: Borislav Petkov <petkovbb@googlemail.com>
    Cc: Alan Stern <stern@rowland.harvard.edu>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
  7. @gregkh

    USB: add speed values for USB 3.0 and wireless controllers

    gregkh authored
    These controllers say "unknown" for their speed in sysfs, which
    obviously isn't correct.
    
    Reported-by: Kurt Garloff <garloff@novell.com>
    Cc: Sarah Sharp <sarah.a.sharp@linux.intel.com>
    Cc: David Vrabel <david.vrabel@csr.com>
    Cc: stable <stable@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
  8. @gregkh

    USB: add missing delay during remote wakeup

    Alan Stern authored gregkh committed
    This patch (as1330) fixes a bug in khbud's handling of remote
    wakeups.  When a device sends a remote-wakeup request, the parent hub
    (or the host controller driver, for directly attached devices) begins
    the resume sequence and notifies khubd when the sequence finishes.  At
    this point the port's SUSPEND feature is automatically turned off.
    
    However the device needs an additional 10-ms resume-recovery time
    (TRSMRCY in the USB spec).  Khubd does not wait for this delay if the
    SUSPEND feature is off, and as a result some devices fail to behave
    properly following a remote wakeup.  This patch adds the missing
    delay to the remote-wakeup path.
    
    It also extends the resume-signalling delay used by ehci-hcd and
    uhci-hcd from 20 ms (the value in the spec) to 25 ms (the value we use
    for non-remote-wakeup resumes).  The extra time appears to help some
    devices.
    
    Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
    Cc: stable <stable@kernel.org>
    Cc: Rickard Bellini <rickard.bellini@ericsson.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
  9. @gregkh

    USB: EHCI & UHCI: fix race between root-hub suspend and port resume

    Alan Stern authored gregkh committed
    This patch (as1321) fixes a problem with EHCI and UHCI root-hub
    suspends: If the suspend occurs while a port is trying to resume, the
    resume doesn't finish and simply gets lost.  When remote wakeup is
    enabled, this is undesirable behavior.
    
    The patch checks first to see if any port resumes are in progress, and
    if they are then it fails the root-hub suspend with -EBUSY.
    
    Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
    Cc: stable <stable@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
  10. @gregkh

    USB: EHCI: fix handling of unusual interrupt intervals

    Alan Stern authored gregkh committed
    This patch (as1320) fixes two problems related to interrupt-URB
    scheduling in ehci-hcd.
    
    	URBs with an interval of 2 or 4 microframes aren't handled.
    	For the time being, the patch reduces to interval to 1 uframe.
    
    	URBs are constrained to have an interval no larger than 1024
    	frames by usb_submit_urb().  But some EHCI controllers allow
    	use of a schedule as short as 256 frames; for these
    	controllers we may have to decrease the interval to the
    	actual schedule length.
    
    The second problem isn't very significant since few devices expose
    interrupt endpoints with an interval larger than 256 frames.  But the
    first problem is critical; it will prevent the kernel from working
    with devices having interrupt intervals of 2 or 4 uframes.
    
    Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
    Cc: stable <stable@kernel.org>
    Tested-by: Glynn Farrow <farrowg@sg.ibm.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
  11. @gregkh

    USB: Don't use GFP_KERNEL while we cannot reset a storage device

    Oliver Neukum authored gregkh committed
    Memory allocations with GFP_KERNEL can cause IO to a storage
    device which can fail resulting in a need to reset the device.
    Therefore GFP_KERNEL cannot be safely used between usb_lock_device()
    and usb_unlock_device(). Replace by GFP_NOIO.
    
    Signed-off-by: Oliver Neukum <oliver@neukum.org>
    Cc: stable <stable@kernel.org>
    Cc: Alan Stern <stern@rowland.harvard.edu>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
  12. @gregkh

    USB: fix bitmask merge error

    Alan Stern authored gregkh committed
    This patch adds a mask bit which was mistakenly omitted from the
    as1311 patch (usb-storage: add BAD_SENSE flag).
    
    Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
    Cc: stable <stable@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
  13. @jhovold @gregkh

    usb: serial: fix memory leak in generic driver

    jhovold authored gregkh committed
    Fix a regression introduced by commit
    715b1dc ("USB: usb_debug,
    usb_generic_serial: implement multi urb write").
    
    URB transfer buffer was never freed when using multi-urb writes. 
    Currently the only driver enabling multi-urb writes is usb_debug.
    
    Signed-off-by: Johan Hovold <jhovold@gmail.com>
    Cc: Greg KH <greg@kroah.com>
    Acked-by: Jason Wessel <jason.wessel@windriver.com>
    Cc: stable <stable@kernel.org>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
  14. @sstefani @gregkh

    USB: serial: fix USB serial fix kfifo_len locking

    sstefani authored gregkh committed
    This patch fix a possible race bug in drivers/usb/serial/generic with
    the new kfifo API.
    
    Please apply it to the 2.6.33-rc* tree.
    
    Signed-off-by: Stefani Seibold <stefani@seibold.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Something went wrong with that request. Please try again.