From: Dominik Brodowski <linux@dominikbrodowski.net>
To: Brice Goglin <Brice.Goglin@ens-lyon.org>
Cc: Andrew Morton <akpm@osdl.org>, LKML <linux-kernel@vger.kernel.org>
Subject: Re: 2.6.15-mm3
Date: Thu, 12 Jan 2006 00:00:39 +0100 [thread overview]
Message-ID: <20060111230039.GB4541@isilmar.linta.de> (raw)
In-Reply-To: <43C58B02.6010601@ens-lyon.org>
On Wed, Jan 11, 2006 at 05:47:30PM -0500, Brice Goglin wrote:
> Dominik Brodowski wrote:
>
> >Exactly. Could you pass the parameter pc_debug=9 to the "pcmcia" module,
> >please, and send me the resulting dmesg? I can't reproduce it here,
> >unfortunately...
> >
> >
> Here you are (I had to enable CONFIG_PCMCIA_DEBUG).
Many thanks... Could you try out this patch instead of the other one,
please? get_pcmcia_device() seems to be the buggiest function I've ever
written, sorry about that...
Thanks,
Dominik
diff --git a/drivers/pcmcia/pcmcia_ioctl.c b/drivers/pcmcia/pcmcia_ioctl.c
index c4f7dfb..be08bc9 100644
--- a/drivers/pcmcia/pcmcia_ioctl.c
+++ b/drivers/pcmcia/pcmcia_ioctl.c
@@ -69,25 +69,26 @@ extern int ds_pc_debug;
#define ds_dbg(lvl, fmt, arg...) do { } while (0)
#endif
-static struct pcmcia_device * get_pcmcia_device (struct pcmcia_socket *s,
- unsigned int function)
+static struct pcmcia_device *get_pcmcia_device(struct pcmcia_socket *s,
+ unsigned int function)
{
struct pcmcia_device *p_dev = NULL;
-
unsigned long flags;
+
spin_lock_irqsave(&pcmcia_dev_list_lock, flags);
- list_for_each_entry(p_dev, &s->devices_list, socket_device_list) {
+ list_for_each_entry(p_dev, &s->devices_list, socket_device_list) {
if (p_dev->func == function) {
- p_dev = pcmcia_get_dev(p_dev);
- break;
+ spin_unlock_irqrestore(&pcmcia_dev_list_lock, flags);
+ return pcmcia_get_dev(p_dev);
}
}
- return p_dev;
+ spin_unlock_irqrestore(&pcmcia_dev_list_lock, flags);
+ return NULL;
}
/* backwards-compatible accessing of driver --- by name! */
-static struct pcmcia_driver * get_pcmcia_driver (dev_info_t *dev_info)
+static struct pcmcia_driver *get_pcmcia_driver(dev_info_t *dev_info)
{
struct device_driver *drv;
struct pcmcia_driver *p_drv;
@@ -625,15 +626,15 @@ static int ds_ioctl(struct inode * inode
ret = pccard_reset_card(s);
break;
case DS_GET_STATUS:
- if (buf->status.Function &&
- (buf->status.Function >= s->functions))
- ret = CS_BAD_ARGS;
- else {
- struct pcmcia_device *p_dev = get_pcmcia_device(s, buf->status.Function);
- ret = pccard_get_status(s, p_dev, &buf->status);
- pcmcia_put_dev(p_dev);
- }
- break;
+ if (buf->status.Function &&
+ (buf->status.Function >= s->functions))
+ ret = CS_BAD_ARGS;
+ else {
+ struct pcmcia_device *p_dev = get_pcmcia_device(s, buf->status.Function);
+ ret = pccard_get_status(s, p_dev, &buf->status);
+ pcmcia_put_dev(p_dev);
+ }
+ break;
case DS_VALIDATE_CIS:
mutex_lock(&s->skt_mutex);
pcmcia_validate_mem(s);
next prev parent reply other threads:[~2006-01-11 23:00 UTC|newest]
Thread overview: 55+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-01-11 12:21 2.6.15-mm3 Andrew Morton
2006-01-11 13:43 ` 2.6.15-mm3 Pekka Enberg
2006-01-11 14:27 ` 2.6.15-mm3 Ashutosh Naik
2006-01-11 16:21 ` 2.6.15-mm3 Dominik Karall
2006-01-11 22:22 ` 2.6.15-mm3, current -git: drivers/media/video/ compile errors Adrian Bunk
2006-01-11 22:48 ` Mauro Carvalho Chehab
2006-01-11 16:57 ` [PATCH -mm] mm/rmap.c: don't forget to include module.h Alexey Dobriyan
2006-01-11 21:42 ` Adrian Bunk
2006-01-11 21:50 ` Christoph Lameter
2006-01-11 18:25 ` 2.6.15-mm3 Roman Zippel
2006-01-11 18:45 ` 2.6.15-mm3 Andrew Morton
2006-01-11 22:26 ` 2.6.15-mm3 Roman Zippel
2006-01-11 18:34 ` 2.6.15-mm3 Brice Goglin
2006-01-11 18:40 ` 2.6.15-mm3 Dominik Brodowski
2006-01-11 19:07 ` 2.6.15-mm3 Brice Goglin
2006-01-11 19:55 ` 2.6.15-mm3 Dominik Brodowski
2006-01-11 20:28 ` 2.6.15-mm3 Brice Goglin
2006-01-11 21:21 ` 2.6.15-mm3 Dominik Brodowski
2006-01-11 22:47 ` 2.6.15-mm3 Brice Goglin
2006-01-11 23:00 ` Dominik Brodowski [this message]
2006-01-11 23:23 ` 2.6.15-mm3 Brice Goglin
2006-01-11 18:49 ` 2.6.15-mm3 Andrew Morton
2006-01-11 21:39 ` 2.6.15-mm3 Grant Coady
2006-01-11 23:41 ` 2.6.15-mm3: arch/ia64/sn/kernel/sn2/sn_proc_fs.c compile error Adrian Bunk
2006-01-12 0:01 ` Andrew Morton
2006-01-12 0:17 ` Adrian Bunk
2006-01-12 0:23 ` Andrew Morton
2006-01-12 0:54 ` Adrian Bunk
2006-01-12 1:02 ` [-mm patch] fix arch/ia64/sn/kernel/tiocx.c compilation Adrian Bunk
2006-01-12 16:43 ` Greg KH
2006-01-12 4:04 ` 2.6.15-mm3 Reuben Farrelly
2006-01-12 4:33 ` 2.6.15-mm3 Andrew Morton
2006-01-12 4:38 ` 2.6.15-mm3 Reuben Farrelly
2006-01-12 8:54 ` 2.6.15-mm3 [USB lost interrupt bug] Reuben Farrelly
2006-01-12 15:53 ` [linux-usb-devel] " Alan Stern
2006-01-15 22:50 ` Reuben Farrelly
2006-01-16 3:22 ` Alan Stern
2006-01-16 3:28 ` Reuben Farrelly
2006-01-16 3:46 ` Alan Stern
2006-01-21 5:21 ` Reuben Farrelly
2006-01-21 5:47 ` Andrew Morton
2006-01-21 7:58 ` Reuben Farrelly
2006-01-21 8:32 ` [PATCH] " Jeff Garzik
2006-01-21 10:41 ` Reuben Farrelly
2006-01-12 10:48 ` [RFC: -mm patch] swsusp: make some code static Adrian Bunk
2006-01-12 15:29 ` Pavel Machek
2006-01-12 16:18 ` Rafael J. Wysocki
2006-01-12 10:48 ` [-mm patch] drivers/block/aoe/aoecmd.c: make aoecmd_cfg_pkts() static Adrian Bunk
2006-01-12 23:55 ` Ed L. Cashin
2006-01-12 21:05 ` 2.6.15-mm3 Rafael J. Wysocki
2006-01-12 21:58 ` 2.6.15-mm3 Andrew Morton
2006-01-12 22:01 ` 2.6.15-mm3 Patrick McHardy
2006-01-13 8:34 ` 2.6.15-mm3 Sachin Sant
2006-01-13 11:52 ` 2.6.15-mm3 Andrew Morton
2006-01-13 21:59 ` 2.6.15-mm3 Benjamin Herrenschmidt
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20060111230039.GB4541@isilmar.linta.de \
--to=linux@dominikbrodowski.net \
--cc=Brice.Goglin@ens-lyon.org \
--cc=akpm@osdl.org \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).