[PATCH 11/12] pcmcia: use mutex for dynid lock

2010-01-16 Thread Dominik Brodowski
Even though we weren't calling a blocking function within the dynid spinlock, we do not need a spinlock here but can and should be using a mutex. Reported-by: Jiri Slaby Signed-off-by: Dominik Brodowski --- drivers/pcmcia/ds.c | 19 +++ include/pcmcia/ds.h |2 +- 2

[PATCH 04/12] pcmcia: lock ops->set_socket

2010-01-16 Thread Dominik Brodowski
As a side effect, socket_state_t socket; u_int state; u_int suspended_state; are properly protected now. Signed-off-by: Dominik Brodowski --- drivers/pcmcia/cs.c | 21

[PATCH 05/12] pcmcia: properly lock skt->irq, skt->irq_mask

2010-01-16 Thread Dominik Brodowski
Signed-off-by: Dominik Brodowski --- drivers/pcmcia/pcmcia_resource.c |3 +++ drivers/pcmcia/socket_sysfs.c|2 ++ 2 files changed, 5 insertions(+), 0 deletions(-) diff --git a/drivers/pcmcia/pcmcia_resource.c b/drivers/pcmcia/pcmcia_resource.c index f365ecb..f0de7b8 100644 --- a

[PATCH 10/12] pcmcia: assert locking to struct pcmcia_device

2010-01-16 Thread Dominik Brodowski
Signed-off-by: Dominik Brodowski --- Documentation/pcmcia/locking.txt | 25 + drivers/pcmcia/ds.c | 38 + drivers/pcmcia/pcmcia_resource.c | 108 -- 3 files changed, 120 insertions(+), 51 deletions(-) diff --git a

[PATCH 08/12] pcmcia: simplify locking

2010-01-16 Thread Dominik Brodowski
replace pcmcia_socket->lock and pcmcia_dev_list_lock by using the per-socket "ops_mutex", as we do neither need different locks nor a spinlock here. Signed-off-by: Dominik Brodowski --- drivers/pcmcia/cs.c |2 - drivers/pcmcia/ds.c

[PATCH 07/12] pcmcia: add locking to struct pcmcia_socket->pcmcia_state()

2010-01-16 Thread Dominik Brodowski
Signed-off-by: Dominik Brodowski --- drivers/pcmcia/ds.c | 32 +--- 1 files changed, 29 insertions(+), 3 deletions(-) diff --git a/drivers/pcmcia/ds.c b/drivers/pcmcia/ds.c index bcb9ef1..d1d7a0c 100644 --- a/drivers/pcmcia/ds.c +++ b/drivers/pcmcia/ds.c @@ -649,10

[PATCH 03/12] pcmcia: lock ops->set_io_map()

2010-01-16 Thread Dominik Brodowski
As a side effect, io_window_t io[MAX_IO_WIN]; is explicitely protected now. Signed-off-by: Dominik Brodowski --- drivers/pcmcia/pcmcia_resource.c | 10 ++ 1 files changed, 10 insertions(+), 0 deletions(-) diff --git a/drivers/pcmcia/pcmcia_resource.c b

Re: [RFC] PCMCIA locking updates for 2.6.34

2010-01-16 Thread Dominik Brodowski
Hey Wolfram, On Sat, Jan 16, 2010 at 08:41:21PM +0100, Wolfram Sang wrote: > On Sat, Jan 16, 2010 at 01:41:43PM +0100, Dominik Brodowski wrote: > > > > > on top of what had already been discussed for 2.6.34, here are 12 patches > > trying to fix the locking mess the PCM

Re: [PATCH] sysfs: Add lockdep annotations for the sysfs active reference

2010-01-17 Thread Dominik Brodowski
Hey, On Sun, Jan 17, 2010 at 09:18:34AM -0800, Eric W. Biederman wrote: > Ming Lei writes: > > > On Sat, 02 Jan 2010 13:37:12 -0800 > > ebied...@xmission.com (Eric W. Biederman) wrote: > > > >> > >> Holding locks over device_del -> kobject_del -> sysfs_deactivate can > >> cause deadlocks if tho

Re: [RFC] PCMCIA locking updates for 2.6.34

2010-01-17 Thread Dominik Brodowski
Hey, On Sun, Jan 17, 2010 at 03:30:08PM +0900, Komuro wrote: > Same result as Wolfram. On Sun, Jan 17, 2010 at 12:08:20PM +0100, Wolfram Sang wrote: > > If it doesn't help, could you enable lockdep, please, and check with > > I enabled locking debug and got this while inserting the card: ... > D

[PATCH 01/16] pcmcia: add locking to set_mem_map()

2010-01-18 Thread Dominik Brodowski
Protect the pccard_operations callback "set_mem_map" by a new mutex ops_mutex. This mutex also protects the following values in struct pcmcia_socket: pccard_mem_map win[] pccard_mem_map cis_mem void __iomem*cis_virt Signed-off-b

[RFC v3] PCMCIA locking updates for 2.6.34

2010-01-18 Thread Dominik Brodowski
it.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->se

[PATCH 11/16] pcmcia: use mutex for dynid lock

2010-01-18 Thread Dominik Brodowski
Even though we weren't calling a blocking function within the dynid spinlock, we do not need a spinlock here but can and should be using a mutex. Reported-by: Jiri Slaby Signed-off-by: Dominik Brodowski --- drivers/pcmcia/ds.c | 16 include/pcmcia/ds.h |2 +- 2

[PATCH 06/16] pcmcia: protect s->device_count

