diff options
| author | Greg Kroah-Hartman <gregkh@suse.de> | 2008-11-25 11:40:42 -0800 |
|---|---|---|
| committer | Greg Kroah-Hartman <gregkh@suse.de> | 2008-11-25 11:40:42 -0800 |
| commit | 33ed2975555999d457c203e60c2bd116e959116c (patch) | |
| tree | bf8e45c6de8ec54f669378b66928f8be212b9296 /usb.current | |
| parent | 434493e2e72fcb05836718522667210ceb7f21a0 (diff) | |
| download | patches-33ed2975555999d457c203e60c2bd116e959116c.tar.gz | |
more usb patches
and 2 staging ones also
Diffstat (limited to 'usb.current')
4 files changed, 205 insertions, 0 deletions
diff --git a/usb.current/usb-fsl_qe_udc-report-disconnect-before-unbinding.patch b/usb.current/usb-fsl_qe_udc-report-disconnect-before-unbinding.patch new file mode 100644 index 00000000000000..80d67276bebfa7 --- /dev/null +++ b/usb.current/usb-fsl_qe_udc-report-disconnect-before-unbinding.patch @@ -0,0 +1,63 @@ +From avorontsov@ru.mvista.com Tue Nov 25 10:56:03 2008 +From: Anton Vorontsov <avorontsov@ru.mvista.com> +Date: Thu, 13 Nov 2008 14:57:20 +0300 +Subject: USB: fsl_qe_udc: Report disconnect before unbinding +To: David Brownell <dbrownell@users.sourceforge.net> +Cc: Greg Kroah-Hartman <greg@kroah.com>, Li Yang <leoli@freescale.com>, Alan Stern <stern@rowland.harvard.edu>, linux-usb@vger.kernel.org, linuxppc-dev@ozlabs.org +Message-ID: <20081113115720.GA28276@oksana.dev.rtsoft.ru> + +From: Anton Vorontsov <avorontsov@ru.mvista.com> + +Gadgets disable endpoints in their disconnect callbacks, so +we must call disconnect before unbinding. This also fixes +muram memory leak, since we free muram in the qe_ep_disable(). + +But mainly the patch fixes following badness: + +root@b1:~# insmod fsl_qe_udc.ko +fsl_qe_udc: Freescale QE/CPM USB Device Controller driver, 1.0 +fsl_qe_udc e01006c0.usb: QE USB controller initialized as device +root@b1:~# insmod g_ether.ko +g_ether gadget: using random self ethernet address +g_ether gadget: using random host ethernet address +usb0: MAC be:2d:3c:fa:be:f0 +usb0: HOST MAC 62:b8:6a:df:38:66 +g_ether gadget: Ethernet Gadget, version: Memorial Day 2008 +g_ether gadget: g_ether ready +fsl_qe_udc e01006c0.usb: fsl_qe_udc bind to driver g_ether +g_ether gadget: high speed config #1: CDC Ethernet (ECM) +root@b1:~# rmmod g_ether.ko +------------[ cut here ]------------ +Badness at drivers/usb/gadget/composite.c:871 +[...] +NIP [d10c1374] composite_unbind+0x24/0x15c [g_ether] +LR [d10a82f4] usb_gadget_unregister_driver+0x128/0x168 [fsl_qe_udc] +Call Trace: +[cfb93e80] [cfb1f3a0] 0xcfb1f3a0 (unreliable) +[cfb93eb0] [d10a82f4] usb_gadget_unregister_driver+0x128/0x168 [fsl_qe_udc] +[cfb93ed0] [d10c2a3c] usb_composite_unregister+0x3c/0x4c [g_ether] +[cfb93ee0] [c006bde0] sys_delete_module+0x130/0x19c +[cfb93f40] [c00142d8] ret_from_syscall+0x0/0x38 +[...] +fsl_qe_udc e01006c0.usb: unregistered gadget driver 'g_ether' + +Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com> +Acked-by: David Brownell <dbrownell@users.sourceforge.net> +Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> + +--- + drivers/usb/gadget/fsl_qe_udc.c | 3 +++ + 1 file changed, 3 insertions(+) + +--- a/drivers/usb/gadget/fsl_qe_udc.c ++++ b/drivers/usb/gadget/fsl_qe_udc.c +@@ -2363,6 +2363,9 @@ int usb_gadget_unregister_driver(struct + nuke(loop_ep, -ESHUTDOWN); + spin_unlock_irqrestore(&udc_controller->lock, flags); + ++ /* report disconnect; the controller is already quiesced */ ++ driver->disconnect(&udc_controller->gadget); ++ + /* unbind gadget and unhook driver. */ + driver->unbind(&udc_controller->gadget); + udc_controller->gadget.dev.driver = NULL; diff --git a/usb.current/usb-fsl_usb2_udc-report-disconnect-before-unbinding.patch b/usb.current/usb-fsl_usb2_udc-report-disconnect-before-unbinding.patch new file mode 100644 index 00000000000000..c5f6acb0119973 --- /dev/null +++ b/usb.current/usb-fsl_usb2_udc-report-disconnect-before-unbinding.patch @@ -0,0 +1,62 @@ +From avorontsov@ru.mvista.com Tue Nov 25 10:56:48 2008 +From: Anton Vorontsov <avorontsov@ru.mvista.com> +Date: Thu, 13 Nov 2008 15:00:46 +0300 +Subject: USB: fsl_usb2_udc: Report disconnect before unbinding +To: David Brownell <dbrownell@users.sourceforge.net> +Cc: Greg Kroah-Hartman <greg@kroah.com>, Li Yang <leoli@freescale.com>, Alan Stern <stern@rowland.harvard.edu>, linux-usb@vger.kernel.org, linuxppc-dev@ozlabs.org +Message-ID: <20081113120046.GA29942@oksana.dev.rtsoft.ru> +Content-Disposition: inline + +From: Anton Vorontsov <avorontsov@ru.mvista.com> + +Gadgets disable endpoints in their disconnect callbacks, so +we must call disconnect before unbinding. + +The patch fixes following badness: + +root@b1:~# insmod fsl_usb2_udc.ko +Freescale High-Speed USB SOC Device Controller driver (Apr 20, 2007) +root@b1:~# insmod g_ether.ko +g_ether gadget: using random self ethernet address +g_ether gadget: using random host ethernet address +usb0: MAC 26:07:ba:c0:44:33 +usb0: HOST MAC 96:81:0c:05:4d:e3 +g_ether gadget: Ethernet Gadget, version: Memorial Day 2008 +g_ether gadget: g_ether ready +fsl-usb2-udc: bind to driver g_ether +g_ether gadget: high speed config #1: CDC Ethernet (ECM) +root@b1:~# rmmod g_ether.ko +------------[ cut here ]------------ +Badness at drivers/usb/gadget/composite.c:871 +[...] +NIP [e10c3454] composite_unbind+0x24/0x15c [g_ether] +LR [e10aa454] usb_gadget_unregister_driver+0x13c/0x164 [fsl_usb2_udc] +Call Trace: +[df145e80] [ffffff94] 0xffffff94 (unreliable) +[df145eb0] [e10aa454] usb_gadget_unregister_driver+0x13c/0x164 [fsl_usb2_udc] +[df145ed0] [e10c4c40] usb_composite_unregister+0x3c/0x4c [g_ether] +[df145ee0] [c006bcc0] sys_delete_module+0x130/0x19c +[df145f40] [c00142d8] ret_from_syscall+0x0/0x38 +[...] +unregistered gadget driver 'g_ether' + +Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com> +Acked-by: David Brownell <dbrownell@users.sourceforge.net> +Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> + +--- + drivers/usb/gadget/fsl_usb2_udc.c | 3 +++ + 1 file changed, 3 insertions(+) + +--- a/drivers/usb/gadget/fsl_usb2_udc.c ++++ b/drivers/usb/gadget/fsl_usb2_udc.c +@@ -1836,6 +1836,9 @@ int usb_gadget_unregister_driver(struct + nuke(loop_ep, -ESHUTDOWN); + spin_unlock_irqrestore(&udc_controller->lock, flags); + ++ /* report disconnect; the controller is already quiesced */ ++ driver->disconnect(&udc_controller->gadget); ++ + /* unbind gadget and unhook driver. */ + driver->unbind(&udc_controller->gadget); + udc_controller->gadget.dev.driver = NULL; diff --git a/usb.current/usb-storage-unusual_devs-entry-for-mio-c520-gps.patch b/usb.current/usb-storage-unusual_devs-entry-for-mio-c520-gps.patch new file mode 100644 index 00000000000000..37d720d9ba74a1 --- /dev/null +++ b/usb.current/usb-storage-unusual_devs-entry-for-mio-c520-gps.patch @@ -0,0 +1,44 @@ +From stern@rowland.harvard.edu Tue Nov 25 11:05:48 2008 +From: Alan Stern <stern@rowland.harvard.edu> +Date: Fri, 21 Nov 2008 16:15:12 -0500 (EST) +Subject: USB: storage: unusual_devs entry for Mio C520-GPS +To: Greg KH <greg@kroah.com>, Phil Dibowitz <phil@ipom.com> +Cc: Tamas Kerecsen <kerecsen@bigfoot.com>, USB Storage list <usb-storage@lists.one-eyed-alien.net> +Message-ID: <Pine.LNX.4.44L0.0811211612160.2376-100000@iolanthe.rowland.org> + + +This patch (as1176) adds an unusual_devs entry for the Mio C520 GPS +unit. Other devices also based on the Mitac hardware use the same USB +interface firmware, so the Vendor and Product names are generalized. + +This fixes Bugzilla #11583. + +Signed-off-by: Alan Stern <stern@rowland.harvard.edu> +Tested-by: Tamas Kerecsen <kerecsen@bigfoot.com> +Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> + +--- + drivers/usb/storage/unusual_devs.h | 12 ++++++++++++ + 1 file changed, 12 insertions(+) + +--- a/drivers/usb/storage/unusual_devs.h ++++ b/drivers/usb/storage/unusual_devs.h +@@ -318,6 +318,18 @@ UNUSUAL_DEV( 0x045a, 0x5210, 0x0101, 0x + US_SC_SCSI, US_PR_KARMA, rio_karma_init, 0), + #endif + ++/* Reported by Tamas Kerecsen <kerecsen@bigfoot.com> ++ * Obviously the PROM has not been customized by the VAR; ++ * the Vendor and Product string descriptors are: ++ * Generic Mass Storage (PROTOTYPE--Remember to change idVendor) ++ * Generic Manufacturer (PROTOTYPE--Remember to change idVendor) ++ */ ++UNUSUAL_DEV( 0x045e, 0xffff, 0x0000, 0x0000, ++ "Mitac", ++ "GPS", ++ US_SC_DEVICE, US_PR_DEVICE, NULL, ++ US_FL_MAX_SECTORS_64 ), ++ + /* + * This virtual floppy is found in Sun equipment (x4600, x4200m2, etc.) + * Reported by Pete Zaitcev <zaitcev@redhat.com> diff --git a/usb.current/usb-usb-storage-unusual_devs-entry-for-nikon-d2h.patch b/usb.current/usb-usb-storage-unusual_devs-entry-for-nikon-d2h.patch new file mode 100644 index 00000000000000..e693360828932b --- /dev/null +++ b/usb.current/usb-usb-storage-unusual_devs-entry-for-nikon-d2h.patch @@ -0,0 +1,36 @@ +From stern@rowland.harvard.edu Tue Nov 25 11:11:27 2008 +From: Tobias Kunze Brise�o <t@fictive.com>, +Date: Mon, 24 Nov 2008 11:28:31 -0500 (EST) +Subject: USB: usb-storage: unusual_devs entry for Nikon D2H +To: Greg KH <greg@kroah.com>, Phil Dibowitz <phil@ipom.com> +Cc: Tobias Kunze Brise�o <t@fictive.com>, USB Storage list <usb-storage@lists.one-eyed-alien.net> +Message-ID: <Pine.LNX.4.44L0.0811241125420.2851-100000@iolanthe.rowland.org> + +From: Tobias Kunze Brise�o <t@fictive.com>, + +This patch adds an unusual_devs entry for the Nikon D2H camera. + +From: Tobias Kunze Brise�o <t@fictive.com>, +Signed-off-by: Alan Stern <stern@rowland.harvard.edu> +Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> + +--- + drivers/usb/storage/unusual_devs.h | 7 +++++++ + 1 file changed, 7 insertions(+) + +--- a/drivers/usb/storage/unusual_devs.h ++++ b/drivers/usb/storage/unusual_devs.h +@@ -389,6 +389,13 @@ UNUSUAL_DEV( 0x04b0, 0x0401, 0x0200, 0x + US_SC_DEVICE, US_PR_DEVICE, NULL, + US_FL_FIX_CAPACITY), + ++/* Reported by Tobias Kunze Briseno <t-linux@fictive.com> */ ++UNUSUAL_DEV( 0x04b0, 0x0403, 0x0200, 0x0200, ++ "NIKON", ++ "NIKON DSC D2H", ++ US_SC_DEVICE, US_PR_DEVICE, NULL, ++ US_FL_FIX_CAPACITY), ++ + /* Reported by Milinevsky Dmitry <niam.niam@gmail.com> */ + UNUSUAL_DEV( 0x04b0, 0x0409, 0x0100, 0x0100, + "NIKON", |
