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-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html