lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20071024143444.GF9748@enneenne.com>
Date:	Wed, 24 Oct 2007 16:34:45 +0200
From:	Rodolfo Giometti <giometti@...eenne.com>
To:	linux-kernel@...r.kernel.org
Subject: PCMCIA insert on resume

Hello,

I don't understand why, on resume, the function socket_resume() (in
drivers/pcmcia/cs.c) do:

       if (!(skt->state & SOCKET_PRESENT)) {
               skt->state &= ~SOCKET_SUSPEND;
               return socket_insert(skt);
       }

This cause a powered off socket before suspend to be powered on during
resume.

To avoid such (erroneous?) behaviour I propose this patch:

diff --git a/drivers/pcmcia/cs.c b/drivers/pcmcia/cs.c
index 729e37d..d69de74 100644
--- a/drivers/pcmcia/cs.c
+++ b/drivers/pcmcia/cs.c
@@ -562,10 +562,8 @@ static int socket_resume(struct pcmcia_socket *skt)
        skt->ops->init(skt);
        skt->ops->set_socket(skt, &skt->socket);
 
-       if (!(skt->state & SOCKET_PRESENT)) {
-               skt->state &= ~SOCKET_SUSPEND;
-               return socket_insert(skt);
-       }
+       if (!(skt->state & SOCKET_PRESENT))
+               goto resume_exit;
 
        ret = socket_setup(skt, SS_COMA, resume_delay);
        if (ret == CS_SUCCESS) {
@@ -599,6 +597,7 @@ static int socket_resume(struct pcmcia_socket *skt)
                socket_shutdown(skt);
        }
 
+resume_exit:
        skt->state &= ~SOCKET_SUSPEND;
 
        return CS_SUCCESS;

With this patch if the socket was powered down before the suspend, at
resume time it's not powered on and you need a "pccardctl insert" to
activate the socket.

Ciao,

Rodolfo

-- 

GNU/Linux Solutions                  e-mail:    giometti@...eenne.com
Linux Device Driver                             giometti@...dd.com
Embedded Systems                     		giometti@...ux.it
UNIX programming                     phone:     +39 349 2432127
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