From mboxrd@z Thu Jan 1 00:00:00 1970 From: Linus Torvalds Subject: Re: Help needed, Re: [Bug #14334] pcmcia suspend regression from 2.6.31.1 to 2.6.31.2 - Dell Inspiron 600m Date: Sun, 1 Nov 2009 09:18:12 -0800 (PST) Message-ID: References: <200911010010.07394.rjw@sisk.pl> <200911010024.12081.rjw@sisk.pl> <200911010936.10409.rjw@sisk.pl> Mime-Version: 1.0 Return-path: In-Reply-To: <200911010936.10409.rjw-KKrjLPT3xs0@public.gmane.org> Sender: kernel-testers-owner-u79uwXL29TY76Z2rM5mHXA@public.gmane.org List-ID: Content-Type: TEXT/PLAIN; charset="us-ascii" Content-Transfer-Encoding: 7bit To: "Rafael J. Wysocki" Cc: Benjamin Herrenschmidt , Linux Kernel Mailing List , Kernel Testers List , Greg Kroah-Hartman , Jose Marino , ACPI Devel Maling List , Linux PCI , Dominik Brodowski On Sun, 1 Nov 2009, Rafael J. Wysocki wrote: > > If people don't object, I'll push it through the suspend-2.6 tree along > with a few other bug fixes. No objections, but a cleanup request: > +static int socket_early_resume(struct pcmcia_socket *skt) > +{ > + if (skt->state & SOCKET_SUSPEND) > + socket_start_resume(skt); > + > + return 0; > +} > + > +static int socket_late_resume(struct pcmcia_socket *skt) > +{ > + if (!(skt->state & SOCKET_SUSPEND)) > + return 0; As far as I can tell, that "SOCKET_SUSPEND" test is totally pointless. That socket _is_ going to be suspended, and testing for it here just seems to confuse things. So I'd remove it from both early_resume and late_resume, and only keep it in the case of the legacy user-requested suspend/resume (do we even do that any more?). The SOCKET_SUSPEND flag itself is still relevant, of course, since the state change handling will test it (in order to avoid insert/remove handlign while we have the suspend flag set). It's just that the suspend code shouldn't _test_ it, since the suspend code is what sets it in the first place. Linus