[RFC v3] PCMCIA locking updates for 2.6.34

Dominik Brodowski linux at dominikbrodowski.net
Mon Jan 18 03:35:01 EST 2010


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:


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


More information about the linux-pcmcia mailing list