diff options
Diffstat (limited to 'drivers/pcmcia/socket_sysfs.c')
-rw-r--r-- | drivers/pcmcia/socket_sysfs.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/drivers/pcmcia/socket_sysfs.c b/drivers/pcmcia/socket_sysfs.c index 5ab1cdef7c48..c5d7476da471 100644 --- a/drivers/pcmcia/socket_sysfs.c +++ b/drivers/pcmcia/socket_sysfs.c | |||
@@ -12,7 +12,6 @@ | |||
12 | #include <linux/moduleparam.h> | 12 | #include <linux/moduleparam.h> |
13 | #include <linux/init.h> | 13 | #include <linux/init.h> |
14 | #include <linux/kernel.h> | 14 | #include <linux/kernel.h> |
15 | #include <linux/config.h> | ||
16 | #include <linux/string.h> | 15 | #include <linux/string.h> |
17 | #include <linux/major.h> | 16 | #include <linux/major.h> |
18 | #include <linux/errno.h> | 17 | #include <linux/errno.h> |
@@ -25,6 +24,7 @@ | |||
25 | #include <linux/pm.h> | 24 | #include <linux/pm.h> |
26 | #include <linux/pci.h> | 25 | #include <linux/pci.h> |
27 | #include <linux/device.h> | 26 | #include <linux/device.h> |
27 | #include <linux/mutex.h> | ||
28 | #include <asm/system.h> | 28 | #include <asm/system.h> |
29 | #include <asm/irq.h> | 29 | #include <asm/irq.h> |
30 | 30 | ||
@@ -183,7 +183,7 @@ static ssize_t pccard_store_resource(struct class_device *dev, const char *buf, | |||
183 | s->resource_setup_done = 1; | 183 | s->resource_setup_done = 1; |
184 | spin_unlock_irqrestore(&s->lock, flags); | 184 | spin_unlock_irqrestore(&s->lock, flags); |
185 | 185 | ||
186 | down(&s->skt_sem); | 186 | mutex_lock(&s->skt_mutex); |
187 | if ((s->callback) && | 187 | if ((s->callback) && |
188 | (s->state & SOCKET_PRESENT) && | 188 | (s->state & SOCKET_PRESENT) && |
189 | !(s->state & SOCKET_CARDBUS)) { | 189 | !(s->state & SOCKET_CARDBUS)) { |
@@ -192,7 +192,7 @@ static ssize_t pccard_store_resource(struct class_device *dev, const char *buf, | |||
192 | module_put(s->callback->owner); | 192 | module_put(s->callback->owner); |
193 | } | 193 | } |
194 | } | 194 | } |
195 | up(&s->skt_sem); | 195 | mutex_unlock(&s->skt_mutex); |
196 | 196 | ||
197 | return count; | 197 | return count; |
198 | } | 198 | } |
@@ -322,7 +322,7 @@ static ssize_t pccard_store_cis(struct kobject *kobj, char *buf, loff_t off, siz | |||
322 | kfree(cis); | 322 | kfree(cis); |
323 | 323 | ||
324 | if (!ret) { | 324 | if (!ret) { |
325 | down(&s->skt_sem); | 325 | mutex_lock(&s->skt_mutex); |
326 | if ((s->callback) && (s->state & SOCKET_PRESENT) && | 326 | if ((s->callback) && (s->state & SOCKET_PRESENT) && |
327 | !(s->state & SOCKET_CARDBUS)) { | 327 | !(s->state & SOCKET_CARDBUS)) { |
328 | if (try_module_get(s->callback->owner)) { | 328 | if (try_module_get(s->callback->owner)) { |
@@ -330,7 +330,7 @@ static ssize_t pccard_store_cis(struct kobject *kobj, char *buf, loff_t off, siz | |||
330 | module_put(s->callback->owner); | 330 | module_put(s->callback->owner); |
331 | } | 331 | } |
332 | } | 332 | } |
333 | up(&s->skt_sem); | 333 | mutex_unlock(&s->skt_mutex); |
334 | } | 334 | } |
335 | 335 | ||
336 | 336 | ||