From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Dmitry Torokhov" Subject: Re: [PATCH] appletouch powersaving - please apply for 2.6.23-rc1 Date: Tue, 17 Jul 2007 11:01:48 -0400 Message-ID: References: <1184656218.14051.43.camel@localhost> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <1184656218.14051.43.camel@localhost> Content-Disposition: inline Sender: linux-kernel-owner@vger.kernel.org To: Soeren Sonnenburg Cc: Linux Kernel , linux-input@atrey.karlin.mff.cuni.cz, linux-usb-devel@lists.sourceforge.net, Matthew Garrett , Nicolas Boichat , Michael Hanselmann , Peter Osterlund , Frank Arnold , Stelian Pop , Johannes Berg , Greg Kroah-Hartman List-Id: linux-input@vger.kernel.org Hi, On 7/17/07, Soeren Sonnenburg wrote: > > err_free_buffer: > @@ -656,6 +699,7 @@ static void atp_disconnect(struct usb_interface *iface) > > usb_set_intfdata(iface, NULL); > if (dev) { > + cancel_work_sync(&dev->work); > usb_kill_urb(dev->urb); > input_unregister_device(dev->input); > usb_buffer_free(dev->udev, dev->datalen, > This should go into atp_close() and I think you need to do cancel_work_sync after calling usb_kill_urb() otherwise you risk it being submitted while you gettingto kill the urb. How many boxes did you try this patch on? -- Dmitry