1. 26 10月, 2012 5 次提交
  2. 15 10月, 2012 6 次提交
  3. 12 10月, 2012 1 次提交
  4. 09 10月, 2012 1 次提交
    • K
      mm: kill vma flag VM_RESERVED and mm->reserved_vm counter · 314e51b9
      Konstantin Khlebnikov 提交于
      A long time ago, in v2.4, VM_RESERVED kept swapout process off VMA,
      currently it lost original meaning but still has some effects:
      
       | effect                 | alternative flags
      -+------------------------+---------------------------------------------
      1| account as reserved_vm | VM_IO
      2| skip in core dump      | VM_IO, VM_DONTDUMP
      3| do not merge or expand | VM_IO, VM_DONTEXPAND, VM_HUGETLB, VM_PFNMAP
      4| do not mlock           | VM_IO, VM_DONTEXPAND, VM_HUGETLB, VM_PFNMAP
      
      This patch removes reserved_vm counter from mm_struct.  Seems like nobody
      cares about it, it does not exported into userspace directly, it only
      reduces total_vm showed in proc.
      
      Thus VM_RESERVED can be replaced with VM_IO or pair VM_DONTEXPAND | VM_DONTDUMP.
      
      remap_pfn_range() and io_remap_pfn_range() set VM_IO|VM_DONTEXPAND|VM_DONTDUMP.
      remap_vmalloc_range() set VM_DONTEXPAND | VM_DONTDUMP.
      
      [akpm@linux-foundation.org: drivers/vfio/pci/vfio_pci.c fixup]
      Signed-off-by: NKonstantin Khlebnikov <khlebnikov@openvz.org>
      Cc: Alexander Viro <viro@zeniv.linux.org.uk>
      Cc: Carsten Otte <cotte@de.ibm.com>
      Cc: Chris Metcalf <cmetcalf@tilera.com>
      Cc: Cyrill Gorcunov <gorcunov@openvz.org>
      Cc: Eric Paris <eparis@redhat.com>
      Cc: H. Peter Anvin <hpa@zytor.com>
      Cc: Hugh Dickins <hughd@google.com>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: James Morris <james.l.morris@oracle.com>
      Cc: Jason Baron <jbaron@redhat.com>
      Cc: Kentaro Takeda <takedakn@nttdata.co.jp>
      Cc: Matt Helsley <matthltc@us.ibm.com>
      Cc: Nick Piggin <npiggin@kernel.dk>
      Cc: Oleg Nesterov <oleg@redhat.com>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Robert Richter <robert.richter@amd.com>
      Cc: Suresh Siddha <suresh.b.siddha@intel.com>
      Cc: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
      Cc: Venkatesh Pallipadi <venki@google.com>
      Acked-by: NLinus Torvalds <torvalds@linux-foundation.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      314e51b9
  5. 04 10月, 2012 1 次提交
  6. 03 10月, 2012 2 次提交
  7. 28 9月, 2012 2 次提交
    • A
      USB: Fix race condition when removing host controllers · 0d00dc26
      Alan Stern 提交于
      This patch (as1607) fixes a race that can occur if a USB host
      controller is removed while a process is reading the
      /sys/kernel/debug/usb/devices file.
      
      The usb_device_read() routine uses the bus->root_hub pointer to
      determine whether or not the root hub is registered.  The is not a
      valid test, because the pointer is set before the root hub gets
      registered and remains set even after the root hub is unregistered and
      deallocated.  As a result, usb_device_read() or usb_device_dump() can
      access freed memory, causing an oops.
      
      The patch changes the test to use the hcd->rh_registered flag, which
      does get set and cleared at the appropriate times.  It also makes sure
      to hold the usb_bus_list_lock mutex while setting the flag, so that
      usb_device_read() will become aware of new root hubs as soon as they
      are registered.
      Signed-off-by: NAlan Stern <stern@rowland.harvard.edu>
      Reported-by: NDon Zickus <dzickus@redhat.com>
      Cc: stable <stable@vger.kernel.org>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      0d00dc26
    • J
      USB: ohci-at91: fix null pointer in ohci_hcd_at91_overcurrent_irq · 01bb6501
      Joachim Eastwood 提交于
      Fixes the following NULL pointer dereference:
      [    7.740000] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
      [    7.810000] Unable to handle kernel NULL pointer dereference at virtual address 00000028
      [    7.810000] pgd = c3a38000
      [    7.810000] [00000028] *pgd=23a8c831, *pte=00000000, *ppte=00000000
      [    7.810000] Internal error: Oops: 17 [#1] PREEMPT ARM
      [    7.810000] Modules linked in: ohci_hcd(+) regmap_i2c snd_pcm usbcore snd_page_alloc at91_cf snd_timer pcmcia_rsrc snd soundcore gpio_keys regmap_spi pcmcia_core usb_common nls_base
      [    7.810000] CPU: 0    Not tainted  (3.6.0-rc6-mpa+ #264)
      [    7.810000] PC is at __gpio_to_irq+0x18/0x40
      [    7.810000] LR is at ohci_hcd_at91_overcurrent_irq+0x24/0xb4 [ohci_hcd]
      [    7.810000] pc : [<c01392d4>]    lr : [<bf08f694>]    psr: 40000093
      [    7.810000] sp : c3a11c40  ip : c3a11c50  fp : c3a11c4c
      [    7.810000] r10: 00000000  r9 : c02dcd6e  r8 : fefff400
      [    7.810000] r7 : 00000000  r6 : c02cc928  r5 : 00000030  r4 : c02dd168
      [    7.810000] r3 : c02e7350  r2 : ffffffea  r1 : c02cc928  r0 : 00000000
      [    7.810000] Flags: nZcv  IRQs off  FIQs on  Mode SVC_32  ISA ARM  Segment user
      [    7.810000] Control: c000717f  Table: 23a38000  DAC: 00000015
      [    7.810000] Process modprobe (pid: 285, stack limit = 0xc3a10270)
      [    7.810000] Stack: (0xc3a11c40 to 0xc3a12000)
      [    7.810000] 1c40: c3a11c6c c3a11c50 bf08f694 c01392cc c3a11c84 c2c38b00 c3806900 00000030
      [    7.810000] 1c60: c3a11ca4 c3a11c70 c0051264 bf08f680 c3a11cac c3a11c80 c003e764 c3806900
      [    7.810000] 1c80: c2c38b00 c02cb05c c02cb000 fefff400 c3806930 c3a11cf4 c3a11cbc c3a11ca8
      [    7.810000] 1ca0: c005142c c005123c c3806900 c3805a00 c3a11cd4 c3a11cc0 c0053f24 c00513e4
      [    7.810000] 1cc0: c3a11cf4 00000030 c3a11cec c3a11cd8 c005120c c0053e88 00000000 00000000
      [    7.810000] 1ce0: c3a11d1c c3a11cf0 c00124d0 c00511e0 01400000 00000001 00000012 00000000
      [    7.810000] 1d00: ffffffff c3a11d94 00000030 00000000 c3a11d34 c3a11d20 c005120c c0012438
      [    7.810000] 1d20: c001dac4 00000012 c3a11d4c c3a11d38 c0009b08 c00511e0 c00523fc 60000013
      [    7.810000] 1d40: c3a11d5c c3a11d50 c0008510 c0009ab4 c3a11ddc c3a11d60 c0008eb4 c00084f0
      [    7.810000] 1d60: 00000000 00000030 00000000 00000080 60000013 bf08f670 c3806900 c2c38b00
      [    7.810000] 1d80: 00000030 c3806930 00000000 c3a11ddc c3a11d88 c3a11da8 c0054190 c00523fc
      [    7.810000] 1da0: 60000013 ffffffff c3a11dec c3a11db8 00000000 c2c38b00 bf08f670 c3806900
      [    7.810000] 1dc0: 00000000 00000080 c02cc928 00000030 c3a11e0c c3a11de0 c0052764 c00520d8
      [    7.810000] 1de0: c3a11dfc 00000000 00000000 00000002 bf090f61 00000004 c02cc930 c02cc928
      [    7.810000] 1e00: c3a11e4c c3a11e10 bf090978 c005269c bf090f61 c02cc928 bf093000 c02dd170
      [    7.810000] 1e20: c3a11e3c c02cc930 c02cc930 bf0911d0 bf0911d0 bf093000 c3a10000 00000000
      [    7.810000] 1e40: c3a11e5c c3a11e50 c0155b7c bf090808 c3a11e7c c3a11e60 c0154690 c0155b6c
      [    7.810000] 1e60: c02cc930 c02cc964 bf0911d0 c3a11ea0 c3a11e9c c3a11e80 c015484c c01545e8
      [    7.810000] 1e80: 00000000 00000000 c01547e4 bf0911d0 c3a11ec4 c3a11ea0 c0152e58 c01547f4
      [    7.810000] 1ea0: c381b88c c384ab10 c2c10540 bf0911d0 00000000 c02d7518 c3a11ed4 c3a11ec8
      [    7.810000] 1ec0: c01544c0 c0152e0c c3a11efc c3a11ed8 c01536cc c01544b0 bf091075 c3a11ee8
      [    7.810000] 1ee0: bf049af0 bf09120c bf0911d0 00000000 c3a11f1c c3a11f00 c0154e9c c0153628
      [    7.810000] 1f00: bf049af0 bf09120c 000ae190 00000000 c3a11f2c c3a11f20 c0155f58 c0154e04
      [    7.810000] 1f20: c3a11f44 c3a11f30 bf093054 c0155f1c 00000000 00006a4f c3a11f7c c3a11f48
      [    7.810000] 1f40: c0008638 bf093010 bf09120c 000ae190 00000000 c00093c4 00006a4f bf09120c
      [    7.810000] 1f60: 000ae190 00000000 c00093c4 00000000 c3a11fa4 c3a11f80 c004fdc4 c000859c
      [    7.810000] 1f80: c3a11fa4 000ae190 00006a4f 00016eb8 000ad018 00000080 00000000 c3a11fa8
      [    7.810000] 1fa0: c0009260 c004fd58 00006a4f 00016eb8 000ae190 00006a4f 000ae100 00000000
      [    7.810000] 1fc0: 00006a4f 00016eb8 000ad018 00000080 000adba0 000ad208 00000000 000ad3d8
      [    7.810000] 1fe0: beaf7ae8 beaf7ad8 000172b8 b6e4e940 20000010 000ae190 00000000 00000000
      [    7.810000] Backtrace:
      [    7.810000] [<c01392bc>] (__gpio_to_irq+0x0/0x40) from [<bf08f694>] (ohci_hcd_at91_overcurrent_irq+0x24/0xb4 [ohci_hcd])
      [    7.810000] [<bf08f670>] (ohci_hcd_at91_overcurrent_irq+0x0/0xb4 [ohci_hcd]) from [<c0051264>] (handle_irq_event_percpu+0x38/0x1a8)
      [    7.810000]  r6:00000030 r5:c3806900 r4:c2c38b00
      [    7.810000] [<c005122c>] (handle_irq_event_percpu+0x0/0x1a8) from [<c005142c>] (handle_irq_event+0x58/0x7c)
      [    7.810000] [<c00513d4>] (handle_irq_event+0x0/0x7c) from [<c0053f24>] (handle_simple_irq+0xac/0xd8)
      [    7.810000]  r5:c3805a00 r4:c3806900
      [    7.810000] [<c0053e78>] (handle_simple_irq+0x0/0xd8) from [<c005120c>] (generic_handle_irq+0x3c/0x48)
      [    7.810000]  r4:00000030
      [    7.810000] [<c00511d0>] (generic_handle_irq+0x0/0x48) from [<c00124d0>] (gpio_irq_handler+0xa8/0xfc)
      [    7.810000]  r4:00000000
      [    7.810000] [<c0012428>] (gpio_irq_handler+0x0/0xfc) from [<c005120c>] (generic_handle_irq+0x3c/0x48)
      [    7.810000] [<c00511d0>] (generic_handle_irq+0x0/0x48) from [<c0009b08>] (handle_IRQ+0x64/0x88)
      [    7.810000]  r4:00000012
      [    7.810000] [<c0009aa4>] (handle_IRQ+0x0/0x88) from [<c0008510>] (at91_aic_handle_irq+0x30/0x38)
      [    7.810000]  r5:60000013 r4:c00523fc
      [    7.810000] [<c00084e0>] (at91_aic_handle_irq+0x0/0x38) from [<c0008eb4>] (__irq_svc+0x34/0x60)
      [    7.810000] Exception stack(0xc3a11d60 to 0xc3a11da8)
      [    7.810000] 1d60: 00000000 00000030 00000000 00000080 60000013 bf08f670 c3806900 c2c38b00
      [    7.810000] 1d80: 00000030 c3806930 00000000 c3a11ddc c3a11d88 c3a11da8 c0054190 c00523fc
      [    7.810000] 1da0: 60000013 ffffffff
      [    7.810000] [<c00520c8>] (__setup_irq+0x0/0x458) from [<c0052764>] (request_threaded_irq+0xd8/0x134)
      [    7.810000] [<c005268c>] (request_threaded_irq+0x0/0x134) from [<bf090978>] (ohci_hcd_at91_drv_probe+0x180/0x41c [ohci_hcd])
      [    7.810000] [<bf0907f8>] (ohci_hcd_at91_drv_probe+0x0/0x41c [ohci_hcd]) from [<c0155b7c>] (platform_drv_probe+0x20/0x24)
      [    7.810000] [<c0155b5c>] (platform_drv_probe+0x0/0x24) from [<c0154690>] (driver_probe_device+0xb8/0x20c)
      [    7.810000] [<c01545d8>] (driver_probe_device+0x0/0x20c) from [<c015484c>] (__driver_attach+0x68/0x88)
      [    7.810000]  r7:c3a11ea0 r6:bf0911d0 r5:c02cc964 r4:c02cc930
      [    7.810000] [<c01547e4>] (__driver_attach+0x0/0x88) from [<c0152e58>] (bus_for_each_dev+0x5c/0x9c)
      [    7.810000]  r6:bf0911d0 r5:c01547e4 r4:00000000
      [    7.810000] [<c0152dfc>] (bus_for_each_dev+0x0/0x9c) from [<c01544c0>] (driver_attach+0x20/0x28)
      [    7.810000]  r7:c02d7518 r6:00000000 r5:bf0911d0 r4:c2c10540
      [    7.810000] [<c01544a0>] (driver_attach+0x0/0x28) from [<c01536cc>] (bus_add_driver+0xb4/0x22c)
      [    7.810000] [<c0153618>] (bus_add_driver+0x0/0x22c) from [<c0154e9c>] (driver_register+0xa8/0x144)
      [    7.810000]  r7:00000000 r6:bf0911d0 r5:bf09120c r4:bf049af0
      [    7.810000] [<c0154df4>] (driver_register+0x0/0x144) from [<c0155f58>] (platform_driver_register+0x4c/0x60)
      [    7.810000]  r7:00000000 r6:000ae190 r5:bf09120c r4:bf049af0
      [    7.810000] [<c0155f0c>] (platform_driver_register+0x0/0x60) from [<bf093054>] (ohci_hcd_mod_init+0x54/0x8c [ohci_hcd])
      [    7.810000] [<bf093000>] (ohci_hcd_mod_init+0x0/0x8c [ohci_hcd]) from [<c0008638>] (do_one_initcall+0xac/0x174)
      [    7.810000]  r4:00006a4f
      [    7.810000] [<c000858c>] (do_one_initcall+0x0/0x174) from [<c004fdc4>] (sys_init_module+0x7c/0x1a0)
      [    7.810000] [<c004fd48>] (sys_init_module+0x0/0x1a0) from [<c0009260>] (ret_fast_syscall+0x0/0x2c)
      [    7.810000]  r7:00000080 r6:000ad018 r5:00016eb8 r4:00006a4f
      [    7.810000] Code: e24cb004 e59f3028 e1a02000 e7930180 (e5903028)
      [    7.810000] ---[ end trace 85aa37ed128143b5 ]---
      [    7.810000] Kernel panic - not syncing: Fatal exception in interrupt
      
      Commit 6fffb77c (USB: ohci-at91: fix PIO handling in relation with number of
      ports) started setting unused pins to EINVAL. But this exposed a bug in the
      ohci_hcd_at91_overcurrent_irq function where the gpio was used without being
      checked to see if it is valid.
      
      This patches fixed the issue by adding the gpio valid check.
      Signed-off-by: NJoachim Eastwood <joachim.eastwood@jotron.com>
      Cc: stable <stable@vger.kernel.org> # [3.4+] whereever 6fffb77c went
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      01bb6501
  8. 27 9月, 2012 5 次提交
  9. 26 9月, 2012 6 次提交
  10. 25 9月, 2012 7 次提交
    • S
      powerpc/usb: remove checking PHY_CLK_VALID for UTMI PHY · 5ed33877
      Shengzhou Liu 提交于
      PHY_CLK_VALID bit doesn't work properly with UTMI PHY.
      e.g. This bit is always zero on P5040, etc.
      There is no need to check this bit for UTMI PHY, just keep
      checking for ULPI PHY to prevent system hanging.
      
      This patch should be squashed into previous commit 3735ba8d
      "powerpc/usb: fix bug of CPU hang when missing USB PHY clock"
      Signed-off-by: NShengzhou Liu <Shengzhou.Liu@freescale.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      5ed33877
    • A
      USB: ftdi_sio: add TIAO USB Multi-Protocol Adapter (TUMPA) support · 54575b05
      Antonio Ospite 提交于
      TIAO/DIYGADGET USB Multi-Protocol Adapter (TUMPA) is an FTDI FT2232H
      based device which provides an easily accessible JTAG, SPI, I2C, serial
      breakout.
      
      http://www.diygadget.com/tiao-usb-multi-protocol-adapter-jtag-spi-i2c-serial.html
      http://www.tiaowiki.com/w/TIAO_USB_Multi_Protocol_Adapter_User%27s_Manual
      
      FTDI FT2232H provides two serial channels (A and B), but on the TUMPA
      channel A is dedicated to JTAG/SPI while channel B can be used for
      UART/RS-232: use the ftdi_jtag_quirk to expose only channel B as
      a usb-serial interface to userspace.
      Signed-off-by: NAntonio Ospite <ospite@studenti.unina.it>
      Cc: stable <stable@vger.kernel.org>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      54575b05
    • G
      Revert "usb : Add sysfs files to control port power." · a0693bd0
      Greg Kroah-Hartman 提交于
      This reverts commit ca9c9d0c.
      
      Rafael wants more time to work on the user api to handle port power
      issues, so let's just revert the sysfs changes for now.
      Reported-by: NRafael J. Wysocki <rjw@sisk.pl>
      Cc: Lan Tianyu <tianyu.lan@intel.com>
      Cc: Alan Stern <stern@rowland.harvard.edu>
      Cc: Sarah Sharp <sarah.a.sharp@linux.intel.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      a0693bd0
    • G
      USB: serial: remove vizzini driver · 64f0d8cd
      Greg Kroah-Hartman 提交于
      It's out-dated for the tty-layer stuff, and would require a bunch of
      work.  That's not really a big deal, the big issue is that there is no
      company contact for the hardware, so questions we have about it (like
      why isn't this just handled by the cdc-acm driver instead?) go
      unanswered.
      
      So drop the driver.  If someone comes along to help answer the
      questions, we can easily revert this and fix up the code.
      
      Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>
      Cc: Rob Duncan <rob.duncan@exar.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      64f0d8cd
    • V
      usb: host: xhci: Fix Null pointer dereferencing with 71c731a2 for non-x86 systems · 457a73d3
      Vivek Gautam 提交于
      In 71c731a2: usb: host: xhci: Fix Compliance Mode on SN65LVPE502CP Hardware
      when extracting DMI strings (vendor or product_name) to mark them as quirk
      we may get NULL pointer in case of non-x86 systems which won't define
      CONFIG_DMI. Hence susbsequent strstr() calls crash while driver probing.
      
      So, returning 'false' here in case we get a NULL vendor or product_name.
      
      This is tested with ARM (exynos) system.
      
      This patch should be backported to stable kernels as old as 3.6, that
      contain the commit 71c731a2 "usb: host:
      xhci: Fix Compliance Mode on SN65LVPE502CP Hardware"
      Signed-off-by: NVivek Gautam <gautam.vivek@samsung.com>
      Signed-off-by: NSarah Sharp <sarah.a.sharp@linux.intel.com>
      Reported-by: NSebastian Gottschall (DD-WRT) <s.gottschall@dd-wrt.com>
      Cc: stable@vger.kernel.org
      457a73d3
    • M
      Increase XHCI suspend timeout to 16ms · a6e097df
      Michael Spang 提交于
      The Intel XHCI specification says that after clearing the run/stop bit
      the controller may take up to 16ms to halt. We've seen a device take
      14ms, which with the current timeout of 10ms causes the kernel to
      abort the suspend. Increasing the timeout to the recommended value
      fixes the problem.
      
      This patch should be backported to kernels as old as 2.6.37, that
      contain the commit 5535b1d5 "USB: xHCI:
      PCI power management implementation".
      Signed-off-by: NMichael Spang <spang@chromium.org>
      Signed-off-by: NSarah Sharp <sarah.a.sharp@linux.intel.com>
      Cc: stable@vger.kernel.org
      a6e097df
    • J
      USB: ohci-at91: fix null pointer in ohci_hcd_at91_overcurrent_irq · f3f4bf5c
      Joachim Eastwood 提交于
      Fixes the following NULL pointer dereference:
      [    7.740000] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
      [    7.810000] Unable to handle kernel NULL pointer dereference at virtual address 00000028
      [    7.810000] pgd = c3a38000
      [    7.810000] [00000028] *pgd=23a8c831, *pte=00000000, *ppte=00000000
      [    7.810000] Internal error: Oops: 17 [#1] PREEMPT ARM
      [    7.810000] Modules linked in: ohci_hcd(+) regmap_i2c snd_pcm usbcore snd_page_alloc at91_cf snd_timer pcmcia_rsrc snd soundcore gpio_keys regmap_spi pcmcia_core usb_common nls_base
      [    7.810000] CPU: 0    Not tainted  (3.6.0-rc6-mpa+ #264)
      [    7.810000] PC is at __gpio_to_irq+0x18/0x40
      [    7.810000] LR is at ohci_hcd_at91_overcurrent_irq+0x24/0xb4 [ohci_hcd]
      [    7.810000] pc : [<c01392d4>]    lr : [<bf08f694>]    psr: 40000093
      [    7.810000] sp : c3a11c40  ip : c3a11c50  fp : c3a11c4c
      [    7.810000] r10: 00000000  r9 : c02dcd6e  r8 : fefff400
      [    7.810000] r7 : 00000000  r6 : c02cc928  r5 : 00000030  r4 : c02dd168
      [    7.810000] r3 : c02e7350  r2 : ffffffea  r1 : c02cc928  r0 : 00000000
      [    7.810000] Flags: nZcv  IRQs off  FIQs on  Mode SVC_32  ISA ARM  Segment user
      [    7.810000] Control: c000717f  Table: 23a38000  DAC: 00000015
      [    7.810000] Process modprobe (pid: 285, stack limit = 0xc3a10270)
      [    7.810000] Stack: (0xc3a11c40 to 0xc3a12000)
      [    7.810000] 1c40: c3a11c6c c3a11c50 bf08f694 c01392cc c3a11c84 c2c38b00 c3806900 00000030
      [    7.810000] 1c60: c3a11ca4 c3a11c70 c0051264 bf08f680 c3a11cac c3a11c80 c003e764 c3806900
      [    7.810000] 1c80: c2c38b00 c02cb05c c02cb000 fefff400 c3806930 c3a11cf4 c3a11cbc c3a11ca8
      [    7.810000] 1ca0: c005142c c005123c c3806900 c3805a00 c3a11cd4 c3a11cc0 c0053f24 c00513e4
      [    7.810000] 1cc0: c3a11cf4 00000030 c3a11cec c3a11cd8 c005120c c0053e88 00000000 00000000
      [    7.810000] 1ce0: c3a11d1c c3a11cf0 c00124d0 c00511e0 01400000 00000001 00000012 00000000
      [    7.810000] 1d00: ffffffff c3a11d94 00000030 00000000 c3a11d34 c3a11d20 c005120c c0012438
      [    7.810000] 1d20: c001dac4 00000012 c3a11d4c c3a11d38 c0009b08 c00511e0 c00523fc 60000013
      [    7.810000] 1d40: c3a11d5c c3a11d50 c0008510 c0009ab4 c3a11ddc c3a11d60 c0008eb4 c00084f0
      [    7.810000] 1d60: 00000000 00000030 00000000 00000080 60000013 bf08f670 c3806900 c2c38b00
      [    7.810000] 1d80: 00000030 c3806930 00000000 c3a11ddc c3a11d88 c3a11da8 c0054190 c00523fc
      [    7.810000] 1da0: 60000013 ffffffff c3a11dec c3a11db8 00000000 c2c38b00 bf08f670 c3806900
      [    7.810000] 1dc0: 00000000 00000080 c02cc928 00000030 c3a11e0c c3a11de0 c0052764 c00520d8
      [    7.810000] 1de0: c3a11dfc 00000000 00000000 00000002 bf090f61 00000004 c02cc930 c02cc928
      [    7.810000] 1e00: c3a11e4c c3a11e10 bf090978 c005269c bf090f61 c02cc928 bf093000 c02dd170
      [    7.810000] 1e20: c3a11e3c c02cc930 c02cc930 bf0911d0 bf0911d0 bf093000 c3a10000 00000000
      [    7.810000] 1e40: c3a11e5c c3a11e50 c0155b7c bf090808 c3a11e7c c3a11e60 c0154690 c0155b6c
      [    7.810000] 1e60: c02cc930 c02cc964 bf0911d0 c3a11ea0 c3a11e9c c3a11e80 c015484c c01545e8
      [    7.810000] 1e80: 00000000 00000000 c01547e4 bf0911d0 c3a11ec4 c3a11ea0 c0152e58 c01547f4
      [    7.810000] 1ea0: c381b88c c384ab10 c2c10540 bf0911d0 00000000 c02d7518 c3a11ed4 c3a11ec8
      [    7.810000] 1ec0: c01544c0 c0152e0c c3a11efc c3a11ed8 c01536cc c01544b0 bf091075 c3a11ee8
      [    7.810000] 1ee0: bf049af0 bf09120c bf0911d0 00000000 c3a11f1c c3a11f00 c0154e9c c0153628
      [    7.810000] 1f00: bf049af0 bf09120c 000ae190 00000000 c3a11f2c c3a11f20 c0155f58 c0154e04
      [    7.810000] 1f20: c3a11f44 c3a11f30 bf093054 c0155f1c 00000000 00006a4f c3a11f7c c3a11f48
      [    7.810000] 1f40: c0008638 bf093010 bf09120c 000ae190 00000000 c00093c4 00006a4f bf09120c
      [    7.810000] 1f60: 000ae190 00000000 c00093c4 00000000 c3a11fa4 c3a11f80 c004fdc4 c000859c
      [    7.810000] 1f80: c3a11fa4 000ae190 00006a4f 00016eb8 000ad018 00000080 00000000 c3a11fa8
      [    7.810000] 1fa0: c0009260 c004fd58 00006a4f 00016eb8 000ae190 00006a4f 000ae100 00000000
      [    7.810000] 1fc0: 00006a4f 00016eb8 000ad018 00000080 000adba0 000ad208 00000000 000ad3d8
      [    7.810000] 1fe0: beaf7ae8 beaf7ad8 000172b8 b6e4e940 20000010 000ae190 00000000 00000000
      [    7.810000] Backtrace:
      [    7.810000] [<c01392bc>] (__gpio_to_irq+0x0/0x40) from [<bf08f694>] (ohci_hcd_at91_overcurrent_irq+0x24/0xb4 [ohci_hcd])
      [    7.810000] [<bf08f670>] (ohci_hcd_at91_overcurrent_irq+0x0/0xb4 [ohci_hcd]) from [<c0051264>] (handle_irq_event_percpu+0x38/0x1a8)
      [    7.810000]  r6:00000030 r5:c3806900 r4:c2c38b00
      [    7.810000] [<c005122c>] (handle_irq_event_percpu+0x0/0x1a8) from [<c005142c>] (handle_irq_event+0x58/0x7c)
      [    7.810000] [<c00513d4>] (handle_irq_event+0x0/0x7c) from [<c0053f24>] (handle_simple_irq+0xac/0xd8)
      [    7.810000]  r5:c3805a00 r4:c3806900
      [    7.810000] [<c0053e78>] (handle_simple_irq+0x0/0xd8) from [<c005120c>] (generic_handle_irq+0x3c/0x48)
      [    7.810000]  r4:00000030
      [    7.810000] [<c00511d0>] (generic_handle_irq+0x0/0x48) from [<c00124d0>] (gpio_irq_handler+0xa8/0xfc)
      [    7.810000]  r4:00000000
      [    7.810000] [<c0012428>] (gpio_irq_handler+0x0/0xfc) from [<c005120c>] (generic_handle_irq+0x3c/0x48)
      [    7.810000] [<c00511d0>] (generic_handle_irq+0x0/0x48) from [<c0009b08>] (handle_IRQ+0x64/0x88)
      [    7.810000]  r4:00000012
      [    7.810000] [<c0009aa4>] (handle_IRQ+0x0/0x88) from [<c0008510>] (at91_aic_handle_irq+0x30/0x38)
      [    7.810000]  r5:60000013 r4:c00523fc
      [    7.810000] [<c00084e0>] (at91_aic_handle_irq+0x0/0x38) from [<c0008eb4>] (__irq_svc+0x34/0x60)
      [    7.810000] Exception stack(0xc3a11d60 to 0xc3a11da8)
      [    7.810000] 1d60: 00000000 00000030 00000000 00000080 60000013 bf08f670 c3806900 c2c38b00
      [    7.810000] 1d80: 00000030 c3806930 00000000 c3a11ddc c3a11d88 c3a11da8 c0054190 c00523fc
      [    7.810000] 1da0: 60000013 ffffffff
      [    7.810000] [<c00520c8>] (__setup_irq+0x0/0x458) from [<c0052764>] (request_threaded_irq+0xd8/0x134)
      [    7.810000] [<c005268c>] (request_threaded_irq+0x0/0x134) from [<bf090978>] (ohci_hcd_at91_drv_probe+0x180/0x41c [ohci_hcd])
      [    7.810000] [<bf0907f8>] (ohci_hcd_at91_drv_probe+0x0/0x41c [ohci_hcd]) from [<c0155b7c>] (platform_drv_probe+0x20/0x24)
      [    7.810000] [<c0155b5c>] (platform_drv_probe+0x0/0x24) from [<c0154690>] (driver_probe_device+0xb8/0x20c)
      [    7.810000] [<c01545d8>] (driver_probe_device+0x0/0x20c) from [<c015484c>] (__driver_attach+0x68/0x88)
      [    7.810000]  r7:c3a11ea0 r6:bf0911d0 r5:c02cc964 r4:c02cc930
      [    7.810000] [<c01547e4>] (__driver_attach+0x0/0x88) from [<c0152e58>] (bus_for_each_dev+0x5c/0x9c)
      [    7.810000]  r6:bf0911d0 r5:c01547e4 r4:00000000
      [    7.810000] [<c0152dfc>] (bus_for_each_dev+0x0/0x9c) from [<c01544c0>] (driver_attach+0x20/0x28)
      [    7.810000]  r7:c02d7518 r6:00000000 r5:bf0911d0 r4:c2c10540
      [    7.810000] [<c01544a0>] (driver_attach+0x0/0x28) from [<c01536cc>] (bus_add_driver+0xb4/0x22c)
      [    7.810000] [<c0153618>] (bus_add_driver+0x0/0x22c) from [<c0154e9c>] (driver_register+0xa8/0x144)
      [    7.810000]  r7:00000000 r6:bf0911d0 r5:bf09120c r4:bf049af0
      [    7.810000] [<c0154df4>] (driver_register+0x0/0x144) from [<c0155f58>] (platform_driver_register+0x4c/0x60)
      [    7.810000]  r7:00000000 r6:000ae190 r5:bf09120c r4:bf049af0
      [    7.810000] [<c0155f0c>] (platform_driver_register+0x0/0x60) from [<bf093054>] (ohci_hcd_mod_init+0x54/0x8c [ohci_hcd])
      [    7.810000] [<bf093000>] (ohci_hcd_mod_init+0x0/0x8c [ohci_hcd]) from [<c0008638>] (do_one_initcall+0xac/0x174)
      [    7.810000]  r4:00006a4f
      [    7.810000] [<c000858c>] (do_one_initcall+0x0/0x174) from [<c004fdc4>] (sys_init_module+0x7c/0x1a0)
      [    7.810000] [<c004fd48>] (sys_init_module+0x0/0x1a0) from [<c0009260>] (ret_fast_syscall+0x0/0x2c)
      [    7.810000]  r7:00000080 r6:000ad018 r5:00016eb8 r4:00006a4f
      [    7.810000] Code: e24cb004 e59f3028 e1a02000 e7930180 (e5903028)
      [    7.810000] ---[ end trace 85aa37ed128143b5 ]---
      [    7.810000] Kernel panic - not syncing: Fatal exception in interrupt
      
      Commit 6fffb77c (USB: ohci-at91: fix PIO handling in relation with number of
      ports) started setting unused pins to EINVAL. But this exposed a bug in the
      ohci_hcd_at91_overcurrent_irq function where the gpio was used without being
      checked to see if it is valid.
      
      This patches fixed the issue by adding the gpio valid check.
      Signed-off-by: NJoachim Eastwood <joachim.eastwood@jotron.com>
      Cc: stable <stable@vger.kernel.org> # [3.4+] whereever 6fffb77c went
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      f3f4bf5c
  11. 22 9月, 2012 4 次提交