]> git.hungrycats.org Git - linux/commitdiff
[PCMCIA] Clean up socket state handling around shutdown
authorRussell King <rmk@flint.arm.linux.org.uk>
Sun, 14 Mar 2004 20:17:11 +0000 (20:17 +0000)
committerRussell King <rmk@flint.arm.linux.org.uk>
Sun, 14 Mar 2004 20:17:11 +0000 (20:17 +0000)
There is no need for shutdown_socket() to touch s->state
directly - this can be all done in skt_shutdown().

drivers/pcmcia/cs.c

index 67d71ccc8a41dc57ef6c7b87257c3636a8a51729..0d2bd0fd5e4238471704476d0d9f2f7e50c60acf 100644 (file)
@@ -452,7 +452,6 @@ static void shutdown_socket(struct pcmcia_socket *s)
     cs_dbg(s, 1, "shutdown_socket\n");
 
     /* Blank out the socket state */
-    s->state &= SOCKET_PRESENT|SOCKET_INUSE;
     s->socket = dead_socket;
     s->ops->init(s);
     s->ops->set_socket(s, &s->socket);
@@ -542,9 +541,10 @@ static void socket_shutdown(struct pcmcia_socket *skt)
        cs_dbg(skt, 4, "shutdown\n");
 
        socket_remove_drivers(skt);
+       skt->state &= SOCKET_INUSE|SOCKET_PRESENT;
        set_current_state(TASK_UNINTERRUPTIBLE);
        schedule_timeout(cs_to_timeout(shutdown_delay));
-       skt->state &= ~SOCKET_PRESENT;
+       skt->state &= SOCKET_INUSE;
        shutdown_socket(skt);
 }