pcmcia: deprecate CS_BAD_ARGS
CS_BAD_ARGS mean a badly written driver or invalid userspace ioctl access,
so translate that to -EINVAL.
Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
diff --git a/drivers/pcmcia/ds.c b/drivers/pcmcia/ds.c
index 3ccf409..5b24938 100644
--- a/drivers/pcmcia/ds.c
+++ b/drivers/pcmcia/ds.c
@@ -78,7 +78,6 @@
{ -EIO, "Input/Output error" },
{ -ENODEV, "No card present" },
{ -EINVAL, "Bad parameter" },
- { CS_BAD_ARGS, "Bad arguments" },
{ -EACCES, "Configuration locked" },
{ -EBUSY, "Resource in use" },
{ -ENOSPC, "No more items" },
diff --git a/drivers/pcmcia/pcmcia_ioctl.c b/drivers/pcmcia/pcmcia_ioctl.c
index 9956313..f2352c2 100644
--- a/drivers/pcmcia/pcmcia_ioctl.c
+++ b/drivers/pcmcia/pcmcia_ioctl.c
@@ -836,7 +836,7 @@
case DS_GET_CONFIGURATION_INFO:
if (buf->config.Function &&
(buf->config.Function >= s->functions))
- ret = CS_BAD_ARGS;
+ ret = -EINVAL;
else {
struct pcmcia_device *p_dev = get_pcmcia_device(s, buf->config.Function);
ret = pccard_get_configuration_info(s, p_dev, &buf->config);
@@ -867,7 +867,7 @@
case DS_GET_STATUS:
if (buf->status.Function &&
(buf->status.Function >= s->functions))
- ret = CS_BAD_ARGS;
+ ret = -EINVAL;
else {
struct pcmcia_device *p_dev = get_pcmcia_device(s, buf->status.Function);
ret = pccard_get_status(s, p_dev, &buf->status);
@@ -898,7 +898,7 @@
goto free_out;
}
- ret = CS_BAD_ARGS;
+ ret = -EINVAL;
if (!(buf->conf_reg.Function &&
(buf->conf_reg.Function >= s->functions))) {
@@ -970,7 +970,7 @@
case -ENOSYS:
err = ret;
break;
- case CS_BAD_ARGS: case CS_BAD_TUPLE:
+ case CS_BAD_TUPLE:
err = -EINVAL; break;
case -ENOMEM:
err = -ENOSPC; break;
diff --git a/drivers/pcmcia/pcmcia_resource.c b/drivers/pcmcia/pcmcia_resource.c
index fee5713..de13c42 100644
--- a/drivers/pcmcia/pcmcia_resource.c
+++ b/drivers/pcmcia/pcmcia_resource.c
@@ -189,7 +189,7 @@
pcmcia_write_cis_mem(s, 1, addr, 1, &val);
break;
default:
- return CS_BAD_ARGS;
+ return -EINVAL;
break;
}
return 0;
@@ -401,7 +401,7 @@
(c->io.NumPorts1 != req->NumPorts1) ||
(c->io.BasePort2 != req->BasePort2) ||
(c->io.NumPorts2 != req->NumPorts2))
- return CS_BAD_ARGS;
+ return -EINVAL;
c->state &= ~CONFIG_IO_REQ;
@@ -855,8 +855,10 @@
if (req->Attributes & WIN_USE_WAIT)
win->ctl.flags |= MAP_USE_WAIT;
win->ctl.card_start = 0;
- if (s->ops->set_mem_map(s, &win->ctl) != 0)
- return CS_BAD_ARGS;
+ if (s->ops->set_mem_map(s, &win->ctl) != 0) {
+ ds_dbg(s, 0, "failed to set memory mapping\n");
+ return -EIO;
+ }
s->state |= SOCKET_WIN_REQ(w);
/* Return window handle */
diff --git a/include/pcmcia/cs.h b/include/pcmcia/cs.h
index 4951eb9..56f94e2 100644
--- a/include/pcmcia/cs.h
+++ b/include/pcmcia/cs.h
@@ -294,7 +294,7 @@
#define CS_BAD_BASE -EINVAL
#define CS_BAD_EDC -ENODEV
#define CS_BAD_IRQ -EINVAL
-#define CS_BAD_OFFSET -EIO
+#define CS_BAD_OFFSET -EINVAL
#define CS_BAD_PAGE -EINVAL
#define CS_READ_FAILURE -EIO
#define CS_BAD_SIZE -EINVAL
@@ -312,7 +312,7 @@
#define CS_GENERAL_FAILURE -ETIMEDOUT
#define CS_WRITE_PROTECTED -EPERM
#define CS_BAD_ARG_LENGTH -ENODEV
-#define CS_BAD_ARGS 0x1c
+#define CS_BAD_ARGS -EINVAL
#define CS_CONFIGURATION_LOCKED -EACCES
#define CS_IN_USE -EBUSY
#define CS_NO_MORE_ITEMS -ENOSPC