1. 11 12月, 2010 7 次提交
  2. 04 12月, 2010 1 次提交
    • R
      usb: g_audio: Fix crash at driver removal · df4fedea
      Richard Röjfors 提交于
      If g_audio fails to open the sound control device, it crashes at removal:
      
      Insertion:
      [ 4143.836536] g_audio gadget: unable to open sound control device file: /dev/snd/controlC0
      [ 4143.836543] g_audio gadget: we need at least one control device
      [ 4143.836551] g_audio gadget: Linux USB Audio Gadget, version: Dec 18, 2008
      [ 4143.836558] g_audio gadget: g_audio ready
      
      Removal:
      [ 4146.802643] BUG: unable to handle kernel paging request at 00023018
      [ 4146.802655] IP: [<c10af9f5>] filp_close+0xa/0x5b
      [ 4146.802674] *pdpt = 0000000015426001 *pde = 0000000000000000
      [ 4146.802684] Oops: 0000 [#1] PREEMPT SMP
      [ 4146.802692] last sysfs file: /sys/power/state
      [ 4146.802701] Modules linked in: g_audio(-) ioh_udc fuse asix usbnet [last unloaded: g_audio]
      [ 4146.802719]
      [ 4146.802728] Pid: 1394, comm: rmmod Not tainted 2.6.33.5-26.1-ivi #1 To be filled by O.E.M./To be filled by O.E.M.
      [ 4146.802738] EIP: 0060:[<c10af9f5>] EFLAGS: 00010206 CPU: 0
      [ 4146.802746] EIP is at filp_close+0xa/0x5b
      [ 4146.802753] EAX: 00023000 EBX: 00023000 ECX: 00000046 EDX: df842680
      [ 4146.802760] ESI: e071cd4c EDI: df842680 EBP: ddbbbef0 ESP: ddbbbee4
      [ 4146.802768]  DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068
      [ 4146.802776] Process rmmod (pid: 1394, ti=ddbba000 task=dd95a4f0 task.ti=ddbba000)
      [ 4146.802782] Stack:
      [ 4146.802787]  d540c280 e071cd4c df2bc000 ddbbbefc e071b82c df11e440 ddbbbf04 e071c622
      [ 4146.802804] <0> ddbbbf28 e071c47f 00000008 e071cd74 df11e464 df2bc01c df2bc000 e071ce68
      [ 4146.802822] <0> 00000880 ddbbbf38 e07fd1b8 e071cef0 00000000 ddbbbf40 e071b9f4 ddbbbf48
      [ 4146.802842] Call Trace:
      [ 4146.802857]  [<e071b82c>] ? gaudio_cleanup+0x87/0xe0 [g_audio]
      [ 4146.802869]  [<e071c622>] ? audio_unbind+0x8/0xc [g_audio]
      [ 4146.802881]  [<e071c47f>] ? composite_unbind+0x8d/0xcb [g_audio]
      [ 4146.802895]  [<e07fd1b8>] ? usb_gadget_unregister_driver+0x7b/0xc0 [ioh_udc]
      [ 4146.802908]  [<e071b9f4>] ? usb_composite_unregister+0x15/0x17 [g_audio]
      [ 4146.802920]  [<e071c633>] ? cleanup+0xd/0xf [g_audio]
      [ 4146.802932]  [<c105a938>] ? sys_delete_module+0x185/0x1dd
      [ 4146.802944]  [<c101c3ea>] ? do_page_fault+0x248/0x276
      [ 4146.802956]  [<c10027d0>] ? sysenter_do_call+0x12/0x26
      [ 4146.802962] Code: 12 5f 3a 00 8b 43 04 8b 40 0c 0f b3 30 3b 73 44 73 03 89 73 44 89 f8 e8 f1 61 3a 00 5b 5e 5f 5d c3 55 89 e5 57 89 d7 56 53 89 c3 <8b> 40 18 85 c0 75 0f 68 32 15 5e c1 31 f6 e8 52 39 3a 00 5a eb
      [ 4146.803058] EIP: [<c10af9f5>] filp_close+0xa/0x5b SS:ESP 0068:ddbbbee4
      [ 4146.803071] CR2: 0000000000023018
      [ 4146.803112] ---[ end trace 0989a7e023da0434 ]---
      
      This patch makes sure not to assign the_card if gaudio_open_snd_dev fails,
      since the parent function will deallocate the card.
      
      Also make sure all filp's in gaudio_open_snd_dev is assigned NULL upon error
      and gaudio_close_snd_dev only cleanups when the filp's are non-NULL.
      Signed-off-by: NRichard Röjfors <richard.rojfors@pelagicore.com>
      Cc: David Brownell <dbrownell@users.sourceforge.net>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      df4fedea
  3. 01 12月, 2010 3 次提交
  4. 18 11月, 2010 1 次提交
  5. 17 11月, 2010 4 次提交
  6. 11 11月, 2010 10 次提交
  7. 29 10月, 2010 2 次提交
  8. 27 10月, 2010 1 次提交
  9. 26 10月, 2010 1 次提交
    • C
      fs: do not assign default i_ino in new_inode · 85fe4025
      Christoph Hellwig 提交于
      Instead of always assigning an increasing inode number in new_inode
      move the call to assign it into those callers that actually need it.
      For now callers that need it is estimated conservatively, that is
      the call is added to all filesystems that do not assign an i_ino
      by themselves.  For a few more filesystems we can avoid assigning
      any inode number given that they aren't user visible, and for others
      it could be done lazily when an inode number is actually needed,
      but that's left for later patches.
      Signed-off-by: NChristoph Hellwig <hch@lst.de>
      Signed-off-by: NDave Chinner <dchinner@redhat.com>
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      85fe4025
  10. 23 10月, 2010 10 次提交