diff options
author | David S. Miller <davem@davemloft.net> | 2010-04-21 12:14:25 +0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2010-04-21 12:14:25 +0400 |
commit | 87eb367003887cdc81a5d183efea227b5b488961 (patch) | |
tree | 40f617e25a9364d573e3cd2189c9e7fa56c8a0fe /drivers/char/pcmcia/cm4000_cs.c | |
parent | ccb7c7732e2ceb4e81a7806faf1670be9681ccd2 (diff) | |
parent | 05d17608a69b3ae653ea5c9857283bef3439c733 (diff) | |
download | linux-87eb367003887cdc81a5d183efea227b5b488961.tar.xz |
Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
Conflicts:
drivers/net/wireless/iwlwifi/iwl-6000.c
net/core/dev.c
Diffstat (limited to 'drivers/char/pcmcia/cm4000_cs.c')
-rw-r--r-- | drivers/char/pcmcia/cm4000_cs.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/drivers/char/pcmcia/cm4000_cs.c b/drivers/char/pcmcia/cm4000_cs.c index c9bc896d68af..90b199f97bec 100644 --- a/drivers/char/pcmcia/cm4000_cs.c +++ b/drivers/char/pcmcia/cm4000_cs.c @@ -1026,14 +1026,16 @@ static ssize_t cmm_read(struct file *filp, __user char *buf, size_t count, xoutb(0, REG_FLAGS1(iobase)); /* clear detectCMM */ /* last check before exit */ - if (!io_detect_cm4000(iobase, dev)) - count = -ENODEV; + if (!io_detect_cm4000(iobase, dev)) { + rc = -ENODEV; + goto release_io; + } if (test_bit(IS_INVREV, &dev->flags) && count > 0) str_invert_revert(dev->rbuf, count); if (copy_to_user(buf, dev->rbuf, count)) - return -EFAULT; + rc = -EFAULT; release_io: clear_bit(LOCK_IO, &dev->flags); |