2010-01-18 Thread Dominik Brodowski
Signed-off-by: Dominik Brodowski --- drivers/pcmcia/ds.c | 25 ++--- 1 files changed, 18 insertions(+), 7 deletions(-) diff --git a/drivers/pcmcia/ds.c b/drivers/pcmcia/ds.c index 4f7308d..bcb9ef1 100644 --- a/drivers/pcmcia/ds.c +++ b/drivers/pcmcia/ds.c @@ -265,6 +265,7

[PATCH 09/16] pcmcia: add locking documentation

2010-01-18 Thread Dominik Brodowski
Signed-off-by: Dominik Brodowski --- Documentation/pcmcia/locking.txt | 92 ++ 1 files changed, 92 insertions(+), 0 deletions(-) create mode 100644 Documentation/pcmcia/locking.txt diff --git a/Documentation/pcmcia/locking.txt b/Documentation/pcmcia

[PATCH 13/16] pcmcia: use ops_mutex for rsrc_{mgr,nonstatic} locking

2010-01-18 Thread Dominik Brodowski
Signed-off-by: Dominik Brodowski --- Documentation/pcmcia/locking.txt |5 +++-- drivers/pcmcia/cs.c |7 ++- drivers/pcmcia/ds.c |6 +- drivers/pcmcia/pcmcia_ioctl.c|4 +--- drivers/pcmcia/rsrc_mgr.c|2 -- drivers/pcmcia

[PATCH 07/16] pcmcia: add locking to struct pcmcia_socket->pcmcia_state()

2010-01-18 Thread Dominik Brodowski
Signed-off-by: Dominik Brodowski --- drivers/pcmcia/ds.c | 33 ++--- 1 files changed, 30 insertions(+), 3 deletions(-) diff --git a/drivers/pcmcia/ds.c b/drivers/pcmcia/ds.c index bcb9ef1..0eb242c 100644 --- a/drivers/pcmcia/ds.c +++ b/drivers/pcmcia/ds.c

[PATCH 04/16] pcmcia: lock ops->set_socket

2010-01-18 Thread Dominik Brodowski
As a side effect, socket_state_t socket; u_int state; u_int suspended_state; are properly protected now. Signed-off-by: Dominik Brodowski --- drivers/pcmcia/cs.c | 18

[PATCH 12/16] pcmcia: delay re-scanning and re-querying of PCMCIA bus

2010-01-18 Thread Dominik Brodowski
After a CIS update -- or the finalization of the resource database --, proceed with the re-scanning or re-querying of PCMCIA cards only in a separate thread to avoid deadlocks. Signed-off-by: Dominik Brodowski --- drivers/pcmcia/cistpl.c | 13 ++ drivers/pcmcia/cs_internal.h |1

[PATCH 14/16] pcmcia: use pccardd to handle eject, insert, suspend and resume requests

2010-01-18 Thread Dominik Brodowski
This avoids any sysfs-related deadlock (or lockdep warning), such as reported at http://lkml.org/lkml/2010/1/17/88 . Reported-by: Ming Lei Signed-off-by: Dominik Brodowski --- drivers/pcmcia/cs.c | 177 +--- drivers/pcmcia/cs_internal.h |6

[PATCH 03/16] pcmcia: lock ops->set_io_map()

2010-01-18 Thread Dominik Brodowski
As a side effect, io_window_t io[MAX_IO_WIN]; is explicitely protected now. Signed-off-by: Dominik Brodowski --- drivers/pcmcia/pcmcia_resource.c | 10 ++ 1 files changed, 10 insertions(+), 0 deletions(-) diff --git a/drivers/pcmcia/pcmcia_resource.c b

[PATCH 02/16] pcmcia: also lock fake and cache CIS by ops_mutex

2010-01-18 Thread Dominik Brodowski
Specifically, struct list_headcis_cache; size_t fake_cis_len; u8 *fake_cis; are protected. Signed-off-by: Dominik Brodowski --- drivers/pcmcia/cistpl.c | 18 +- drivers/pcmcia/ds.c

[PATCH 08/16] pcmcia: simplify locking

2010-01-18 Thread Dominik Brodowski
replace pcmcia_socket->lock and pcmcia_dev_list_lock by using the per-socket "ops_mutex", as we do neither need different locks nor a spinlock here. Signed-off-by: Dominik Brodowski --- drivers/pcmcia/cs.c |2 - drivers/pcmcia/ds.c

[PATCH 15/16] pcmcia: avoid sysfs-related lockup for cardbus

2010-01-18 Thread Dominik Brodowski
In cb_free(), we remove some sysfs files -- other sysfs files might grab ops_mutex, so we cannot hold it while removing sysfs files. This fixes http://lkml.org/lkml/2010/1/17/88 . Signed-off-by: Dominik Brodowski --- drivers/pcmcia/cs.c | 12 ++-- 1 files changed, 10 insertions(+), 2

[PATCH 16/16] pcmcia: disable pcmcia ioctl for !ARM

2010-01-18 Thread Dominik Brodowski
The remaining legitimate ioctl user in the past years has been ARM, so limit the config option to ARM as well. Also, to avoid any locking issues, limit it to !SMP an !PREEMPT. CC: Russell King Signed-off-by: Dominik Brodowski --- drivers/pcmcia/Kconfig |2 +- 1 files changed, 1 insertions

[PATCH 05/16] pcmcia: properly lock skt->irq, skt->irq_mask

2010-01-18 Thread Dominik Brodowski
Signed-off-by: Dominik Brodowski --- drivers/pcmcia/pcmcia_resource.c |3 +++ drivers/pcmcia/socket_sysfs.c|2 ++ 2 files changed, 5 insertions(+), 0 deletions(-) diff --git a/drivers/pcmcia/pcmcia_resource.c b/drivers/pcmcia/pcmcia_resource.c index f365ecb..f0de7b8 100644 --- a

