[PATCH] pcmcia: fix ioctl for GET_STATUS and GET_CONFIGURATION_INFO
authorDaniel Ritz <daniel.ritz-ml@swissonline.ch>
Sun, 30 Jul 2006 10:03:47 +0000 (03:03 -0700)
committerLinus Torvalds <torvalds@g5.osdl.org>
Mon, 31 Jul 2006 20:28:41 +0000 (13:28 -0700)
the p_dev == NULL checks are wrong.  the called functions handle a NULL
p_dev on their own.  w/o this patch output of cardcctl status and cardctl
config is broken for cardbus cards or when the slot is empty.

Signed-off-by: Daniel Ritz <daniel.ritz@gmx.ch>
Cc: Dominik Brodowski <linux@dominikbrodowski.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
drivers/pcmcia/pcmcia_ioctl.c

index 738b1ef..9ad18e6 100644 (file)
@@ -601,12 +601,8 @@ static int ds_ioctl(struct inode * inode, struct file * file,
            ret = CS_BAD_ARGS;
        else {
            struct pcmcia_device *p_dev = get_pcmcia_device(s, buf->config.Function);
-           if (p_dev == NULL)
-                   ret = CS_BAD_ARGS;
-           else {
-                   ret = pccard_get_configuration_info(s, p_dev, &buf->config);
-                   pcmcia_put_dev(p_dev);
-           }
+           ret = pccard_get_configuration_info(s, p_dev, &buf->config);
+           pcmcia_put_dev(p_dev);
        }
        break;
     case DS_GET_FIRST_TUPLE:
@@ -636,12 +632,8 @@ static int ds_ioctl(struct inode * inode, struct file * file,
                    ret = CS_BAD_ARGS;
            else {
                    struct pcmcia_device *p_dev = get_pcmcia_device(s, buf->status.Function);
-                   if (p_dev == NULL)
-                           ret = CS_BAD_ARGS;
-                   else {
-                           ret = pccard_get_status(s, p_dev, &buf->status);
-                           pcmcia_put_dev(p_dev);
-                   }
+                   ret = pccard_get_status(s, p_dev, &buf->status);
+                   pcmcia_put_dev(p_dev);
            }
            break;
     case DS_VALIDATE_CIS: