diff --git a/drivers/pcmcia/cistpl.c b/drivers/pcmcia/cistpl.c
index 8d37768..71231e8 100644
--- a/drivers/pcmcia/cistpl.c
+++ b/drivers/pcmcia/cistpl.c
@@ -1397,7 +1397,7 @@
 	ret = 0;
 	break;
     default:
-	ret = CS_UNSUPPORTED_FUNCTION;
+	ret = -EINVAL;
 	break;
     }
     return ret;
diff --git a/drivers/pcmcia/cs.c b/drivers/pcmcia/cs.c
index 037cb0c..e847c32 100644
--- a/drivers/pcmcia/cs.c
+++ b/drivers/pcmcia/cs.c
@@ -769,7 +769,7 @@
 			break;
 		}
 		if (skt->state & SOCKET_CARDBUS) {
-			ret = CS_UNSUPPORTED_FUNCTION;
+			ret = -EPERM;
 			break;
 		}
 
@@ -810,7 +810,7 @@
 			break;
 		}
 		if (skt->state & SOCKET_CARDBUS) {
-			ret = CS_UNSUPPORTED_FUNCTION;
+			ret = -EPERM;
 			break;
 		}
 		if (skt->callback) {
@@ -840,7 +840,7 @@
 			break;
 		}
 		if (skt->state & SOCKET_CARDBUS) {
-			ret = CS_UNSUPPORTED_FUNCTION;
+			ret = -EPERM;
 			break;
 		}
 		ret = socket_resume(skt);
diff --git a/drivers/pcmcia/ds.c b/drivers/pcmcia/ds.c
index 7142fd6..4a658e2 100644
--- a/drivers/pcmcia/ds.c
+++ b/drivers/pcmcia/ds.c
@@ -85,8 +85,7 @@
     { CS_BAD_VCC,		"Bad Vcc" },
     { CS_BAD_VPP,		"Bad Vpp" },
     { CS_NO_CARD,		"No card present" },
-    { CS_UNSUPPORTED_FUNCTION,	"Usupported function" },
-    { CS_UNSUPPORTED_MODE,	"Unsupported mode" },
+    { -EINVAL,			"Bad parameter" },
     { CS_GENERAL_FAILURE,	"General failure" },
     { CS_BAD_ARGS,		"Bad arguments" },
     { CS_CONFIGURATION_LOCKED,	"Configuration locked" },
diff --git a/drivers/pcmcia/pcmcia_ioctl.c b/drivers/pcmcia/pcmcia_ioctl.c
index ef64ceb..40bef47 100644
--- a/drivers/pcmcia/pcmcia_ioctl.c
+++ b/drivers/pcmcia/pcmcia_ioctl.c
@@ -175,7 +175,7 @@
 static int pcmcia_adjust_resource_info(adjust_t *adj)
 {
 	struct pcmcia_socket *s;
-	int ret = CS_UNSUPPORTED_FUNCTION;
+	int ret = -ENOSYS;
 	unsigned long flags;
 
 	down_read(&pcmcia_socket_list_rwsem);
@@ -975,7 +975,7 @@
 	    err = -ENOSPC; break;
 	case CS_NO_MORE_ITEMS:
 	    err = -ENODATA; break;
-	case CS_UNSUPPORTED_FUNCTION:
+	case -ENOSYS:
 	    err = -ENOSYS; break;
 	default:
 	    err = -EIO; break;
diff --git a/drivers/pcmcia/pcmcia_resource.c b/drivers/pcmcia/pcmcia_resource.c
index 69d87a7..3b8b0e1 100644
--- a/drivers/pcmcia/pcmcia_resource.c
+++ b/drivers/pcmcia/pcmcia_resource.c
@@ -475,8 +475,10 @@
 	if (!(s->state & SOCKET_PRESENT))
 		return CS_NO_CARD;
 
-	if (req->IntType & INT_CARDBUS)
-		return CS_UNSUPPORTED_MODE;
+	if (req->IntType & INT_CARDBUS) {
+		ds_dbg(p_dev->socket, 0, "IntType may not be INT_CARDBUS\n");
+		return -EINVAL;
+	}
 	c = p_dev->function_config;
 	if (c->state & CONFIG_LOCKED)
 		return CS_CONFIGURATION_LOCKED;
@@ -592,7 +594,7 @@
 		return CS_NO_CARD;
 
 	if (!req)
-		return CS_UNSUPPORTED_MODE;
+		return -EINVAL;
 	c = p_dev->function_config;
 	if (c->state & CONFIG_LOCKED)
 		return CS_CONFIGURATION_LOCKED;
diff --git a/include/pcmcia/cs.h b/include/pcmcia/cs.h
index 9e6916c..6b51d27 100644
--- a/include/pcmcia/cs.h
+++ b/include/pcmcia/cs.h
@@ -305,8 +305,8 @@
 #define CS_BAD_WINDOW		-ENODEV
 #define CS_WRITE_FAILURE	-EIO
 #define CS_NO_CARD		0x14
-#define CS_UNSUPPORTED_FUNCTION	0x15
-#define CS_UNSUPPORTED_MODE	0x16
+#define CS_UNSUPPORTED_FUNCTION	-ENODEV
+#define CS_UNSUPPORTED_MODE	-ENODEV
 #define CS_BAD_SPEED		-ENODEV
 #define CS_BUSY			-ENODEV
 #define CS_GENERAL_FAILURE	0x19
