ieee1394: raw1394: prevent unloading of low-level driver
authorStefan Richter <stefanr@s5r6.in-berlin.de>
Sat, 3 Feb 2007 15:48:51 +0000 (16:48 +0100)
committerStefan Richter <stefanr@s5r6.in-berlin.de>
Thu, 8 Feb 2007 20:36:01 +0000 (21:36 +0100)
commit0fe4c6fcacb28bda75b31f63d3629f640a6b9bf9
tree8a9592c155aa4f11b74fcab4d79772ba527b88a6
parent12ba145c9406da72c8288245f352de7f37188f1f
ieee1394: raw1394: prevent unloading of low-level driver

Unloading the low-level driver module of a FireWire host can lead to
all sorts of trouble if a raw1394 userspace client is using the host.
Just disallow it by incrementing the LLD's module reference count on
a RAW1394_REQ_SET_CARD write operation.  Decrement it when the file
is closed.

This feature wouldn't be relevant if "modprobe -r video1394" or
"modprobe -r dv1394" didn't automatically unload ohci1394 too.
http://bugzilla.kernel.org/show_bug.cgi?id=7701

Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
Signed-off-by: Dan Dennedy <dan@dennedy.org>
drivers/ieee1394/raw1394.c