1. 18 5月, 2010 1 次提交
  2. 08 5月, 2010 1 次提交
    • C
      ar9170: wait for asynchronous firmware loading · 160b8242
      Christian Lamparter 提交于
      This patch fixes a regression introduced by the following patch:
      "ar9170: load firmware asynchronously"
      
      When we kick off a firmware loading request and then unbind,
      or disconnect the usb device right away, we get into trouble:
      
      > ------------[ cut here ]------------
      > WARNING: at lib/kref.c:44 kref_get+0x1c/0x20()
      > Hardware name: 18666GU
      > Modules linked in: ar9170usb [...]
      > Pid: 6588, comm: firmware/ar9170 Not tainted 2.6.34-rc5-wl #43
      > Call Trace:
      > [<c102b05e>] ? warn_slowpath_common+0x6e/0xb0
      > [<c117c93c>] ? kref_get+0x1c/0x20
      > [<c102b0b3>] ? warn_slowpath_null+0x13/0x20
      > [<c117c93c>] ? kref_get+0x1c/0x20
      > [<c117bb2f>] ? kobject_get+0xf/0x20
      > [<c124d630>] ? get_device+0x10/0x20
      > [<c124e5a0>] ? device_add+0x60/0x530
      > [<c117b8b5>] ? kobject_init+0x25/0xa0
      > [<c12569f9>] ? _request_firmware+0x139/0x3e0
      > [<c1256cc0>] ? request_firmware_work_func+0x20/0x70
      > [<c1256ca0>] ? request_firmware_work_func+0x0/0x70
      > [<c103ff24>] ? kthread+0x74/0x80
      > [<c103feb0>] ? kthread+0x0/0x80
      > [<c1003136>] ? kernel_thread_helper+0x6/0x10
      >---[ end trace 2d50bd818f64a1b7 ]---
      - followed by a random Oops -
      
      Avoid that by waiting for the firmware loading to finish
      (whether successfully or not) before the unbind in
      ar9170_usb_disconnect.
      Reported-by: NJohannes Berg <johannes@sipsolutions.net>
      Bug-fixed-by: NJohannes Berg <johannes@sipsolutions.net>
      Signed-off-by: NChristian Lamparter <chunkeey@googlemail.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      160b8242
  3. 06 5月, 2010 3 次提交
  4. 05 5月, 2010 1 次提交
  5. 04 5月, 2010 5 次提交
  6. 02 5月, 2010 1 次提交
  7. 01 5月, 2010 5 次提交
  8. 29 4月, 2010 4 次提交
  9. 28 4月, 2010 12 次提交
  10. 27 4月, 2010 4 次提交
  11. 25 4月, 2010 1 次提交
  12. 24 4月, 2010 2 次提交
    • A
      gianfar: Fix potential oops during OF address translation · 7ce97d4f
      Anton Vorontsov 提交于
      gianfar driver may pass NULL pointer to the of_translate_address(),
      which may lead to a kernel oops. Fix this by using of_iomap(), which
      is also much simpler and shorter.
      Signed-off-by: NAnton Vorontsov <avorontsov@mvista.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      7ce97d4f
    • A
      fsl_pq_mdio: Fix kernel oops during OF address translation · 3b1fd3e5
      Anton Vorontsov 提交于
      Old P1020RDB device trees were not specifing tbipa address for
      MDIO nodes, which is now causing this kernel oops:
      
       ...
       eth2: TX BD ring size for Q[6]: 256
       eth2: TX BD ring size for Q[7]: 256
       Unable to handle kernel paging request for data at address 0x00000000
       Faulting instruction address: 0xc0015504
       Oops: Kernel access of bad area, sig: 11 [#1]
       ...
       NIP [c0015504] memcpy+0x3c/0x9c
       LR [c000a9f8] __of_translate_address+0xfc/0x21c
       Call Trace:
       [df839e00] [c000a94c] __of_translate_address+0x50/0x21c (unreliable)
       [df839e50] [c01a33e8] get_gfar_tbipa+0xb0/0xe0
       ...
      
      The old device trees are buggy, though having a dead ethernet is
      better than a dead kernel, so fix the issue by using of_iomap().
      
      Also, a somewhat similar issue exist in the probe() routine, though
      there the oops is only a possibility. Nonetheless, fix it too.
      Signed-off-by: NAnton Vorontsov <avorontsov@mvista.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      3b1fd3e5