Re: Help needed, Re: [Bug #14334] pcmcia suspend regression from 2.6.31.1 to 2.6.31.2 - Dell Inspiron 600m

Dominik Brodowski
2009-11-02T17:38:43Z

Hey,

just two minor nit-pick which we could handle post-2.6.32:

> +++ linux-2.6/drivers/pcmcia/cs.c
> @@ -98,10 +98,13 @@ EXPORT_SYMBOL(pcmcia_socket_list_rwsem);
> * These functions check for the appropriate struct pcmcia_soket arrays,
> * and pass them to the low-level functions pcmcia_{suspend,resume}_socket

... some documentation of the new functions, especially whether other socket
drivers should be updated?

> -static int socket_resume(struct pcmcia_socket *skt)
> +static void socket_start_resume(struct pcmcia_socket *skt)
> {
> - int ret;
> -
> - if (!(skt->state & SOCKET_SUSPEND))
> - return -EBUSY;
> -
> skt->socket = dead_socket;
> skt->ops->init(skt);
> skt->ops->set_socket(skt, &skt->socket);
> + if (skt->state & SOCKET_PRESENT)
> + skt->resume_status = socket_setup(skt, resume_delay);
> +}
>
> +static int socket_early_resume(struct pcmcia_socket *skt)
> +{
> + socket_start_resume(skt);
> + return 0;
> +}

Why do we need to have two functions doing the same? Wouldn't

static int socket_early_resume(...)

suffice, with the only call to socket_start_resume() being replaced with
socket_early_resume()?

Best,
Dominik