[PATCH 10/16] pcmcia: assert locking to struct pcmcia_device

2010-01-18 Thread Dominik Brodowski
Signed-off-by: Dominik Brodowski --- Documentation/pcmcia/locking.txt | 25 drivers/pcmcia/ds.c | 38 drivers/pcmcia/pcmcia_resource.c | 122 -- 3 files changed, 129 insertions(+), 56 deletions(-) diff --git a

Re: [RFC v3] PCMCIA locking updates for 2.6.34

2010-01-19 Thread Dominik Brodowski
Hey, On Tue, Jan 19, 2010 at 09:21:50PM +0900, Komuro wrote: > It seems [RFC v3 PCMCIA locking updates for 2.6.34] still has some problems. > > The 3c589_cs and serial_cs is not loaded at dmesg below. > After re-plug, it works. Strange -- what does "lspcmcia -vvv" look like before and after re-p

Re: [PATCH] pcmcia/omap_cf: don't redefine SZ_2K

2010-01-24 Thread Dominik Brodowski
Hey Uwe, On Sat, Jan 23, 2010 at 09:59:22PM +0100, Uwe Kleine-König wrote: > This fixes: > > drivers/pcmcia/omap_cf.c:74:1: warning: "SZ_2K" redefined > > Since > > c1191b0 ([ARM] Kirkwood: create a mapping for the Security Accelerator > SRAM) > > SZ_2K is defined in arch/arm/incl

Re: [RFC v3] PCMCIA locking updates for 2.6.34

2010-01-24 Thread Dominik Brodowski
[pcmcia] > [] send_event+0xba/0x160 [pcmcia_core] > [] socket_insert+0x156/0x1b0 [pcmcia_core] > [] pccardd+0x2c5/0x3a0 [pcmcia_core] > [<8014b374>] kthread+0x74/0x80 > [<801031ba>] kernel_thread_helper+0x6/0x10 > [] 0x Should be fixed b

Re: [RFC v3] PCMCIA locking updates for 2.6.34

2010-01-24 Thread Dominik Brodowski
Hey, On Tue, Jan 19, 2010 at 11:11:26PM +0100, Wolfram Sang wrote: > > No lockdep-warnings anymore whatever I tried. kmemleak reports something, > > but > > Sorry, today I got this (after applying the patch to make my D-Link DMF560TX > work): > > Jan 19 23:03:11 goodluck kernel: [ 71.618969]

[PATCH 18/22] pcmcia: avoid prod_id memleak

2010-01-24 Thread Dominik Brodowski
Reported-by: Wolfram Sang Signed-off-by: Dominik Brodowski --- drivers/pcmcia/ds.c | 19 ++- 1 files changed, 14 insertions(+), 5 deletions(-) diff --git a/drivers/pcmcia/ds.c b/drivers/pcmcia/ds.c index 1b16a0f..10164b9 100644 --- a/drivers/pcmcia/ds.c +++ b/drivers/pcmcia

[PATCH 14/22] pcmcia: delay re-scanning and re-querying of PCMCIA bus

2010-01-24 Thread Dominik Brodowski
After a CIS update -- or the finalization of the resource database --, proceed with the re-scanning or re-querying of PCMCIA cards only in a separate thread to avoid deadlocks. Signed-off-by: Dominik Brodowski --- drivers/pcmcia/cistpl.c | 10 + drivers/pcmcia/cs.c |8

[PATCH 15/22] pcmcia: use state machine for extended requery

2010-01-24 Thread Dominik Brodowski
The requery callback now also handles the addition of a second pseudo multifunction device. Avoids messing with dev_{g,s}et_drvdata(), and fixes any workqueue <-> skt_mutex deadlock. Signed-off-by: Dominik Brodowski --- drivers/pcmcia/ds.c

[PATCH 22/22] pcmcia: handle error in serial_cs config calls

2010-01-24 Thread Dominik Brodowski
Do not ignore the error returned by simple_config() / multi_config(). Signed-off-by: Dominik Brodowski --- drivers/serial/serial_cs.c |7 --- 1 files changed, 4 insertions(+), 3 deletions(-) diff --git a/drivers/serial/serial_cs.c b/drivers/serial/serial_cs.c index 0ee7239..8d38eab

[RFC v4] PCMCIA locking updates for 2.6.34

2010-01-24 Thread Dominik Brodowski
the PCMCIA list. Changes since v3: - avoid prod_id memleak - use pccardd for any requery work, not the workqueue Best, Dominik Dominik Brodowski (20): pcmcia: add locking to set_mem_map() pcmcia: also lock fake and cache CIS by ops_mutex pcmcia: lock ops->set_io_

[PATCH 21/22] pcmcia: add some printk

2010-01-24 Thread Dominik Brodowski
At least warn if pcmcia_write_cis_mem() didn't succeed, util we have proper error handling in place. Signed-off-by: Dominik Brodowski --- drivers/pcmcia/cistpl.c |8 ++-- 1 files changed, 6 insertions(+), 2 deletions(-) diff --git a/drivers/pcmcia/cistpl.c b/drivers/pcmcia/cis

Re: [RFC v3] PCMCIA locking updates for 2.6.34

2010-01-24 Thread Dominik Brodowski
Hey, On Wed, Jan 20, 2010 at 09:03:11PM +0900, Komuro wrote: > The exported function should be locked like below? No, as we're not accessing any protected memory here -- just data local to the call chain. Now, pccard_get_first_tuple and pccard_get_tuple_data do access protected memory, and so the

Re: [RFC v3] PCMCIA locking updates for 2.6.34

