1. 26 Jan, 2012 14 commits
  2. 12 Jan, 2012 26 commits
    • Greg Kroah-Hartman's avatar
      Linux 3.0.17 · e9d23be2
      Greg Kroah-Hartman authored
      e9d23be2
    • Xi Wang's avatar
      xfs: fix acl count validation in xfs_acl_from_disk() · 6e474bc4
      Xi Wang authored
      commit 093019cf upstream.
      
      Commit fa8b18ed didn't prevent the integer overflow and possible
      memory corruption.  "count" can go negative and bypass the check.
      Signed-off-by: default avatarXi Wang <xi.wang@gmail.com>
      Reviewed-by: default avatarChristoph Hellwig <hch@lst.de>
      Signed-off-by: default avatarBen Myers <bpm@sgi.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      6e474bc4
    • Thilo-Alexander Ginkel's avatar
      usb: cdc-acm: Fix acm_tty_hangup() vs. acm_tty_close() race · 68f76094
      Thilo-Alexander Ginkel authored
      [Not upstream as it was fixed differently for 3.3 with a much more
      "intrusive" rework of the driver - gregkh]
      
      There is a race condition involving acm_tty_hangup() and acm_tty_close()
      where hangup() would attempt to access tty->driver_data without proper
      locking and NULL checking after close() has potentially already set it
      to NULL.  One possibility to (sporadically) trigger this behavior is to
      perform a suspend/resume cycle with a running WWAN data connection.
      
      This patch addresses the issue by introducing a NULL check for
      tty->driver_data in acm_tty_hangup() protected by open_mutex and exiting
      gracefully when hangup() is invoked on a device that has already been
      closed.
      Signed-off-by: default avatarThilo-Alexander Ginkel <thilo@ginkel.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      68f76094
    • kashyap.desai@lsi.com's avatar
      SCSI: mpt2sas: Added missing mpt2sas_base_detach call from scsih_remove context · 18366c3f
      kashyap.desai@lsi.com authored
      commit 9ae89b02 upstream.
      
      mpt2sas_base_detach() call was removed from _scsih_remove() while
      doing some code shuffling.  Mainly when we work on adding code for
      scsih_shutdown().  I have added back mpt2sas_base_detach() which will
      get callled from _scsih_remove().
      Signed-off-by: default avatarKashyap Desai <kashyap.desai@lsi.com>
      Signed-off-by: default avatarJames Bottomley <JBottomley@Parallels.com>
      18366c3f
    • Srivatsa S. Bhat's avatar
      PM / Sleep: Fix race between CPU hotplug and freezer · 4ae84455
      Srivatsa S. Bhat authored
      commit 79cfbdfa upstream.
      
      The CPU hotplug notifications sent out by the _cpu_up() and _cpu_down()
      functions depend on the value of the 'tasks_frozen' argument passed to them
      (which indicates whether tasks have been frozen or not).
      (Examples for such CPU hotplug notifications: CPU_ONLINE, CPU_ONLINE_FROZEN,
      CPU_DEAD, CPU_DEAD_FROZEN).
      
      Thus, it is essential that while the callbacks for those notifications are
      running, the state of the system with respect to the tasks being frozen or
      not remains unchanged, *throughout that duration*. Hence there is a need for
      synchronizing the CPU hotplug code with the freezer subsystem.
      
      Since the freezer is involved only in the Suspend/Hibernate call paths, this
      patch hooks the CPU hotplug code to the suspend/hibernate notifiers
      PM_[SUSPEND|HIBERNATE]_PREPARE and PM_POST_[SUSPEND|HIBERNATE] to prevent
      the race between CPU hotplug and freezer, thus ensuring that CPU hotplug
      notifications will always be run with the state of the system really being
      what the notifications indicate, _throughout_ their execution time.
      Signed-off-by: default avatarSrivatsa S. Bhat <srivatsa.bhat@linux.vnet.ibm.com>
      Signed-off-by: default avatarRafael J. Wysocki <rjw@sisk.pl>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      4ae84455
    • stephen hemminger's avatar
      bonding: fix error handling if slave is busy (v2) · 81aaa36d
      stephen hemminger authored
      commit f7d9821a upstream.
      
      If slave device already has a receive handler registered, then the
      error unwind of bonding device enslave function is broken.
      
      The following will leave a pointer to freed memory in the slave
      device list, causing a later kernel panic.
      # modprobe dummy
      # ip li add dummy0-1 link dummy0 type macvlan
      # modprobe bonding
      # echo +dummy0 >/sys/class/net/bond0/bonding/slaves
      
      The fix is to detach the slave (which removes it from the list)
      in the unwind path.
      Signed-off-by: default avatarStephen Hemminger <shemminger@vyatta.com>
      Reviewed-by: default avatarNicolas de Pesloüan <nicolas.2p.debian@free.fr>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      81aaa36d
    • Aurelien Jacobs's avatar
      asix: fix infinite loop in rx_fixup() · 2643bcef
      Aurelien Jacobs authored
      commit 6c15d74d upstream.
      
      At this point if skb->len happens to be 2, the subsequant skb_pull(skb, 4)
      call won't work and the skb->len won't be decreased and won't ever reach 0,
      resulting in an infinite loop.
      
      With an ASIX 88772 under heavy load, without this patch, rx_fixup() reaches
      an infinite loop in less than a minute. With this patch applied,
      no infinite loop even after hours of heavy load.
      Signed-off-by: default avatarAurelien Jacobs <aurel@gnuage.org>
      Cc: Jussi Kivilinna <jussi.kivilinna@mbnet.fi>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      2643bcef
    • Ben Hutchings's avatar
      igmp: Avoid zero delay when receiving odd mixture of IGMP queries · 49ffa26e
      Ben Hutchings authored
      commit a8c1f65c upstream.
      
      Commit 5b7c8406 ('ipv4: correct IGMP
      behavior on v3 query during v2-compatibility mode') added yet another
      case for query parsing, which can result in max_delay = 0.  Substitute
      a value of 1, as in the usual v3 case.
      Reported-by: default avatarSimon McVittie <smcv@debian.org>
      References: http://bugs.debian.org/654876Signed-off-by: default avatarBen Hutchings <ben@decadent.org.uk>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      49ffa26e
    • Alan Stern's avatar
      OHCI: final fix for NVIDIA problems (I hope) · 06752b6c
      Alan Stern authored
      commit c6187597 upstream.
      
      Problems with NVIDIA's OHCI host controllers persist.  After looking
      carefully through the spec, I finally realized that when a controller
      is reset it then automatically goes into a SUSPEND state in which it
      is completely quiescent (no DMA and no IRQs) and from which it will
      not awaken until the system puts it into the OPERATIONAL state.
      
      Therefore there's no need to worry about controllers being in the
      RESET state for extended periods, or remaining in the OPERATIONAL
      state during system shutdown.  The proper action for device
      initialization is to put the controller into the RESET state (if it's
      not there already) and then to issue a software reset.  Similarly, the
      proper action for device shutdown is simply to do a software reset.
      
      This patch (as1499) implements such an approach.  It simplifies
      initialization and shutdown, and allows the NVIDIA shutdown-quirk code
      to be removed.
      Signed-off-by: default avatarAlan Stern <stern@rowland.harvard.edu>
      Tested-by: default avatarAndre "Osku" Schmidt <andre.osku.schmidt@googlemail.com>
      Tested-by: default avatarArno Augustin <Arno.Augustin@web.de>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      06752b6c
    • Felipe Balbi's avatar
      usb: ch9: fix up MaxStreams helper · 9f3657ac
      Felipe Balbi authored
      commit 18b7ede5 upstream.
      
      [ removed the dwc3 portion of the patch as it didn't apply to
      older kernels - gregkh]
      
      According to USB 3.0 Specification Table 9-22, if
      bmAttributes [4:0] are set to zero, it means "no
      streams supported", but the way this helper was
      defined on Linux, we will *always* have one stream
      which might cause several problems.
      
      For example on DWC3, we would tell the controller
      endpoint has streams enabled and yet start transfers
      with Stream ID set to 0, which would goof up the host
      side.
      
      While doing that, convert the macro to an inline
      function due to the different checks we now need.
      Signed-off-by: default avatarFelipe Balbi <balbi@ti.com>
      Signed-off-by: default avatarSarah Sharp <sarah.a.sharp@linux.intel.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      9f3657ac
    • Janne Snabb's avatar
      usb: option: add ZD Incorporated HSPA modem · 9f1efce9
      Janne Snabb authored
      commit 3c8c9316 upstream.
      
      Add support for Chinese Noname HSPA USB modem which is apparently
      manufactured by a company called ZD Incorporated (based on texts in the
      Windows drivers).
      
      This product is available at least from Dealextreme (SKU 80032) and
      possibly in India with name Olive V-MW250. It is based on Qualcomm
      MSM6280 chip.
      
      I needed to also add "options usb-storage quirks=0685:7000:i" in modprobe
      configuration because udevd or the kernel keeps poking the embedded
      fake-cd-rom which fails and causes the device to reset. There might be
      a better way to accomplish the same. usb_modeswitch is not needed with
      this device.
      Signed-off-by: default avatarJanne Snabb <snabb@epipe.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      9f1efce9
    • VU Tuan Duc's avatar
      USB: option: add id for 3G dongle Model VT1000 of Viettel · cca4989b
      VU Tuan Duc authored
      commit 5b061623 upstream.
      
      Add VendorID/ProductID for USB 3G dongle Model VT1000 of Viettel.
      Signed-off-by: default avatarVU Tuan Duc <ducvt@viettel.com.vn>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      cca4989b
    • Hans de Goede's avatar
      xhci: Properly handle COMP_2ND_BW_ERR · 35e81320
      Hans de Goede authored
      commit 71d85724 upstream.
      
      I encountered a result of COMP_2ND_BW_ERR while improving how the pwc
      webcam driver handles not having the full usb1 bandwidth available to
      itself.
      
      I created the following test setup, a NEC xhci controller with a
      single TT USB 2 hub plugged into it, with a usb keyboard and a pwc webcam
      plugged into the usb2 hub. This caused the following to show up in dmesg
      when trying to stream from the pwc camera at its highest alt setting:
      
      xhci_hcd 0000:01:00.0: ERROR: unexpected command completion code 0x23.
      usb 6-2.1: Not enough bandwidth for altsetting 9
      
      And usb_set_interface returned -EINVAL, which caused my pwc code to not
      do the right thing as it expected -ENOSPC.
      
      This patch makes the xhci driver properly handle COMP_2ND_BW_ERR and makes
      usb_set_interface return -ENOSPC as expected.
      
      This should be backported to stable kernels as old as 2.6.32.
      Signed-off-by: default avatarHans de Goede <hdegoede@redhat.com>
      Signed-off-by: default avatarSarah Sharp <sarah.a.sharp@linux.intel.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      35e81320
    • Clemens Ladisch's avatar
      usb: fix number of mapped SG DMA entries · 766b8a7f
      Clemens Ladisch authored
      commit bc677d5b upstream.
      
      Add a new field num_mapped_sgs to struct urb so that we have a place to
      store the number of mapped entries and can also retain the original
      value of entries in num_sgs.  Previously, usb_hcd_map_urb_for_dma()
      would overwrite this with the number of mapped entries, which would
      break dma_unmap_sg() because it requires the original number of entries.
      
      This fixes warnings like the following when using USB storage devices:
       ------------[ cut here ]------------
       WARNING: at lib/dma-debug.c:902 check_unmap+0x4e4/0x695()
       ehci_hcd 0000:00:12.2: DMA-API: device driver frees DMA sg list with different entry count [map count=4] [unmap count=1]
       Modules linked in: ohci_hcd ehci_hcd
       Pid: 0, comm: kworker/0:1 Not tainted 3.2.0-rc2+ #319
       Call Trace:
        <IRQ>  [<ffffffff81036d3b>] warn_slowpath_common+0x80/0x98
        [<ffffffff81036de7>] warn_slowpath_fmt+0x41/0x43
        [<ffffffff811fa5ae>] check_unmap+0x4e4/0x695
        [<ffffffff8105e92c>] ? trace_hardirqs_off+0xd/0xf
        [<ffffffff8147208b>] ? _raw_spin_unlock_irqrestore+0x33/0x50
        [<ffffffff811fa84a>] debug_dma_unmap_sg+0xeb/0x117
        [<ffffffff8137b02f>] usb_hcd_unmap_urb_for_dma+0x71/0x188
        [<ffffffff8137b166>] unmap_urb_for_dma+0x20/0x22
        [<ffffffff8137b1c5>] usb_hcd_giveback_urb+0x5d/0xc0
        [<ffffffffa0000d02>] ehci_urb_done+0xf7/0x10c [ehci_hcd]
        [<ffffffffa0001140>] qh_completions+0x429/0x4bd [ehci_hcd]
        [<ffffffffa000340a>] ehci_work+0x95/0x9c0 [ehci_hcd]
        ...
       ---[ end trace f29ac88a5a48c580 ]---
       Mapped at:
        [<ffffffff811faac4>] debug_dma_map_sg+0x45/0x139
        [<ffffffff8137bc0b>] usb_hcd_map_urb_for_dma+0x22e/0x478
        [<ffffffff8137c494>] usb_hcd_submit_urb+0x63f/0x6fa
        [<ffffffff8137d01c>] usb_submit_urb+0x2c7/0x2de
        [<ffffffff8137dcd4>] usb_sg_wait+0x55/0x161
      Signed-off-by: default avatarClemens Ladisch <clemens@ladisch.de>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      766b8a7f
    • Malte Schröder's avatar
      USB: Add USB-ID for Multiplex RC serial adapter to cp210x.c · 0d5b25f9
      Malte Schröder authored
      commit 08e87d0d upstream.
      
      Hi, below patch adds the USB-ID of the serial adapters sold by
      Multiplex RC (www.multiplex-rc.de).
      Signed-off-by: default avatarMalte Schröder <maltesch@gmx.de>
      Cc: stable <stable@vger.kernel.org>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      0d5b25f9
    • Johan Hovold's avatar
      USB: omninet: fix write_room · 5ccce015
      Johan Hovold authored
      commit 694c6301 upstream.
      
      Fix regression introduced by commit 507ca9bc ([PATCH] USB: add
      ability for usb-serial drivers to determine if their write urb is
      currently being used.) which inverted the logic in write_room so that it
      returns zero when the write urb is actually free.
      Signed-off-by: default avatarJohan Hovold <jhovold@gmail.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      5ccce015
    • Felipe Contreras's avatar
      usb: musb: fix pm_runtime mismatch · a2cb6c30
      Felipe Contreras authored
      commit 772aed45 upstream.
      
      In musb_init_controller() there's a pm_runtime_put(), but there's no
      pm_runtime_get(), which creates a mismatch that causes the driver to
      sleep when it shouldn't.
      
      This was introduced in 7acc6197[1], but it wasn't triggered in my setup
      until 18a26892[2] was merged to Linus' branch at point df0914[3]. IOW;
      when PM is working as it was supposed to.
      
      However, it seems most of the time this is used in a way that keeps the
      counter above 0, so nobody noticed. Also, it seems to depend on the
      configuration used in versions before 3.1, but not later (or in it).
      
      I found the problem by loading isp1704_charger before any usb gadgets:
      http://article.gmane.org/gmane.linux.kernel/1226122
      
      All versions after 2.6.39 are affected.
      
      [1] usb: musb: Idle path retention and offmode support for OMAP3
      [2] OMAP2+: musb: hwmod adaptation for musb registration
      [3] Merge branch 'omap-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6
      
      Cc: Hema HK <hemahk@ti.com>
      Signed-off-by: default avatarFelipe Contreras <felipe.contreras@gmail.com>
      Signed-off-by: default avatarFelipe Balbi <balbi@ti.com>
      a2cb6c30
    • Oliver Neukum's avatar
      USB: add quirk for another camera · d1a86326
      Oliver Neukum authored
      commit 35284b3d upstream.
      
      The Guillemot Webcam Hercules Dualpix Exchange camera
      has been reported with a second ID.
      Signed-off-by: default avatarOliver Neukum <oneukum@suse.de>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      d1a86326
    • Huajun Li's avatar
      usb: usb-storage doesn't support dynamic id currently, the patch disables the... · 702d50dd
      Huajun Li authored
      usb: usb-storage doesn't support dynamic id currently, the patch disables the feature to fix an oops
      
      commit 1a3a026b upstream.
      
      Echo vendor and product number of a non usb-storage device to
      usb-storage driver's new_id, then plug in the device to host and you
      will find following oops msg, the root cause is usb_stor_probe1()
      refers invalid id entry if giving a dynamic id, so just disable the
      feature.
      
      [ 3105.018012] general protection fault: 0000 [#1] SMP DEBUG_PAGEALLOC
      [ 3105.018062] CPU 0
      [ 3105.018075] Modules linked in: usb_storage usb_libusual bluetooth
      dm_crypt binfmt_misc snd_hda_codec_analog snd_hda_intel snd_hda_codec
      snd_hwdep hp_wmi ppdev sparse_keymap snd_pcm snd_seq_midi snd_rawmidi
      snd_seq_midi_event snd_seq snd_timer snd_seq_device psmouse snd
      serio_raw tpm_infineon soundcore i915 snd_page_alloc tpm_tis
      parport_pc tpm tpm_bios drm_kms_helper drm i2c_algo_bit video lp
      parport usbhid hid sg sr_mod sd_mod ehci_hcd uhci_hcd usbcore e1000e
      usb_common floppy
      [ 3105.018408]
      [ 3105.018419] Pid: 189, comm: khubd Tainted: G          I  3.2.0-rc7+
      #29 Hewlett-Packard HP Compaq dc7800p Convertible Minitower/0AACh
      [ 3105.018481] RIP: 0010:[<ffffffffa045830d>]  [<ffffffffa045830d>]
      usb_stor_probe1+0x2fd/0xc20 [usb_storage]
      [ 3105.018536] RSP: 0018:ffff880056a3d830  EFLAGS: 00010286
      [ 3105.018562] RAX: ffff880065f4e648 RBX: ffff88006bb28000 RCX: 0000000000000000
      [ 3105.018597] RDX: ffff88006f23c7b0 RSI: 0000000000000001 RDI: 0000000000000206
      [ 3105.018632] RBP: ffff880056a3d900 R08: 0000000000000000 R09: ffff880067365000
      [ 3105.018665] R10: 00000000000002ac R11: 0000000000000010 R12: ffff6000b41a7340
      [ 3105.018698] R13: ffff880065f4ef60 R14: ffff88006bb28b88 R15: ffff88006f23d270
      [ 3105.018733] FS:  0000000000000000(0000) GS:ffff88007a200000(0000)
      knlGS:0000000000000000
      [ 3105.018773] CS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b
      [ 3105.018801] CR2: 00007fc99c8c4650 CR3: 0000000001e05000 CR4: 00000000000006f0
      [ 3105.018835] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
      [ 3105.018870] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
      [ 3105.018906] Process khubd (pid: 189, threadinfo ffff880056a3c000,
      task ffff88005677a400)
      [ 3105.018945] Stack:
      [ 3105.018959]  0000000000000000 0000000000000000 ffff880056a3d8d0
      0000000000000002
      [ 3105.019011]  0000000000000000 ffff880056a3d918 ffff880000000000
      0000000000000002
      [ 3105.019058]  ffff880056a3d8d0 0000000000000012 ffff880056a3d8d0
      0000000000000006
      [ 3105.019105] Call Trace:
      [ 3105.019128]  [<ffffffffa0458cd4>] storage_probe+0xa4/0xe0 [usb_storage]
      [ 3105.019173]  [<ffffffffa0097822>] usb_probe_interface+0x172/0x330 [usbcore]
      [ 3105.019211]  [<ffffffff815fda67>] driver_probe_device+0x257/0x3b0
      [ 3105.019243]  [<ffffffff815fdd43>] __device_attach+0x73/0x90
      [ 3105.019272]  [<ffffffff815fdcd0>] ? __driver_attach+0x110/0x110
      [ 3105.019303]  [<ffffffff815fb93c>] bus_for_each_drv+0x9c/0xf0
      [ 3105.019334]  [<ffffffff815fd6c7>] device_attach+0xf7/0x120
      [ 3105.019364]  [<ffffffff815fc905>] bus_probe_device+0x45/0x80
      [ 3105.019396]  [<ffffffff815f98a6>] device_add+0x876/0x990
      [ 3105.019434]  [<ffffffffa0094e42>] usb_set_configuration+0x822/0x9e0 [usbcore]
      [ 3105.019479]  [<ffffffffa00a3492>] generic_probe+0x62/0xf0 [usbcore]
      [ 3105.019518]  [<ffffffffa0097a46>] usb_probe_device+0x66/0xb0 [usbcore]
      [ 3105.019555]  [<ffffffff815fda67>] driver_probe_device+0x257/0x3b0
      [ 3105.019589]  [<ffffffff815fdd43>] __device_attach+0x73/0x90
      [ 3105.019617]  [<ffffffff815fdcd0>] ? __driver_attach+0x110/0x110
      [ 3105.019648]  [<ffffffff815fb93c>] bus_for_each_drv+0x9c/0xf0
      [ 3105.019680]  [<ffffffff815fd6c7>] device_attach+0xf7/0x120
      [ 3105.019709]  [<ffffffff815fc905>] bus_probe_device+0x45/0x80
      [ 3105.021040] usb usb6: usb auto-resume
      [ 3105.021045] usb usb6: wakeup_rh
      [ 3105.024849]  [<ffffffff815f98a6>] device_add+0x876/0x990
      [ 3105.025086]  [<ffffffffa0088987>] usb_new_device+0x1e7/0x2b0 [usbcore]
      [ 3105.025086]  [<ffffffffa008a4d7>] hub_thread+0xb27/0x1ec0 [usbcore]
      [ 3105.025086]  [<ffffffff810d5200>] ? wake_up_bit+0x50/0x50
      [ 3105.025086]  [<ffffffffa00899b0>] ? usb_remote_wakeup+0xa0/0xa0 [usbcore]
      [ 3105.025086]  [<ffffffff810d49b8>] kthread+0xd8/0xf0
      [ 3105.025086]  [<ffffffff81939884>] kernel_thread_helper+0x4/0x10
      [ 3105.025086]  [<ffffffff8192a8c0>] ? _raw_spin_unlock_irq+0x50/0x80
      [ 3105.025086]  [<ffffffff8192b1b4>] ? retint_restore_args+0x13/0x13
      [ 3105.025086]  [<ffffffff810d48e0>] ? __init_kthread_worker+0x80/0x80
      [ 3105.025086]  [<ffffffff81939880>] ? gs_change+0x13/0x13
      [ 3105.025086] Code: 00 48 83 05 cd ad 00 00 01 48 83 05 cd ad 00 00
      01 4c 8b ab 30 0c 00 00 48 8b 50 08 48 83 c0 30 48 89 45 a0 4c 89 a3
      40 0c 00 00 <41> 0f b6 44 24 10 48 89 55 a8 3c ff 0f 84 b8 04 00 00 48
      83 05
      [ 3105.025086] RIP  [<ffffffffa045830d>] usb_stor_probe1+0x2fd/0xc20
      [usb_storage]
      [ 3105.025086]  RSP <ffff880056a3d830>
      [ 3105.060037] hub 6-0:1.0: hub_resume
      [ 3105.062616] usb usb5: usb auto-resume
      [ 3105.064317] ehci_hcd 0000:00:1d.7: resume root hub
      [ 3105.094809] ---[ end trace a7919e7f17c0a727 ]---
      [ 3105.130069] hub 5-0:1.0: hub_resume
      [ 3105.132131] usb usb4: usb auto-resume
      [ 3105.132136] usb usb4: wakeup_rh
      [ 3105.180059] hub 4-0:1.0: hub_resume
      [ 3106.290052] usb usb6: suspend_rh (auto-stop)
      [ 3106.290077] usb usb4: suspend_rh (auto-stop)
      Signed-off-by: default avatarHuajun Li <huajun.li.lee@gmail.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      
      702d50dd
    • Greg Kroah-Hartman's avatar
      USB: isight: fix kernel bug when loading firmware · 41671fca
      Greg Kroah-Hartman authored
      commit 59bf5cf9 upstream.
      
      We were sending data on the stack when uploading firmware, which causes
      some machines fits, and is not allowed.  Fix this by using the buffer we
      already had around for this very purpose.
      Reported-by: default avatarWouter M. Koolen <wmkoolen@cwi.nl>
      Tested-by: default avatarWouter M. Koolen <wmkoolen@cwi.nl>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      41671fca
    • Julia Lawall's avatar
      drivers/usb/class/cdc-acm.c: clear dangling pointer · e60f8377
      Julia Lawall authored
      commit e7c8e860 upstream.
      
      On some failures, the country_code field of an acm structure is freed
      without freeing the acm structure itself.  Elsewhere, operations including
      memcpy and kfree are performed on the country_code field.  The patch sets
      the country_code field to NULL when it is freed, and likewise sets the
      country_code_size field to 0.
      Signed-off-by: default avatarJulia Lawall <julia@diku.dk>
      Acked-by: default avatarOliver Neukum <oneukum@suse.de>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      e60f8377
    • Jan Kara's avatar
      udf: Fix deadlock when converting file from in-ICB one to normal one · 608620c3
      Jan Kara authored
      commit d2eb8c35 upstream.
      
      During BKL removal in 2.6.38, conversion of files from in-ICB format to normal
      format got broken. We call ->writepage with i_data_sem held but udf_get_block()
      also acquires i_data_sem thus creating A-A deadlock.
      
      We fix the problem by dropping i_data_sem before calling ->writepage() which is
      safe since i_mutex still protects us against any changes in the file. Also fix
      pagelock - i_data_sem lock inversion in udf_expand_file_adinicb() by dropping
      i_data_sem before calling find_or_create_page().
      Reported-by: default avatarMatthias Matiak <netzpython@mail-on.us>
      Tested-by: default avatarMatthias Matiak <netzpython@mail-on.us>
      Reviewed-by: default avatarNamjae Jeon <linkinjeon@gmail.com>
      Signed-off-by: default avatarJan Kara <jack@suse.cz>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      608620c3
    • Li Zefan's avatar
      cgroup: fix to allow mounting a hierarchy by name · 2481cbca
      Li Zefan authored
      commit 0d19ea86 upstream.
      
      If we mount a hierarchy with a specified name, the name is unique,
      and we can use it to mount the hierarchy without specifying its
      set of subsystem names. This feature is documented is
      Documentation/cgroups/cgroups.txt section 2.3
      
      Here's an example:
      
      	# mount -t cgroup -o cpuset,name=myhier xxx /cgroup1
      	# mount -t cgroup -o name=myhier xxx /cgroup2
      
      But it was broken by commit 32a8cf23
      (cgroup: make the mount options parsing more accurate)
      
      This fixes the regression.
      Signed-off-by: default avatarLi Zefan <lizf@cn.fujitsu.com>
      Signed-off-by: default avatarTejun Heo <tj@kernel.org>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      2481cbca
    • Claudio Scordino's avatar
      atmel_serial: fix spinlock lockup in RS485 code · 630fe244
      Claudio Scordino authored
      commit dbf1115d upstream.
      
      Patch to fix a spinlock lockup in the driver that sometimes happens when the
      tasklet starts.
      Signed-off-by: default avatarClaudio Scordino <claudio@evidence.eu.com>
      Signed-off-by: default avatarDave Bender <codehero@gmail.com>
      Tested-by: default avatarDave Bender <codehero@gmail.com>
      Acked-by: default avatarNicolas Ferre <nicolas.ferre@atmel.com>
      Acked-by: default avatarAlan Cox <alan@linux.intel.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      630fe244
    • Alan Stern's avatar
      USB: update documentation for usbmon · 90a043b0
      Alan Stern authored
      commit d8cae98c upstream.
      
      The documentation for usbmon is out of date; the usbfs "devices" file
      now exists in /sys/kernel/debug/usb rather than /proc/bus/usb.  This
      patch (as1505) updates the documentation accordingly, and also
      mentions that the necessary information can be found by running lsusb.
      Signed-off-by: default avatarAlan Stern <stern@rowland.harvard.edu>
      CC: Pete Zaitcev <zaitcev@redhat.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      90a043b0
    • Jan Kara's avatar
      ext3: Don't warn from writepage when readonly inode is spotted after error · 42e857c9
      Jan Kara authored
      commit 33c104d4 upstream.
      
      WARN_ON_ONCE(IS_RDONLY(inode)) tends to trip when filesystem hits error and is
      remounted read-only. This unnecessarily scares users (well, they should be
      scared because of filesystem error, but the stack trace distracts them from the
      right source of their fear ;-). We could as well just remove the WARN_ON but
      it's not hard to fix it to not trip on filesystem with errors and not use more
      cycles in the common case so that's what we do.
      Signed-off-by: default avatarJan Kara <jack@suse.cz>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      42e857c9