alistair23-linux/drivers
Anton Vorontsov 9ac36da3f8 USB: fsl_qe_udc: Report disconnect before unbinding
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>
2008-11-30 22:24:02 -08:00
..
accessibility
acpi toshiba_acpi: close race in toshiba_acpi driver 2008-11-28 14:21:53 -05:00
amba
ata
atm
auxdisplay
base
block Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc 2008-11-30 16:44:18 -08:00
bluetooth
cdrom
char Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc 2008-11-30 16:44:18 -08:00
clocksource
connector
cpufreq
cpuidle
crypto fix talitos 2008-11-30 10:03:36 -08:00
dca
dio
dma
edac
eisa
firewire
firmware
gpio gpiolib: extend gpio label column width in debugfs file 2008-11-19 18:49:57 -08:00
gpu drm/i915: Fix copy'n'pasteo that broke VT switch if flushing was non-empty. 2008-12-01 10:23:21 +10:00
hid
hwmon drivers/hwmon/applesmc.c: add generic MacPro support 2008-11-19 18:49:59 -08:00
i2c i2c-parport: Fix misplaced parport_release call 2008-11-28 15:24:39 +01:00
ide icside section warnings 2008-11-30 10:03:36 -08:00
idle
ieee1394
infiniband
input Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input 2008-11-30 11:05:21 -08:00
isdn tricky one: hisax sections 2008-11-30 10:03:37 -08:00
leds
lguest
macintosh rackmeter section fixes 2008-11-30 10:03:37 -08:00
mca
md
media
memstick
message
mfd mfd: Correct WM8350 I2C return code usage 2008-11-16 19:58:47 +01:00
misc ACPI: thinkpad-acpi: fix fan sleep/resume path 2008-11-26 19:24:22 -05:00
mmc
mtd Merge branch 'linux-next' of git://git.infradead.org/~dedekind/ubi-2.6 2008-11-30 11:34:17 -08:00
net Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc 2008-11-30 16:44:18 -08:00
nubus
of
oprofile
parisc
parport Parport driver: disable pc-style parport on Blackfin systems 2008-11-18 08:10:08 -08:00
pci pci_setup() is init, not devinit 2008-11-30 10:03:37 -08:00
pcmcia
pnp
power
ps3
rapidio rapidio section noise 2008-11-30 10:03:37 -08:00
regulator
rtc Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6 2008-11-17 07:54:47 -08:00
s390 Merge branch 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6 2008-11-15 11:38:02 -08:00
sbus of_platform_driver noise on sparce 2008-11-30 10:03:36 -08:00
scsi gdth section fixes 2008-11-30 10:03:36 -08:00
serial Merge branch 'merge' of git://git.secretlab.ca/git/linux-2.6-mpc52xx into merge 2008-11-24 11:53:44 +11:00
sh
sn
spi spi_imx: full duplex dma corruption bugfix 2008-11-19 18:49:58 -08:00
ssb
staging
tc
telephony
thermal
uio
usb USB: fsl_qe_udc: Report disconnect before unbinding 2008-11-30 22:24:02 -08:00
uwb
video Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc 2008-11-30 16:44:18 -08:00
virtio
w1 W1_MASTER_DS1WM should depend on HAVE_CLK 2008-11-30 10:03:36 -08:00
watchdog
xen xen: fix scrub_page() 2008-11-17 19:11:26 +01:00
zorro
Kconfig
Makefile