2010-01-24 Thread Dominik Brodowski
Hey, On Tue, Jan 19, 2010 at 09:21:50PM +0900, Komuro wrote: > lspcmcia -vvv is same between before and after re-plug. Are the drivers bound before the re-plug? Now, with v4, does it work out-of-the-box or does it work if you issue a echo 1 > /sys/class/pcmcia_socket/pcmcia_socket0/avai

Re: [RFC v4] PCMCIA locking updates for 2.6.34

2010-01-27 Thread Dominik Brodowski
Hey, On Tue, Jan 26, 2010 at 10:58:02PM +0100, Wolfram Sang wrote: > On Sun, Jan 24, 2010 at 06:30:00PM +0100, Dominik Brodowski wrote: > > Hey, > > > > The v4 of the locking pathes are available in the git repository -- along > > with a few other f

Re: [RFC v3] PCMCIA locking updates for 2.6.34

2010-02-08 Thread Dominik Brodowski
Hey, On Mon, Mar 15, 2010 at 06:30:53AM +0900, Komuro wrote: > When the 3com card does not work, > the card_id and prod_id becomes the bogus value. Now things become interesting -- and debuggable. Could you apply the attached patch _on top_ of pcmcia-test and send the complete (long) dmesg output

Re: [PATCH] pcmcia/i82365: fix typos in comments

2010-02-08 Thread Dominik Brodowski
Applied, thanks. Any news on the PCMCIA-then-Cardbus bug, by chance? Best, Dominik On Sat, Feb 06, 2010 at 10:09:44PM +0100, Wolfram Sang wrote: > Signed-off-by: Wolfram Sang > Cc: Dominik Brodowski > --- > drivers/pcmcia/i82365.h |4 ++-- > 1 files changed, 2 i

Re: [patch 1/1] drivers/pcmcia/yenta_socket.c: ENE CB712 CardBus bridge needs special treatment with Echo Audio Indigo soundcards

2010-02-08 Thread Dominik Brodowski
gt; bug report) until there is someone who can verify the change? Maybe a comment > in yenta_table could be useful that the change to ENE might be needed? > > > > > Cc: Dominik Brodowski > > Cc: Daniel Ritz > > Signed-off-by: Andrew Morton > > --- >

Re: [RFC v3] PCMCIA locking updates for 2.6.34

