Re: [PATCH] usb/musb: fix gadget error path

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Aug 10, 2011 at 11:01:57AM +0200, Sebastian Andrzej Siewior wrote:
> In case one "forgot" to load the receiver i.e. doing
> |modprobe omap2430
> |modprobe musb_hdrc
> 
> he ends up with:
> 
> |musb-hdrc: version 6.0, ?dma?, otg (peripheral+host)
> |HS USB OTG: no transceiver configured
> |musb-hdrc musb-hdrc: musb_init_controller failed with status -19
> |(NULL device *): gadget not registered.
> |Unable to handle kernel NULL pointer dereference at virtual address 0000001c
> |Internal error: Oops: 17 [#1] SMP
> |[<c011383c>] (sysfs_find_dirent+0x4/0x60) from [<c01138c0>] (sysfs_get_dirent+0x28/0x78)
> |[<c01138c0>] (sysfs_get_dirent+0x28/0x78) from [<c0115b78>] (sysfs_unmerge_group+0x1c/0x90)
> |[<c0115b78>] (sysfs_unmerge_group+0x1c/0x90) from [<c0179ba4>] (dpm_sysfs_remove+0x14/0x3c)
> |[<c0179ba4>] (dpm_sysfs_remove+0x14/0x3c) from [<c01742f8>] (device_del+0x40/0x1b4)
> |[<c01742f8>] (device_del+0x40/0x1b4) from [<c0174478>] (device_unregister+0xc/0x18)
> |[<c0174478>] (device_unregister+0xc/0x18) from [<bf0489b4>] (musb_free+0x24/0x88 [musb_hdrc])
> |[<bf0489b4>] (musb_free+0x24/0x88 [musb_hdrc]) from [<bf057d18>] (musb_probe+0xb50/0xe3c [musb_hdrc])
> |[<bf057d18>] (musb_probe+0xb50/0xe3c [musb_hdrc]) from [<c01779c4>] (platform_drv_probe+0x1c/0x24)
> 
> The problem is that musb_free() tries to figure out what was
> initializued and what wasn't and clean up only the initialized part.
> This works well for usb_del_gadget_udc() but device_unregister() can't
> deal with it. Therefore we rely on the fact the we always have a parent
> device and only then remove the device.
> I broke this in 0f91349 ("usb: gadget: convert all users to the new udc
> infrastructure")
> 
> Signed-off-by: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx>

applied, thanks

-- 
balbi

Attachment: signature.asc
Description: Digital signature


[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux