Re: [PATCH] iio: Simplify IIO provider access locking mechanism

From: Lars-Peter Clausen
Date: Fri Jan 09 2015 - 11:17:08 EST


On 01/09/2015 05:14 PM, Ivan T. Ivanov wrote:

On Fri, 2015-01-09 at 16:54 +0100, Lars-Peter Clausen wrote:
On 01/09/2015 04:50 PM, Ivan T. Ivanov wrote:
On Fri, 2015-01-09 at 16:41 +0100, Lars-Peter Clausen wrote:
On 01/09/2015 04:38 PM, Ivan T. Ivanov wrote:
Instead of checking whether provider module is still
loaded on every access to device just lock module to
memory when client get reference to provider device.


This has nothing to do with the module, it's about the device. In the Linux
device driver model as device can be unbound at any time and the IIO
framework needs to handle this.


Hm. Probably i am missing something here, but is this
still true if we have reference to device structure?

Yes, that only prevents the memory of device from being freed. But the
device can still be unbound from the driver.

Think of e.g. a USB device that is pulled from the USB connector. Nothing
you can do in software about having the device disappear.


Agree, but I think that the patch is still valid. Module
have to be pinned in memory as long as there are device
driver users.

No, the idea of the Linux driver model is that you can remove the module of a driver at any time, which will unbind the device from the driver. Once you reinsert the module the device will be re-bound to the driver.

- Lars

--
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/