2010-02-11 Thread Dominik Brodowski
Hey, On Thu, Feb 11, 2010 at 06:39:37PM +0900, Komuro wrote: > Here is the output of dmesg. This is most interesting. > pcmcia_socket pcmcia_socket0: pcmcia_read_cis_mem(1, 0x51, 5) > pcmcia_socket pcmcia_socket0: 0x00 0x91 0x00 0x00 ... > pcmcia_socket pcmcia_socket0: pcmcia_read_cis_mem(1, 0

Re: [RFC v4] PCMCIA locking updates for 2.6.34

2010-02-11 Thread Dominik Brodowski
Hey, On Wed, Feb 10, 2010 at 11:16:09PM +0100, Wolfram Sang wrote: > > Now that's strange -- especially as this works just fine over here > > (different network cards, though). I guess it is repeatable with v4, but > > did not happen with v3? If so, does it work fine with the "master" branch of >

Re: [RFC v3] PCMCIA locking updates for 2.6.34

2010-02-15 Thread Dominik Brodowski
Dear Komuro, these were, again, very valuable debug hints. Based on those I've upgraded my patches in the git repository. It'd be great if yo could re-run the test once again, ad still with the debug patch applied. Best and many thanks, Dominik ___

Re: [RFC v3] PCMCIA locking updates for 2.6.34

2010-02-17 Thread Dominik Brodowski
Hey, On Wed, Feb 17, 2010 at 09:49:28PM +0900, Komuro wrote: > >these were, again, very valuable debug hints. Based on those I've upgraded > >my patches in the git repository. It'd be great if yo could re-run the test > >once again, ad still with the debug patch applied. > > There is no updated p

[PATCH 4/6] pcmcia: remove useless msleep in ds.c

2010-02-17 Thread Dominik Brodowski
As this is the socket thread (pccardd) starting up, we do not have anything to wait for in ds.c. Instead, wait the same amount of time in pccardd to allow userspace to catch up and - possibly - execute pcmcia-socket-startup. Signed-off-by: Dominik Brodowski --- drivers/pcmcia/cs.c |3

[PATCH 6/6] pcmcia: validate late-added resources

2010-02-17 Thread Dominik Brodowski
alid. When allocationg mem resources, mem_db_valid is then preferred to mem_db. Signed-off-by: Dominik Brodowski --- drivers/pcmcia/rsrc_nonstatic.c | 65 +++--- 1 files changed, 46 insertions(+), 19 deletions(-) diff --git a/drivers/pcmcia/rsrc_nonstatic.c b/driv

[PATCH 5/6] pcmcia: allow for extension of resource interval

2010-02-17 Thread Dominik Brodowski
If a new interval overlaps or extends an existing interval in add_interval(), do not fail, but extend the existing interval. Signed-off-by: Dominik Brodowski --- drivers/pcmcia/rsrc_nonstatic.c |6 -- 1 files changed, 4 insertions(+), 2 deletions(-) diff --git a/drivers/pcmcia

[PATCH 1/6] pcmcia: add locking to pcmcia_{read,write}_cis_mem

2010-02-17 Thread Dominik Brodowski
Signed-off-by: Dominik Brodowski --- drivers/pcmcia/cistpl.c | 27 +-- drivers/pcmcia/rsrc_nonstatic.c |5 + 2 files changed, 26 insertions(+), 6 deletions(-) diff --git a/drivers/pcmcia/cistpl.c b/drivers/pcmcia/cistpl.c index 17a5da3..602f574 100644

[PATCH 2/6] pcmcia: handle error in serial_cs config calls

2010-02-17 Thread Dominik Brodowski
Do not ignore the error returned by simple_config() / multi_config(). CC: linux-ser...@vger.kernel.org Signed-off-by: Dominik Brodowski --- drivers/serial/serial_cs.c |7 --- 1 files changed, 4 insertions(+), 3 deletions(-) diff --git a/drivers/serial/serial_cs.c b/drivers/serial

[PATCH 3/6] pcmcia: use read_cis_mem return value

2010-02-17 Thread Dominik Brodowski
Signed-off-by: Dominik Brodowski --- drivers/pcmcia/cistpl.c | 63 -- 1 files changed, 44 insertions(+), 19 deletions(-) diff --git a/drivers/pcmcia/cistpl.c b/drivers/pcmcia/cistpl.c index 602f574..2f3622d 100644 --- a/drivers/pcmcia/cistpl.c +++ b

Re: [PATCH] Introduce PCMCIA_DEVICE_PROD_ID3, use it in hostap_cs and orinoco_cs

2010-02-19 Thread Dominik Brodowski
John, On Fri, Feb 12, 2010 at 01:35:19PM -0500, John W. Linville wrote: > I'm happy to take this through my tree unless someone objects. OTOH, > I'm happy to let the hostap/orinoco bits go through an appropriate > tree for PCMCIA...? I'm fine either way -- just let me know :) Best, Domi

Re: Help with pcmcia on an acer aspire 1400LC with 2.6.31 (possible regression?)

2010-02-19 Thread Dominik Brodowski
Sergio, any chance you could try out the patches to be found at git://git.kernel.org/pub/scm/linux/kernel/git/brodo/pcmcia-2.6.git ? Best, Dominik ___ Linux PCMCIA reimplementation list http://lists.infradead.org/mailman/listinfo/linux-pcmcia

Re: [RFC v3] PCMCIA locking updates for 2.6.34

2010-02-20 Thread Dominik Brodowski
Hey, On Sat, Feb 20, 2010 at 01:41:59PM +0900, Komuro wrote: > (1) it seems the 3c562 multi_function card works now. That's good news -- thanks for testing! > (2) but another 3com card 3CXEM556 (multi_function + cis override) does not > work. > This card works fine with kernel 2.6.33-rc8.

Re: [RFC v3] PCMCIA locking updates for 2.6.34

2010-02-20 Thread Dominik Brodowski
Hey, thanks for testing! On Sat, Feb 20, 2010 at 08:42:28PM +0900, Komuro wrote: > pcmcia 0.0: trying to load CIS file cis/3CXEM556.cis > pcmcia 0.0: firmware: requesting cis/3CXEM556.cis > pcmcia_socket pcmcia_socket0: Using replacement CIS > pcmcia_socket pcmcia_socket0: parse_uevents: events 0

Re: [RFC v3] PCMCIA locking updates for 2.6.34

2010-02-20 Thread Dominik Brodowski
Hey, On Sun, Feb 21, 2010 at 05:19:13AM +0900, Komuro wrote: > >> eth0: 3Com 3c589, io 0x300, irq 3, hw_addr 00:00:86:xx:xx:xx > >> 8K FIFO split 5:3 Rx:Tx, auto xcvr > > >Did you modify the hw_addr here, or is it reported wrongly here, compared to > > sorry, I modified the hw_addr, so the hw_

Re: [Error] cs: warning: no high memory space available!

2010-02-21 Thread Dominik Brodowski
Hey, On Sun, Feb 21, 2010 at 04:05:35PM +0900, Komuro wrote: > Hi, > > After "pccardctl" eject and "pccardctl insert", > I get the message "cs: warning: no high memory space available!" > in the PCMCIA patches(brodo/pcmcia-2.6.git). Ah, that's nothing to worry about. Fixed by this patch, which I

Re: [RFC v3] PCMCIA locking updates for 2.6.34

2010-02-21 Thread Dominik Brodowski
Hey, On Sun, Feb 21, 2010 at 07:59:37AM +0900, Komuro wrote: > Hi, > > > > eth8: command 0x5800 did not complete! > > > eth8: command 0x5800 did not complete! > > > eth8: command 0x5800 did not complete! > > > eth8: command 0x5800 did not complete! > > > eth8: command 0x5800 did not complete! > >

Re: [PATCH 0/3] MXC PCMCIA Support

2010-02-21 Thread Dominik Brodowski
Russell, On Sat, Feb 20, 2010 at 05:41:00PM +0100, Martin Fuzzey wrote: > Russell King - ARM Linux wrote: > > I do wonder whether, as you have windows, you should be using the soc > > support - the soc support is based interfacing hardware which does not > > have windows into the generic infrastru

[PATCH 13/49] pcmcia: remove some rsrc_mgr indirections

2010-02-27 Thread Dominik Brodowski
Remove rsrc_mgr indirections only used by pcmcia_resource.c Tested-by: Wolfram Sang Signed-off-by: Dominik Brodowski --- drivers/pcmcia/cs_internal.h |8 drivers/pcmcia/pcmcia_resource.c | 17 + drivers/pcmcia/rsrc_mgr.c| 18 -- 3

[PATCH 45/49] pcmcia: handle error in serial_cs config calls

2010-02-27 Thread Dominik Brodowski
Do not ignore the error returned by simple_config() / multi_config(). CC: linux-ser...@vger.kernel.org Signed-off-by: Dominik Brodowski --- drivers/serial/serial_cs.c |7 --- 1 files changed, 4 insertions(+), 3 deletions(-) diff --git a/drivers/serial/serial_cs.c b/drivers/serial

[PATCH 18/49] pcmcia: do not use resource manager on !PCMCIA

2010-02-27 Thread Dominik Brodowski
If only CardBus cards are used, but not PCMCIA cards, we do not need the extensive resource management functions provided for by rsrc_nonstatic.c (~240K). Tested-by: Wolfram Sang Signed-off-by: Dominik Brodowski --- drivers/pcmcia/Kconfig |4 ++-- include/pcmcia/ss.h| 10

[PATCH 42/49] pcmcia: avoid sysfs-related lockup for cardbus

2010-02-27 Thread Dominik Brodowski
In cb_free(), we remove some sysfs files -- other sysfs files might grab ops_mutex, so we cannot hold it while removing sysfs files. This fixes http://lkml.org/lkml/2010/1/17/88 . Tested-by: Wolfram Sang Signed-off-by: Dominik Brodowski --- drivers/pcmcia/cs.c | 12 ++-- 1 files

[PATCH 09/49] pcmcia: rsrc_nonstatic io memory probe improvements

2010-02-27 Thread Dominik Brodowski
Add a lot of documentation to the rsrc_nonstatic io memory probe functions. Also, add a first memory probe call -- just checking whether request_resource() succeeds -- upon adding of resources. Tested-by: Wolfram Sang Signed-off-by: Dominik Brodowski --- drivers/pcmcia/rsrc_nonstatic.c | 174

[PATCH 21/49] pcmcia: make Open Firmware device id constant

2010-02-27 Thread Dominik Brodowski
@ identifier r.I2; identifier s.E; @@ + const struct I2 E[] = ...; // Signed-off-by: Márton Németh Cc: Julia Lawall Cc: co...@diku.dk Acked-by: Wolfram Sang Signed-off-by: Dominik Brodowski --- drivers/pcmcia/electra_cf.c |2 +- drivers/pcmcia/m8xx_pcmcia.c |2 +- 2 files

[PATCH 12/49] pcmcia: remove useless indirection

2010-02-27 Thread Dominik Brodowski
As release_resoure_db() used to be called only from one place, and it's a two-line function, remove it. Tested-by: Wolfram Sang Signed-off-by: Dominik Brodowski --- drivers/pcmcia/cs.c |3 ++- drivers/pcmcia/cs_internal.h |3 --- drivers/pcmcia/rsrc_mgr.c|6

[PATCH 32/49] pcmcia: protect s->device_count

2010-02-27 Thread Dominik Brodowski
Tested-by: Wolfram Sang Signed-off-by: Dominik Brodowski --- drivers/pcmcia/ds.c | 25 ++--- 1 files changed, 18 insertions(+), 7 deletions(-) diff --git a/drivers/pcmcia/ds.c b/drivers/pcmcia/ds.c index 4f7308d..bcb9ef1 100644 --- a/drivers/pcmcia/ds.c +++ b/drivers

[PATCH 22/49] pcmcia/yenta: add module parameter for O2 speedups

2010-02-27 Thread Dominik Brodowski
...@gmail.com [li...@dominikbrodowski.net: whitespace fixes] Signed-off-by: Dominik Brodowski --- drivers/pcmcia/o2micro.h | 45 ++-- drivers/pcmcia/yenta_socket.c |5 2 files changed, 34 insertions(+), 16 deletions(-) diff --git a/drivers

[PATCH 35/49] pcmcia: add locking documentation

2010-02-27 Thread Dominik Brodowski
Tested-by: Wolfram Sang Signed-off-by: Dominik Brodowski --- Documentation/pcmcia/locking.txt | 92 ++ 1 files changed, 92 insertions(+), 0 deletions(-) create mode 100644 Documentation/pcmcia/locking.txt diff --git a/Documentation/pcmcia/locking.txt b

[PATCH 40/49] pcmcia: delay re-scanning and re-querying of PCMCIA bus

2010-02-27 Thread Dominik Brodowski
After a CIS update -- or the finalization of the resource database --, proceed with the re-scanning or re-querying of PCMCIA cards only in a separate thread to avoid deadlocks. Tested-by: Wolfram Sang Signed-off-by: Dominik Brodowski --- drivers/pcmcia/cistpl.c | 10 +- drivers

[PATCH 04/49] pcmcia: validate CIS, not CIS cache.

2010-02-27 Thread Dominik Brodowski
: Dominik Brodowski --- drivers/pcmcia/cistpl.c | 24 drivers/pcmcia/cs.c |4 drivers/pcmcia/rsrc_nonstatic.c |3 +-- 3 files changed, 21 insertions(+), 10 deletions(-) diff --git a/drivers/pcmcia/cistpl.c b/drivers/pcmcia/cistpl.c index

[PATCH 20/49] cm4000_cs.c: Remove unnecessary cast

2010-02-27 Thread Dominik Brodowski
From: H Hartley Sweeten The struct file 'private_data' member is a void *, the cast is not needed. Signed-off-by: H Hartley Sweeten Cc: Harald Welte Signed-off-by: Dominik Brodowski --- drivers/char/pcmcia/cm4000_cs.c |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) di

