• Christian Lamparter's avatar
    ar9170usb: fix read from freed driver context · 50019600
    Christian Lamparter authored
    Commit "ar9170: wait for asynchronous firmware loading"
    introduced a bug, which is triggered by fatal errors
    while the driver is initializing the device.
    
    BUG: unable to handle kernel paging request at 6b6b6bf7
    IP: [<c117b567>] kobject_put+0x7/0x70
    *pde = 00000000
    Oops: 0000 [#1] PREEMPT
    last sysfs file: /sys/devices/platform/hdaps/position
    Modules linked in: ar9170usb [...]
    
    Pid: 6246, comm: firmware/ar9170 Not tainted 2.6.34-wl #54
    EIP: 0060:[<c117b567>] EFLAGS: 00010206 CPU: 0
    EIP is at kobject_put+0x7/0x70
    EAX: 6b6b6bd7 EBX: f4d3d0e0 ECX: f5ba9124 EDX: f6af2a7c
    ESI: 00000000 EDI: f4d3d0e0 EBP: 00000000 ESP: f5e98f9c
     DS: 007b ES: 007b FS: 0000 GS: 0000 SS: 0068
    Process firmware/ar9170 (pid: 6246)
    Stack:
     c12532ed 00000246 f5bfaa70 f8487353 f4d3d0e0
    Call Trace:
     [<c12532ed>] ? device_release_driver+0x1d/0x30
     [<f8487353>] ? ar9170_usb_firmware_failed+0x43/0x70 [ar9170usb]
     [<c125983c>] ? request_firmware_work_func+0x2c/0x70
     [<c1259810>] ? request_firmware_work_func+0x0/0x70
     [<c10413f4>] ? kthread+0x74/0x80
     [<c1041380>] ? kthread+0x0/0x80
     [<c1003136>] ? kernel_thread_helper+0x6/0x10
    Code: 40 d3 f2 ff 85 c0 89 c3 74 0a ba 44 86 4c c1 e8 [...]
    EIP: [<c117b567>] kobject_put+0x7/0x70 SS:ESP 0068:f5e98f9c
    CR2: 000000006b6b6bf7
    ---[ end trace e81abb992434b410 ]---
    Signed-off-by: default avatarChristian Lamparter <chunkeey@googlemail.com>
    Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
    50019600
usb.c 22.8 KB