Re: [PATCH 1/1] media: dvb-usb/af9015, fix disconnection crashes

From: Antti Palosaari
Date: Sun Jan 24 2010 - 18:44:39 EST


On 01/20/2010 07:19 PM, Jiri Slaby wrote:
When both remote controller and receiver intfs are handled by
af9015, .probe do nothing for remote intf, but when .disconnect
is called for both of them it touches intfdata every time. For
remote it crashes obviously (as intfdata are unset).

Altough there is test against data being NULL, it is not enough.
It is because someone before us does not set intf drvdata to
NULL. (In this case the hid layer.) But we cannot rely on intf
being NULL anyway.

Fix that by checking bInterfaceNumber in af9015_usb_device_exit
and do actually nothing if it is not 0.

I was a little bit surprised when saw this error, why it haven't detected earlier. When I initially added interface check for .probe it was surely needed, it was creating two instances without that check in that time. When I now test this patch with debugs enabled I don't see .probe and .disconnect be called for this HID interface (interface 1) at all and thus checks not needed. I have Fedora Kernel 2.6.31.12 running with latest v4l-dvb. Is there now some kind of check added recently which blocks .probe and disconnect from HID interface?

regards
Antti
--
http://palosaari.fi/
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/