RE: kernel 2.6.31.-rc1 drivers/usb/class/cdc-acm.c patch

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

 



I have an omap3(TI) based system, one attached device include an usb-hub with 2 usb-acm devices and 1 usb touch screen, when I
unplung this device, it causes the system to crash if /dev/ttyACM0 and /dev/ttyACM1 are used by application at the time, otherwise, it will be shutdown normally. From the trace I see, the usb host controller driver returns all scheduled URBs, and cdc-acm continues to send URBs, it ends up by crashing. After adding these 2 lines, it does fix my problem. However,
I'm not sure why acm_disconnect is not called, probably, because /dev/ttyACM# is busy, this prevents the system from doing it.
Any other ideas?

Regards
Wending

-----Original Message-----
From: linux-usb-owner@xxxxxxxxxxxxxxx
[mailto:linux-usb-owner@xxxxxxxxxxxxxxx]On Behalf Of Oliver Neukum
Sent: July 23, 2009 11:59 AM
To: Weng, Wending
Cc: linux-usb@xxxxxxxxxxxxxxx
Subject: Re: kernel 2.6.31.-rc1 drivers/usb/class/cdc-acm.c patch


Am Donnerstag, 23. Juli 2009 17:34:18 schrieb Weng, Wending:
> [PATCH] When the usb-serial cable is unpluged, the usb host controller
> driver returns all scheduled URBs to usb-serial driver(cdc-acm.c), and the
> usb-serial driver(cdc-acm.c) doesn't detect this exception, continues to
> schedule the URBs, it causes a dead loop. This change fixes this problem.

How does this bug show? Note that acm_disconnect() calls stop_traffic() which
calls tasklet_disable(). So how can this pronlem arise?

	Regards
		Oliver

--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

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

  Powered by Linux