[PATCH 30/49] pcmcia: lock ops->set_socket

2010-02-27 Thread Dominik Brodowski
As a side effect, socket_state_t socket; u_int state; u_int suspended_state; are properly protected now. Tested-by: Wolfram Sang Signed-off-by: Dominik Brodowski --- drivers/pcmcia/cs.c

[git pull] PCMCIA updates for 2.6.34

2010-02-27 Thread Dominik Brodowski
list. Thanks, Dominik Dominik Brodowski (41): pcmcia: make use of pcmcia_dev_resume() return value pcmcia: remove remaining unused IRQ_FIRST_SHARED parameter pcmcia: do not meddle with already assigned resources pcmcia: validate CIS, not CIS cache. pcmcia

[PATCH 29/49] pcmcia: lock ops->set_io_map()

2010-02-27 Thread Dominik Brodowski
As a side effect, io_window_t io[MAX_IO_WIN]; is explicitely protected now. Tested-by: Wolfram Sang Signed-off-by: Dominik Brodowski --- drivers/pcmcia/pcmcia_resource.c | 10 ++ 1 files changed, 10 insertions(+), 0 deletions(-) diff --git a/drivers

[PATCH 48/49] pcmcia: allow for extension of resource interval

2010-02-27 Thread Dominik Brodowski
If a new interval overlaps or extends an existing interval in add_interval(), do not fail, but extend the existing interval. Signed-off-by: Dominik Brodowski --- drivers/pcmcia/rsrc_nonstatic.c |6 -- 1 files changed, 4 insertions(+), 2 deletions(-) diff --git a/drivers/pcmcia

[PATCH 03/49] pcmcia: do not meddle with already assigned resources

2010-02-27 Thread Dominik Brodowski
Do not release any iomem resources already in use. Tested-by: Wolfram Sang Signed-off-by: Dominik Brodowski --- drivers/pcmcia/rsrc_nonstatic.c |7 --- 1 files changed, 0 insertions(+), 7 deletions(-) diff --git a/drivers/pcmcia/rsrc_nonstatic.c b/drivers/pcmcia/rsrc_nonstatic.c index

[PATCH 01/49] pcmcia: make use of pcmcia_dev_resume() return value

2010-02-27 Thread Dominik Brodowski
In runtime_resume(), do not throw away the return value of pcmcia_dev_resume(), for we can use it (at least) in pcmcia_store_pm_state(). This also fixes the pointless assignment previosly seen there, as noted by Dan Carpenter. CC: Dan Carpenter Tested-by: Wolfram Sang Signed-off-by: Dominik

[PATCH 38/49] pcmcia: use ops_mutex for rsrc_{mgr,nonstatic} locking

2010-02-27 Thread Dominik Brodowski
Tested-by: Wolfram Sang Signed-off-by: Dominik Brodowski --- Documentation/pcmcia/locking.txt |5 +++-- drivers/pcmcia/cs.c |7 ++- drivers/pcmcia/ds.c |6 +- drivers/pcmcia/pcmcia_ioctl.c|4 +--- drivers/pcmcia/rsrc_mgr.c|2

[PATCH 15/49] pcmcia: m8xx_pcmcia.c should use iodyn resource manager

2010-02-27 Thread Dominik Brodowski
: Olof Johansson Signed-off-by: Dominik Brodowski --- drivers/pcmcia/Kconfig |1 - drivers/pcmcia/m8xx_pcmcia.c |2 +- include/pcmcia/ss.h |2 ++ 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/drivers/pcmcia/Kconfig b/drivers/pcmcia/Kconfig index 7e9fd38

[PATCH 28/49] pcmcia: also lock fake and cache CIS by ops_mutex

2010-02-27 Thread Dominik Brodowski
Specifically, struct list_headcis_cache; size_t fake_cis_len; u8 *fake_cis; are protected. Tested-by: Wolfram Sang Signed-off-by: Dominik Brodowski --- drivers/pcmcia/cistpl.c | 18

[PATCH 11/49] pcmcia: do not lock socket driver module on card insert

2010-02-27 Thread Dominik Brodowski
Do not lock the socket driver module on card insert, as the PCMCIA core can handle a socket module removal, at least if we add a call to socket_remove() on pccardd()'s shutdown. Signed-off-by: Dominik Brodowski --- drivers/pcmcia/cs.c | 13 ++--- drivers/pcmcia/cs_inter

[PATCH 06/49] pcmcia: improve check for same card in slot after resume

2010-02-27 Thread Dominik Brodowski
interface doesn't offer a "rescan" facility which also _removes_ devices no longer to be found behind a bridge. Therefore, remove and re-add all devices unconditionally. CC: Jesse Barnes CC: Linus Torvalds Tested-by: Wolfram Sang Signed-off-by: Dominik Brodowski --- drivers/pcmcia/

[PATCH 41/49] pcmcia: use state machine for extended requery

2010-02-27 Thread Dominik Brodowski
The requery callback now also handles the addition of a second pseudo multifunction device. Avoids messing with dev_{g,s}et_drvdata(), and fixes any workqueue <-> skt_mutex deadlock. Tested-by: Wolfram Sang Signed-off-by: Dominik Brodowski --- drivers/pcmcia/ds.c

[PATCH 24/49] pcmcia/at91_cf: don't redefine SZ_2K

2010-02-27 Thread Dominik Brodowski
Acked-by: Andrew Victor Signed-off-by: Dominik Brodowski --- drivers/pcmcia/at91_cf.c |2 -- 1 files changed, 0 insertions(+), 2 deletions(-) diff --git a/drivers/pcmcia/at91_cf.c b/drivers/pcmcia/at91_cf.c index e1dcced..5d22807 100644 --- a/drivers/pcmcia/at91_cf.c +++ b/drivers/pcmcia/at91_cf.

[PATCH 14/49] pcmcia: m32r uses static socket resources

2010-02-27 Thread Dominik Brodowski
ram Sang Signed-off-by: Dominik Brodowski --- drivers/pcmcia/Kconfig|2 -- drivers/pcmcia/m32r_cfc.c |2 +- 2 files changed, 1 insertions(+), 3 deletions(-) diff --git a/drivers/pcmcia/Kconfig b/drivers/pcmcia/Kconfig index 9f3adbd..7e9fd38 100644 --- a/drivers/pcmcia/Kconfig +++ b/driver

[PATCH 31/49] pcmcia: properly lock skt->irq, skt->irq_mask

