[RFC v3] PCMCIA locking updates for 2.6.34
Dominik Brodowski
linux at dominikbrodowski.net
Mon Jan 18 03:35:01 EST 2010
Hey,
On Sun, Jan 17, 2010 at 09:40:24PM +0100, Wolfram Sang wrote:
> This branch works better. I plugged and pulled some cards and so far it works
> for me. Minor nit, compiling gave me:
>
> CC [M] drivers/pcmcia/ds.o
> drivers/pcmcia/ds.c: In function ‘pcmcia_delayed_requery’:
> drivers/pcmcia/ds.c:720: warning: ignoring return value of ‘bus_rescan_devices’, declared with attribute warn_unused_result
>
> I'd like to do some more testing, though.
Fixed this and a cardbus-related lockdep warning. Thanks for testing!
> Another thing: You said these locking patches were for 2.6.34. What about
> waiting for 2.6.35, so your other patches can stabilize in mainline, and the
> locking stuff gets another round of testing? I'd fear hunting possible
> regressions ("My card/slots stopped working!") might get troublesome otherwise?
Well, as we're seeing real issues relating to the lack of locking, 2.6.33 is
still some time away, and 2.6.34 is even further away, I tend to aim for
2.6.34, unless any further major problems appear.
The v3 of the locking pathes are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/brodo/pcmcia-2.6.git#locking
and will be send out to this list.
Dominik Brodowski (16):
pcmcia: add locking to set_mem_map()
pcmcia: also lock fake and cache CIS by ops_mutex
pcmcia: lock ops->set_io_map()
pcmcia: lock ops->set_socket
pcmcia: properly lock skt->irq, skt->irq_mask
pcmcia: protect s->device_count
pcmcia: add locking to struct pcmcia_socket->pcmcia_state()
pcmcia: simplify locking
pcmcia: add locking documentation
pcmcia: assert locking to struct pcmcia_device
pcmcia: use mutex for dynid lock
pcmcia: delay re-scanning and re-querying of PCMCIA bus
pcmcia: use ops_mutex for rsrc_{mgr,nonstatic} locking
pcmcia: use pccardd to handle eject, insert, suspend and resume requests
pcmcia: avoid sysfs-related lockup for cardbus
pcmcia: disable pcmcia ioctl for !ARM
Documentation/pcmcia/locking.txt | 118 ++++++++++++++++++++
drivers/pcmcia/Kconfig | 2 +-
drivers/pcmcia/cistpl.c | 37 +++++--
drivers/pcmcia/cs.c | 215 +++++++++++++++---------------------
drivers/pcmcia/cs_internal.h | 7 +-
drivers/pcmcia/ds.c | 224 +++++++++++++++++++++++++-------------
drivers/pcmcia/pcmcia_ioctl.c | 17 +--
drivers/pcmcia/pcmcia_resource.c | 136 +++++++++++++++++------
drivers/pcmcia/rsrc_mgr.c | 4 -
drivers/pcmcia/rsrc_nonstatic.c | 31 ++----
drivers/pcmcia/socket_sysfs.c | 50 ++++----
include/pcmcia/ds.h | 2 +-
include/pcmcia/ss.h | 19 +++-
13 files changed, 545 insertions(+), 317 deletions(-)
create mode 100644 Documentation/pcmcia/locking.txt
Best,
Dominik
More information about the linux-pcmcia
mailing list