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