2010-02-27 Thread Dominik Brodowski
Tested-by: Wolfram Sang Signed-off-by: Dominik Brodowski --- drivers/pcmcia/pcmcia_resource.c |3 +++ drivers/pcmcia/socket_sysfs.c|2 ++ 2 files changed, 5 insertions(+), 0 deletions(-) diff --git a/drivers/pcmcia/pcmcia_resource.c b/drivers/pcmcia/pcmcia_resource.c index f365ecb

[PATCH 44/49] pcmcia: add locking to pcmcia_{read,write}_cis_mem

2010-02-27 Thread Dominik Brodowski
Signed-off-by: Dominik Brodowski --- drivers/pcmcia/cistpl.c | 27 +-- drivers/pcmcia/rsrc_nonstatic.c |5 + 2 files changed, 26 insertions(+), 6 deletions(-) diff --git a/drivers/pcmcia/cistpl.c b/drivers/pcmcia/cistpl.c index 17a5da3..602f574 100644

[PATCH 19/49] pcmcia: fix yenta dependency on PCCARD_NONSTATIC

2010-02-27 Thread Dominik Brodowski
TA, PCMCIA). Change it to 'if PCMCIA!=n' to remove the upper limit. [li...@dominikbrodowski.net: propagate change to PCMICA_M8XX] Reported-by: Randy Dunlap Signed-off-by: Michal Marek Acked-by: Randy Dunlap Signed-off-by: Dominik Brodowski --- drivers/pcmcia/Kconfig |6 +++---

[PATCH 49/49] pcmcia: validate late-added resources

2010-02-27 Thread Dominik Brodowski
alid. When allocationg mem resources, mem_db_valid is then preferred to mem_db. Signed-off-by: Dominik Brodowski --- drivers/pcmcia/rsrc_nonstatic.c | 67 --- 1 files changed, 48 insertions(+), 19 deletions(-) diff --git a/drivers/pcmcia/rsrc_nonstatic.c b/driv

[PATCH 02/49] pcmcia: remove remaining unused IRQ_FIRST_SHARED parameter

2010-02-27 Thread Dominik Brodowski
Komuro pointed out correctly that I missed one IRQ_FIRST_SHARED parameter in smc91c92_cs.c, and that another line could be writter more beautifully. CC: net...@vger.kernel.org CC: Komuro Tested-by: Wolfram Sang Signed-off-by: Dominik Brodowski --- drivers/net/pcmcia/smc91c92_cs.c |6

[PATCH 05/49] pcmcia: cleanup pccard_validate_cis()

2010-02-27 Thread Dominik Brodowski
Cleanup pccard_validate_cis() and make it return an error code on all failures, not merely on some failures. Tested-by: Wolfram Sang Signed-off-by: Dominik Brodowski --- drivers/pcmcia/cistpl.c | 155 -- 1 files changed, 81 insertions(+), 74

[PATCH 33/49] pcmcia: add locking to struct pcmcia_socket->pcmcia_state()

2010-02-27 Thread Dominik Brodowski
Tested-by: Wolfram Sang Signed-off-by: Dominik Brodowski --- drivers/pcmcia/ds.c | 33 ++--- 1 files changed, 30 insertions(+), 3 deletions(-) diff --git a/drivers/pcmcia/ds.c b/drivers/pcmcia/ds.c index bcb9ef1..0eb242c 100644 --- a/drivers/pcmcia/ds.c +++ b

[PATCH 36/49] pcmcia: assert locking to struct pcmcia_device

2010-02-27 Thread Dominik Brodowski
Tested-by: Wolfram Sang Signed-off-by: Dominik Brodowski --- Documentation/pcmcia/locking.txt | 25 drivers/pcmcia/ds.c | 38 drivers/pcmcia/pcmcia_resource.c | 122 -- 3 files changed, 129 insertions(+), 56 deletions

[PATCH 43/49] pcmcia: avoid prod_id memleak

2010-02-27 Thread Dominik Brodowski
Reported-by: Wolfram Sang Signed-off-by: Dominik Brodowski --- drivers/pcmcia/ds.c | 19 ++- 1 files changed, 14 insertions(+), 5 deletions(-) diff --git a/drivers/pcmcia/ds.c b/drivers/pcmcia/ds.c index 9968c0d..93925f5 100644 --- a/drivers/pcmcia/ds.c +++ b/drivers/pcmcia

[PATCH 23/49] pcmcia/bfin_cf: don't check platform_get_irq's return value against zero

2010-02-27 Thread Dominik Brodowski
ged the return value of platform_get_irq from 0 to -ENXIO on error. Signed-off-by: Uwe Kleine-König Cc: David Vrabel Cc: Greg Kroah-Hartman Cc: Rafael J. Wysocki Signed-off-by: Dominik Brodowski --- drivers/pcmcia/bfin_cf_pcmcia.c |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) d

[PATCH 47/49] pcmcia: remove useless msleep in ds.c

2010-02-27 Thread Dominik Brodowski
As this is the socket thread (pccardd) starting up, we do not have anything to wait for in ds.c. Instead, wait the same amount of time in pccardd to allow userspace to catch up and - possibly - execute pcmcia-socket-startup. Signed-off-by: Dominik Brodowski --- drivers/pcmcia/cs.c |3

[PATCH 10/49] pcmcia: do not lock socket driver module in pcmcia_get_socket()

2010-02-27 Thread Dominik Brodowski
Do not lock the socket driver module in pcmcia_get_socket(), as the PCMCIA core can handle a socket module removal: In pcmcia_unregister_socket(), we explicitely wait for the last put_device() to succeed. Tested-by: Wolfram Sang Signed-off-by: Dominik Brodowski --- drivers/pcmcia/cs.c |8

<    1   2   3   4   5   6   7   8   9   10   >