Hi,

I am going to add locking to the cx25840 module register reads and
writes because I now have a case where a workqueue, a userpace, and/or
the cx25840 firmware loading workqueue could contend for access to the
CX2584x or equivalent device.

I have identiifed the following drivers that actually use this module:

        cx231xx, pvrusb2, ivtv, cx23885

Now here's where I need help, since I don't understand the USB stuff too
well and there's a lot of code to audit:

Do any of these modules call the cx25840 routines with either:

a. call the cx25840 module subdev functions with a spinlock held ? or
b. call the cx25840 module subdev functions from an interrupt context:
i.e. a hard irq or tasklet ? or
c. bypass the normal cx25840_read/write calls with direct I2C access to
the client address of 0x44 (0x88 >> 1) ?

Any definitive confirmation anyone can give on any of these drivers
would be helpful and would save me some time.



For the cx23885 driver I think these are the answers:

        a. probably not
        b. probably not
        c. yes 

but I have to double check.

I can probably audit the ivtv driver on my own.  I understand it's
structure, but it's a big driver and will take time to check, if no one
knows off hand.

The pvrusb2 and cx231xx will be a little harder for me.  They aren't
terribly large, but I don't understand USB device "interrupt" contexts.

TIA.

Regards,
Andy

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

Reply via email to