On Tue, 4 May 2010 06:14:48 +0200, Pavel Machek <pa...@ucw.cz> wrote:
> Hi!
> 
> -rc5 compiled ok with similar config.
> 
> Now I get:
> 
>   CHK     include/linux/version.h
>   CHK     include/generated/utsrelease.h
> make[1]: `include/generated/mach-types.h' is up to date.
>   CALL    scripts/checksyscalls.sh
>   CHK     include/generated/compile.h
>   CC      drivers/pcmcia/pcmcia_ioctl.o
> drivers/pcmcia/pcmcia_ioctl.c: In function 'ds_open':
> drivers/pcmcia/pcmcia_ioctl.c:714: error: 'struct <anonymous>' has no
> member named 'present'
> drivers/pcmcia/pcmcia_ioctl.c: In function 'ds_read':
> drivers/pcmcia/pcmcia_ioctl.c:773: error: 'struct <anonymous>' has no
> member named 'dead'
> drivers/pcmcia/pcmcia_ioctl.c: In function 'ds_ioctl':
> drivers/pcmcia/pcmcia_ioctl.c:841: error: 'struct <anonymous>' has no
> member named 'dead'
> make[2]: *** [drivers/pcmcia/pcmcia_ioctl.o] Error 1
> make[1]: *** [drivers/pcmcia] Error 2
> make: *** [drivers] Error 2

Does the attached patch fix it (compile-tested only)?

        M.
-- 
Who you jivin' with that Cosmik Debris?
From 7d289f9b062e1b17e985c7898f8824e2417d783c Mon Sep 17 00:00:00 2001
From: Marc Zyngier <m...@misterjones.org>
Date: Tue, 4 May 2010 12:21:53 +0100
Subject: [PATCH] pcmcia: fix compilation after 16bit state locking changes

Commit 04de0816 (pcmcia: pcmcia_dev_present bugfix) broke the
deprecated ioctl layer. Fix it by getting rid of references to
unexisting fields.

Signed-off-by: Marc Zyngier <m...@misterjones.org>
Reported-by: Pavel Machek <pa...@ucw.cz>
---
 drivers/pcmcia/pcmcia_ioctl.c |    7 +------
 1 files changed, 1 insertions(+), 6 deletions(-)

diff --git a/drivers/pcmcia/pcmcia_ioctl.c b/drivers/pcmcia/pcmcia_ioctl.c
index 104e73d..7631faa 100644
--- a/drivers/pcmcia/pcmcia_ioctl.c
+++ b/drivers/pcmcia/pcmcia_ioctl.c
@@ -711,7 +711,7 @@ static int ds_open(struct inode *inode, struct file *file)
            warning_printed = 1;
     }
 
-    if (s->pcmcia_state.present)
+    if (atomic_read(&s->present))
        queue_event(user, CS_EVENT_CARD_INSERTION);
 out:
     unlock_kernel();
@@ -770,9 +770,6 @@ static ssize_t ds_read(struct file *file, char __user *buf,
        return -EIO;
 
     s = user->socket;
-    if (s->pcmcia_state.dead)
-       return -EIO;
-
     ret = wait_event_interruptible(s->queue, !queue_empty(user));
     if (ret == 0)
        ret = put_user(get_queued_event(user), (int __user *)buf) ? -EFAULT : 4;
@@ -838,8 +835,6 @@ static int ds_ioctl(struct inode *inode, struct file *file,
        return -EIO;
 
     s = user->socket;
-    if (s->pcmcia_state.dead)
-       return -EIO;
 
     size = (cmd & IOCSIZE_MASK) >> IOCSIZE_SHIFT;
     if (size > sizeof(ds_ioctl_arg_t))
-- 
1.7.0.4

_______________________________________________
Zaurus-devel mailing list
Zaurus-devel@lists.linuxtogo.org
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/zaurus-devel

Reply via email to