1. 21 Jan, 2010 12 commits
    • Linus Torvalds's avatar
      Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev · 836f48c5
      Linus Torvalds authored
      * '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
      836f48c5
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty-2.6 · bdeef61c
      Linus 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
      bdeef61c
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging-2.6 · 4caca5f9
      Linus 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
      4caca5f9
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6 · f8c7e6c2
      Linus Torvalds authored
      * 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
      f8c7e6c2
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6 · c9140487
      Linus 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
      c9140487
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.dk/linux-2.6-block · 456eac94
      Linus 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
      456eac94
    • Linus Torvalds's avatar
      Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6 · dedd0c2a
      Linus Torvalds authored
      * '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
        ...
      dedd0c2a
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ecryptfs/ecryptfs-2.6 · 15e551e5
      Linus Torvalds authored
      * '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
      15e551e5
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable · 30a0f5e1
      Linus 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)
      30a0f5e1
    • Yongseok Koh's avatar
      vmalloc: remove BUG_ON due to racy counting of VM_LAZY_FREE · 88f50044
      Yongseok Koh authored
      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: default avatarYongseok Koh <yongseok.koh@samsung.com>
      Reviewed-by: default avatarMinchan Kim <minchan.kim@gmail.com>
      Cc: Nick Piggin <npiggin@suse.de>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      88f50044
    • Linus Torvalds's avatar
      Merge branch 'sh/for-2.6.33' of git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6 · 970114a1
      Linus Torvalds authored
      * '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.
      970114a1
    • Linus Torvalds's avatar
      Merge master.kernel.org:/home/rmk/linux-2.6-arm · def20529
      Linus 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
      def20529
  2. 20 Jan, 2010 28 commits
    • Lothar Wassmann's avatar
      USB: isp1362: fix build failure on ARM systems via irq_flags cleanup · 0a2fea2e
      Lothar Wassmann authored
      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: default avatarBen Hutchings <ben@decadent.org.uk>
      Signed-off-by: default avatarLothar Wassmann <LW@KARO-electronics.de>
      Signed-off-by: default avatarMike Frysinger <vapier@gentoo.org>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      0a2fea2e
    • Lothar Wassmann's avatar
      USB: isp1362: better 64bit printf warning fixes · 96b85179
      Lothar Wassmann authored
      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 b0a9cf29.
      Signed-off-by: default avatarLothar Wassmann <LW@KARO-electronics.de>
      Signed-off-by: default avatarMike Frysinger <vapier@gentoo.org>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      96b85179
    • Ryan May's avatar
      USB: fix usbstorage for 2770:915d delivers no FAT · 10d2cdb6
      Ryan May authored
      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: default avatarRyan May <rmay31@gmail.com>
      Cc: Rohan Hart <rohan.hart17@gmail.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      
      10d2cdb6
    • Colin Tuckley's avatar
      USB: Fix level of isp1760 Reloading ptd error message · c0d74142
      Colin Tuckley authored
      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: default avatarColin Tuckley <colin.tuckley@arm.com>
      Cc: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
      Cc: Catalin Marinas <catalin.marinas@arm.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      c0d74142
    • Alexander Beregalov's avatar
      USB: FHCI: avoid NULL pointer dereference · ae35fe9e
      Alexander Beregalov authored
      Assign fhci only if usb is not NULL.
      Signed-off-by: default avatarAlexander Beregalov <a.beregalov@gmail.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      ae35fe9e
    • Sarah Sharp's avatar
      USB: Fix duplicate sysfs problem after device reset. · 04a723ea
      Sarah Sharp authored
      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-g08d869aa-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: default avatarSarah Sharp <sarah.a.sharp@linux.intel.com>
      Tested-by: default avatarBorislav Petkov <petkovbb@googlemail.com>
      Cc: Alan Stern <stern@rowland.harvard.edu>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      04a723ea
    • Greg Kroah-Hartman's avatar
      USB: add speed values for USB 3.0 and wireless controllers · b132b04e
      Greg Kroah-Hartman authored
      These controllers say "unknown" for their speed in sysfs, which
      obviously isn't correct.
      Reported-by: default avatarKurt 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: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      b132b04e
    • Alan Stern's avatar
      USB: add missing delay during remote wakeup · 49d0f078
      Alan Stern authored
      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: default avatarAlan Stern <stern@rowland.harvard.edu>
      Cc: stable <stable@kernel.org>
      Cc: Rickard Bellini <rickard.bellini@ericsson.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      
      49d0f078
    • Alan Stern's avatar
      USB: EHCI & UHCI: fix race between root-hub suspend and port resume · cec3a53c
      Alan Stern authored
      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: default avatarAlan Stern <stern@rowland.harvard.edu>
      Cc: stable <stable@kernel.org>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      cec3a53c
    • Alan Stern's avatar
      USB: EHCI: fix handling of unusual interrupt intervals · 1b9a38bf
      Alan Stern authored
      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: default avatarAlan Stern <stern@rowland.harvard.edu>
      Cc: stable <stable@kernel.org>
      Tested-by: default avatarGlynn Farrow <farrowg@sg.ibm.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      1b9a38bf
    • Oliver Neukum's avatar
      USB: Don't use GFP_KERNEL while we cannot reset a storage device · acbe2feb
      Oliver Neukum authored
      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: default avatarOliver Neukum <oliver@neukum.org>
      Cc: stable <stable@kernel.org>
      Cc: Alan Stern <stern@rowland.harvard.edu>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      acbe2feb
    • Alan Stern's avatar
      USB: fix bitmask merge error · a91b593e
      Alan Stern authored
      This patch adds a mask bit which was mistakenly omitted from the
      as1311 patch (usb-storage: add BAD_SENSE flag).
      Signed-off-by: default avatarAlan Stern <stern@rowland.harvard.edu>
      Cc: stable <stable@kernel.org>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      a91b593e
    • Johan Hovold's avatar
      usb: serial: fix memory leak in generic driver · 25915302
      Johan Hovold authored
      Fix a regression introduced by commit
      715b1dc0 ("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: default avatarJohan Hovold <jhovold@gmail.com>
      Cc: Greg KH <greg@kroah.com>
      Acked-by: default avatarJason Wessel <jason.wessel@windriver.com>
      Cc: stable <stable@kernel.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      25915302
    • Stefani Seibold's avatar
      USB: serial: fix USB serial fix kfifo_len locking · 25719e6b
      Stefani Seibold authored
      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: default avatarStefani Seibold <stefani@seibold.net>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      25719e6b
    • Greg Kroah-Hartman's avatar
      Staging: hv: fix smp problems in the hyperv core code · 7692fd4d
      Greg Kroah-Hartman authored
      This fixes a number of SMP problems that were in the hyperv core code.
      
      Patch originally written by K. Y. Srinivasan <ksrinivasan@novell.com>
      but forward ported to the latest in-kernel code and tweaked slightly by
      me.
      
      Novell, Inc. hereby disclaims all copyright in any derivative work
      copyright associated with this patch.
      Signed-off-by: default avatarK. Y. Srinivasan <ksrinivasan@novell.com>
      Cc: Hank Janssen <hjanssen@microsoft.com>
      Cc: Haiyang Zhang <haiyangz@microsoft.com>.
      Cc: stable <stable@kernel.org>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      7692fd4d
    • Alan Cox's avatar
      Staging: et131x: Fix 2.6.33rc1 regression in et131x · d31a2ff0
      Alan Cox authored
      et131x: Fix 12bit wrapping
      
      From: Alan Cox <alan@linux.intel.com>
      
      The 12bit wrap logic conversion is wrong and this shows up for some
      memory sizes and layouts of card. Patch it up for now, once the kernel
      view of status is cleaned up it'll become two variables and a lot saner.
      Signed-off-by: default avatarAlan Cox <alan@linux.intel.com>
      Cc: stable <stable@kernel.org>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      d31a2ff0
    • Eugeni Dodonov's avatar
      Staging: asus_oled: fix oops in 2.6.32.2 · 20633bf0
      Eugeni Dodonov authored
      After updating to 2.6.32 kernel, I started experiencing Oopses caused by
      the asus_oled module. After quick investigation, I wrapped this simple
      patch which fixes an Oops in by asus_oled module on 2.6.32.2 kernel,
      caused by incorrect usage of strict_strtoul function call within
      set_enabled and set_disabled functions. This can be triggered by simple
      running the userspace client for asus_old (e.g., 'asusoled -e' or
      'asusoled -d').
      Signed-off-by: default avatarEugeni Dodonov <eugeni@mandriva.com>
      Cc: stable <stable@kernel.org>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      20633bf0
    • Greg Kroah-Hartman's avatar
      tty: fix race in tty_fasync · 70362511
      Greg Kroah-Hartman authored
      We need to keep the lock held over the call to __f_setown() to
      prevent a PID race.
      
      Thanks to Al Viro for pointing out the problem, and to Travis for
      making us look here in the first place.
      
      Cc: Eric W. Biederman <ebiederm@xmission.com>
      Cc: Al Viro <viro@ZenIV.linux.org.uk>
      Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Cc: Tavis Ormandy <taviso@google.com>
      Cc: Jeff Dike <jdike@addtoit.com>
      Cc: Julien Tinnes <jln@google.com>
      Cc: Matt Mackall <mpm@selenic.com>
      Cc: stable <stable@kernel.org>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      70362511
    • Pavel Machek's avatar
      serial: serial_cs: oxsemi quirk breaks resume · 18c576f9
      Pavel Machek authored
      Quirk is applied on all cards with given manfid (is it that correct?).
      Unfortunately, that quirk breaks resume on zaurus with billionton
      bluetooth card inserted: c950ctrl is 0 and outb() faults.
      
      I believe it is simply not a multiport card.  (info->multi == 1).  ...
      ...  confirmed by printks.
      Signed-off-by: default avatarPavel Machek <pavel@ucw.cz>
      Acked-by: default avatarAlan Cox <alan@lxorguk.ukuu.org.uk>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      18c576f9
    • Roel Kluin's avatar
      serial: imx: bit &/| confusion · 2e2eb509
      Roel Kluin authored
      Since UCR1_UARTEN is defined 1, the port was always treated as enabled.
      Signed-off-by: default avatarRoel Kluin <roel.kluin@gmail.com>
      Cc: Alan Cox <alan@linux.intel.com>
      Acked-by: default avatarOskar Schirmer <os@emlix.com>
      Cc: Sascha Hauer <s.hauer@pengutronix.de>
      Cc: Fabian Godehardt <fg@emlix.com>
      Cc: Daniel Glöckner <dg@emlix.com>
      Cc: Russell King <rmk@arm.linux.org.uk>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      2e2eb509
    • Alan Cox's avatar
      serial: Fix crash if the minimum rate of the device is > 9600 baud · 16ae2a87
      Alan Cox authored
      In that situation if the old rate is invalid and the new rate is invalid
      and the chip cannot do 9600 baud we report zero, which makes all the
      drivers explode.
      
      Instead force the rate based on min/max
      Signed-off-by: default avatarAlan Cox <alan@linux.intel.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      16ae2a87
    • Stanislav Brabec's avatar
      serial-core: resume serial hardware with no_console_suspend · 4547be78
      Stanislav Brabec authored
      Perform a tricky suspend/resume even with no_console_suspend.
      
      With no_console_suspend, kernel skips serial port suspend/resume and the
      serial hardware may remain in undefined state after resume. It actually
      happens on devices that don't have BIOS that handle serial
      initialization. It makes impossible to use serial console after resume.
      
      Devices affected by this problem include:
      Sharp Zaurus devices
      Several PXA based ARM embedded boards
      
      The patch does:
      - Save the hardware state
      - Perform buffer flush in time of its suspend call
      - Tell the driver that port is suspended
      - But still accept new data
      - And keep console hardware in state that allows to send them
      
      It allows to capture late console messages without breaking console
      after resume.
      
      This is just a resend of a patch discussed in these threads, as the
      patch was not yet applied.
      
      "Possible suspend/resume regression in .32-rc?" (Nov 1-5, 2009, ARM
      list, later LKML)
      
      "serial-core: resume serial hardware with no_console_suspend" (Sep
      15-Oct 18, 2009, LKML & ARM lists)
      Signed-off-by: default avatarStanislav Brabec <sbrabec@suse.cz>
      Tested-by: default avatarHaojian Zhuang <haojian.zhuang@gmail.com>
      Tested-by: default avatarDaniel Mack <daniel@caiaq.de>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      4547be78
    • Matthew Garrett's avatar
      serial: 8250_pnp: use wildcard for serial Wacom tablets · 6d34855d
      Matthew Garrett authored
      Wacom claims that the WACF namespace will always be devoted to serial
      Wacom tablets.  Remove the existing entries and add a wildcard to avoid
      having to update the kernel every time they add a new device.
      Signed-off-by: default avatarPing Cheng <pingc@wacom.com>
      Signed-off-by: default avatarMatthew Garrett <mjg@redhat.com>
      Tested-by: default avatarPing Cheng <pingc@wacom.com>
      Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Cc: stable <stable@kernel.org>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      6d34855d
    • Alan Cox's avatar
      nozomi: quick fix for the close/close bug · eeec32a7
      Alan Cox authored
      Nozomi goes wrong if you get the sequence
      
      	open
      	open
      	close
      
      	[stuff]
      	close
      
      which turns out to occur on some ppp type setups.
      
      This is a quick patch up for the problem. It's not really fixing Nozomi
      which completely fails to implement tty open/close semantics and all the
      other needed stuff. Doing it right is a rather more invasive patch set and
      not one that will backport.
      Signed-off-by: default avatarAlan Cox <alan@linux.intel.com>
      Cc: stable <stable@kernel.org>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      eeec32a7
    • Atsushi Nemoto's avatar
      compat_ioctl: Supress "unknown cmd" message on serial /dev/console · 3f001711
      Atsushi Nemoto authored
      After the commit fb07a5f8 ("compat_ioctl: remove all VT ioctl
      handling"), I got this error message on 64-bit mips kernel with 32-bit
      busybox userland:
      
      ioctl32(init:1): Unknown cmd fd(0) cmd(00005600){t:'V';sz:0} arg(7fd76480) on /dev/console
      
      The cmd 5600 is VT_OPENQRY.  The busybox's init issues this ioctl to
      know vt-console or serial-console.  If the console was serial console,
      VT ioctls are not handled by the serial driver.
      
      And by quick search, I found some programs using VT_GETMODE to check
      vt-console is available or not.
      Signed-off-by: default avatarAtsushi Nemoto <anemo@mba.ocn.ne.jp>
      Cc: Arnd Bergmann <arnd@arndb.de>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      3f001711
    • Greg Kroah-Hartman's avatar
      Revert "sysdev: fix prototype for memory_sysdev_class show/store functions" · bd796671
      Greg Kroah-Hartman authored
      This reverts commit 8ff410da
      
      It should not have been sent to Linus's tree yet, as it depends
      on changes that are queued up in my driver-core for the .34 kernel
      merge.
      
      Cc: Wu Fengguang <fengguang.wu@intel.com>
      Cc: Andi Kleen <andi@firstfloor.org>
      Cc: "Zheng, Shaohui" <shaohui.zheng@intel.com>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Cc: Linus Torvalds
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      bd796671
    • Heiko Carstens's avatar
      driver-core: fix devtmpfs crash on s390 · f776c5ec
      Heiko Carstens authored
      On Mon, Jan 18, 2010 at 05:26:20PM +0530, Sachin Sant wrote:
      > Hello Heiko,
      >
      > Today while trying to boot next-20100118 i came across
      > the following Oops :
      >
      > Brought up 4 CPUs
      > Unable to handle kernel pointer dereference at virtual kernel address 0000000000
      > 543000
      > Oops: 0004 #1 SMP
      > Modules linked in:
      > CPU: 0 Not tainted 2.6.33-rc4-autotest-next-20100118-5-default #1
      > Process swapper (pid: 1, task: 00000000fd792038, ksp: 00000000fd797a30)
      > Krnl PSW : 0704200180000000 00000000001eb0b8 (shmem_parse_options+0xc0/0x328)
      >           R:0 T:1 IO:1 EX:1 Key:0 M:1 W:0 P:0 AS:0 CC:2 PM:0 EA:3
      > Krnl GPRS: 000000000054388a 000000000000003d 0000000000543836 000000000000003d
      >           0000000000000000 0000000000483f28 0000000000536112 00000000fd797d00
      >           00000000fd4ba100 0000000000000100 0000000000483978 0000000000543832
      >           0000000000000000 0000000000465958 00000000001eb0b0 00000000fd797c58
      > Krnl Code: 00000000001eb0aa: c0e5000994f1       brasl   %r14,31da8c
      >           00000000001eb0b0: b9020022           ltgr    %r2,%r2
      >           00000000001eb0b4: a784010b           brc     8,1eb2ca
      >          >00000000001eb0b8: 92002000           mvi     0(%r2),0
      >           00000000001eb0bc: a7080000           lhi     %r0,0
      >           00000000001eb0c0: 41902001           la      %r9,1(%r2)
      >           00000000001eb0c4: b9040016           lgr     %r1,%r6
      >           00000000001eb0c8: b904002b           lgr     %r2,%r11
      > Call Trace:
      > (<00000000fd797c50> 0xfd797c50)
      > <00000000001eb5da> shmem_fill_super+0x13a/0x25c
      > <0000000000228cfa> get_sb_single+0xbe/0xdc
      > <000000000034ffc0> dev_get_sb+0x2c/0x38
      > <000000000066c602> devtmpfs_init+0x46/0xc0
      > <000000000066c53e> driver_init+0x22/0x60
      > <000000000064d40a> kernel_init+0x24e/0x3d0
      > <000000000010a7ea> kernel_thread_starter+0x6/0xc
      > <000000000010a7e4> kernel_thread_starter+0x0/0xc
      >
      > I never tried to boot a kernel with DEVTMPFS enabled on a s390 box.
      > So am wondering if this is supported or not ? If you think this
      > is supported i will send a mail to community on this.
      
      There is nothing arch specific to devtmpfs. This part crashes because the
      kernel tries to modify the data read-only section which is write protected
      on s390.
      Signed-off-by: default avatarHeiko Carstens <heiko.carstens@de.ibm.com>
      Acked-by: default avatarKay Sievers <kay.sievers@vrfy.org>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      f776c5ec
    • Tejun Heo's avatar
      libata: retry FS IOs even if it has failed with AC_ERR_INVALID · 534ead70
      Tejun Heo authored
      libata currently doesn't retry if a command fails with AC_ERR_INVALID
      assuming that retrying won't get it any further even if retried.
      However, a failure may be classified as invalid through hardware
      glitch (incorrect reading of the error register or firmware bug) and
      there isn't whole lot to gain by not retrying as actually invalid
      commands will be failed immediately.  Also, commands serving FS IOs
      are extremely unlikely to be invalid.  Retry FS IOs even if it's
      marked invalid.
      
      Transient and incorrect invalid failure was seen while debugging
      firmware related issue on Samsung n130 on bko#14314.
      
        http://bugzilla.kernel.org/show_bug.cgi?id=14314Signed-off-by: default avatarTejun Heo <tj@kernel.org>
      Reported-by: default avatarJohannes Stezenbach <js@sig21.net>
      Signed-off-by: default avatarJeff Garzik <jgarzik@redhat.com>
      534ead70