It means that no card can be detected in the socket, so return -ENODEV
Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
if (!s)
return CS_BAD_HANDLE;
if (!(s->state & SOCKET_PRESENT))
if (!s)
return CS_BAD_HANDLE;
if (!(s->state & SOCKET_PRESENT))
tuple->TupleLink = tuple->Flags = 0;
#ifdef CONFIG_CARDBUS
if (s->state & SOCKET_CARDBUS) {
tuple->TupleLink = tuple->Flags = 0;
#ifdef CONFIG_CARDBUS
if (s->state & SOCKET_CARDBUS) {
if (!s)
return CS_BAD_HANDLE;
if (!(s->state & SOCKET_PRESENT))
if (!s)
return CS_BAD_HANDLE;
if (!(s->state & SOCKET_PRESENT))
link[1] = tuple->TupleLink;
ofs = tuple->CISOffset + tuple->TupleLink;
link[1] = tuple->TupleLink;
ofs = tuple->CISOffset + tuple->TupleLink;
skt->ops->get_status(skt, &status);
if (!(status & SS_DETECT))
skt->ops->get_status(skt, &status);
if (!(status & SS_DETECT))
if (status & SS_READY)
return 0;
if (status & SS_READY)
return 0;
skt->ops->get_status(skt, &status);
if (!(status & SS_DETECT))
skt->ops->get_status(skt, &status);
if (!(status & SS_DETECT))
msleep(initial_delay * 10);
for (i = 0; i < 100; i++) {
skt->ops->get_status(skt, &status);
if (!(status & SS_DETECT))
msleep(initial_delay * 10);
for (i = 0; i < 100; i++) {
skt->ops->get_status(skt, &status);
if (!(status & SS_DETECT))
if (!(status & SS_PENDING))
break;
if (!(status & SS_PENDING))
break;
cs_dbg(skt, 4, "insert\n");
if (!cs_socket_get(skt))
cs_dbg(skt, 4, "insert\n");
if (!cs_socket_get(skt))
ret = socket_setup(skt, setup_delay);
if (ret == 0) {
ret = socket_setup(skt, setup_delay);
if (ret == 0) {
mutex_lock(&skt->skt_mutex);
do {
if (!(skt->state & SOCKET_PRESENT)) {
mutex_lock(&skt->skt_mutex);
do {
if (!(skt->state & SOCKET_PRESENT)) {
break;
}
if (skt->state & SOCKET_SUSPEND) {
break;
}
if (skt->state & SOCKET_SUSPEND) {
mutex_lock(&skt->skt_mutex);
do {
if (!(skt->state & SOCKET_PRESENT)) {
mutex_lock(&skt->skt_mutex);
do {
if (!(skt->state & SOCKET_PRESENT)) {
break;
}
if (skt->state & SOCKET_CARDBUS) {
break;
}
if (skt->state & SOCKET_CARDBUS) {
mutex_lock(&skt->skt_mutex);
do {
if (!(skt->state & SOCKET_PRESENT)) {
mutex_lock(&skt->skt_mutex);
do {
if (!(skt->state & SOCKET_PRESENT)) {
break;
}
if (skt->state & SOCKET_CARDBUS) {
break;
}
if (skt->state & SOCKET_CARDBUS) {
- if (socket_insert(skt) == CS_NO_CARD) {
+ if (socket_insert(skt) == -ENODEV) {
{ CS_BAD_SIZE, "Bad size" },
{ CS_BAD_TYPE, "Bad type" },
{ -EIO, "Input/Output error" },
{ CS_BAD_SIZE, "Bad size" },
{ CS_BAD_TYPE, "Bad type" },
{ -EIO, "Input/Output error" },
- { CS_NO_CARD, "No card present" },
+ { -ENODEV, "No card present" },
{ -EINVAL, "Bad parameter" },
{ CS_GENERAL_FAILURE, "General failure" },
{ CS_BAD_ARGS, "Bad arguments" },
{ -EINVAL, "Bad parameter" },
{ CS_GENERAL_FAILURE, "General failure" },
{ CS_BAD_ARGS, "Bad arguments" },
if (s->state & SOCKET_SUSPEND)
status->CardState |= CS_EVENT_PM_SUSPEND;
if (!(s->state & SOCKET_PRESENT))
if (s->state & SOCKET_SUSPEND)
status->CardState |= CS_EVENT_PM_SUSPEND;
if (!(s->state & SOCKET_PRESENT))
c = (p_dev) ? p_dev->function_config : NULL;
c = (p_dev) ? p_dev->function_config : NULL;
config_t *c;
if (!(s->state & SOCKET_PRESENT))
config_t *c;
if (!(s->state & SOCKET_PRESENT))
u_char val;
if (!p_dev || !p_dev->function_config)
u_char val;
if (!p_dev || !p_dev->function_config)
s = p_dev->socket;
c = p_dev->function_config;
s = p_dev->socket;
c = p_dev->function_config;
int w;
if (!s || !(s->state & SOCKET_PRESENT))
int w;
if (!s || !(s->state & SOCKET_PRESENT))
for (w = idx; w < MAX_WIN; w++)
if (s->state & SOCKET_WIN_REQ(w))
break;
for (w = idx; w < MAX_WIN; w++)
if (s->state & SOCKET_WIN_REQ(w))
break;
c = p_dev->function_config;
if (!(s->state & SOCKET_PRESENT))
c = p_dev->function_config;
if (!(s->state & SOCKET_PRESENT))
if (!(c->state & CONFIG_LOCKED))
return CS_CONFIGURATION_LOCKED;
if (!(c->state & CONFIG_LOCKED))
return CS_CONFIGURATION_LOCKED;
pccard_io_map iomap;
if (!(s->state & SOCKET_PRESENT))
pccard_io_map iomap;
if (!(s->state & SOCKET_PRESENT))
if (req->IntType & INT_CARDBUS) {
ds_dbg(p_dev->socket, 0, "IntType may not be INT_CARDBUS\n");
if (req->IntType & INT_CARDBUS) {
ds_dbg(p_dev->socket, 0, "IntType may not be INT_CARDBUS\n");
config_t *c;
if (!(s->state & SOCKET_PRESENT))
config_t *c;
if (!(s->state & SOCKET_PRESENT))
if (!req)
return -EINVAL;
if (!req)
return -EINVAL;
int type;
if (!(s->state & SOCKET_PRESENT))
int type;
if (!(s->state & SOCKET_PRESENT))
c = p_dev->function_config;
if (c->state & CONFIG_LOCKED)
return CS_CONFIGURATION_LOCKED;
c = p_dev->function_config;
if (c->state & CONFIG_LOCKED)
return CS_CONFIGURATION_LOCKED;
int w;
if (!(s->state & SOCKET_PRESENT))
int w;
if (!(s->state & SOCKET_PRESENT))
if (req->Attributes & (WIN_PAGED | WIN_SHARED))
return CS_BAD_ATTRIBUTE;
if (req->Attributes & (WIN_PAGED | WIN_SHARED))
return CS_BAD_ATTRIBUTE;
#define CS_BAD_VPP -EINVAL
#define CS_BAD_WINDOW -ENODEV
#define CS_WRITE_FAILURE -EIO
#define CS_BAD_VPP -EINVAL
#define CS_BAD_WINDOW -ENODEV
#define CS_WRITE_FAILURE -EIO
+#define CS_NO_CARD -ENODEV
#define CS_UNSUPPORTED_FUNCTION -ENODEV
#define CS_UNSUPPORTED_MODE -ENODEV
#define CS_BAD_SPEED -ENODEV
#define CS_UNSUPPORTED_FUNCTION -ENODEV
#define CS_UNSUPPORTED_MODE -ENODEV
#define CS_BAD_SPEED -ENODEV