From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S268463AbUJDT0I (ORCPT ); Mon, 4 Oct 2004 15:26:08 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S268474AbUJDTYp (ORCPT ); Mon, 4 Oct 2004 15:24:45 -0400 Received: from port-222-152-48-85.fastadsl.net.nz ([222.152.48.85]:7296 "EHLO tornado.reub.net") by vger.kernel.org with ESMTP id S268463AbUJDTQN (ORCPT ); Mon, 4 Oct 2004 15:16:13 -0400 Message-ID: <4161A17E.7000103@reub.net> Date: Tue, 05 Oct 2004 08:16:14 +1300 From: Reuben Farrelly User-Agent: Mozilla Thunderbird 0.8 (Windows/20040929) X-Accept-Language: en-us, en MIME-Version: 1.0 To: Alan Stern CC: Greg KH , Andrew Morton , Hanno Meyer-Thurow , USB development list , Kernel development list Subject: Re: [PATCH (as387)] UHCI: check return code from pci_register_driver References: In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org Hi, Alan Stern wrote: > Greg: > > This is all your fault! :-) > > The patch below fixes the problem in which the UHCI driver doesn't > properly check the return code from pci_register_driver(). > > Alan Stern > > > On Fri, 1 Oct 2004, Andrew Morton wrote: > > >>Greg's latest tree, on x86_64: >> >>Badness in remove_proc_entry at fs/proc/generic.c:688 >> >>Call Trace:{remove_proc_entry+391} {uhci_hcd_init+224} >> {init+475} {child_rip+8} >> {init+0} {child_rip+0} >> >> >> WARN_ON(de->subdir); >> >>which is a bit weird. How did driver/uhci get itself a subdirectory? >> >>Maybe it already existed, and uhci_hcd_init() tried to delete it anwyay? > > > On Sat, 2 Oct 2004, Reuben Farrelly wrote: > > >>slab error in kmem_cache_destroy(): cache `uhci_urb_priv': Can't free >>all objects >> [] dump_stack+0x17/0x19 >> [] kmem_cache_destroy+0xea/0x15b >> [] uhci_hcd_init+0xc8/0xff >> [] do_initcalls+0x56/0xb3 >> [] init+0x81/0x189 >> [] kernel_thread_helper+0x5/0xb >>drivers/usb/host/uhci-hcd.c: not all urb_priv's were freed! >>Badness in remove_proc_entry at fs/proc/generic.c:688 >> [] dump_stack+0x17/0x19 >> [] remove_proc_entry+0x129/0x133 >> [] uhci_hcd_init+0xed/0xff >> [] do_initcalls+0x56/0xb3 >> [] init+0x81/0x189 >> [] kernel_thread_helper+0x5/0xb > > > > > Signed-off-by: Alan Stern > > ===== drivers/usb/host/uhci-hcd.c 1.134 vs edited ===== > --- 1.134/drivers/usb/host/uhci-hcd.c 2004-09-30 13:58:40 -04:00 > +++ edited/drivers/usb/host/uhci-hcd.c 2004-10-04 10:37:21 -04:00 > @@ -2412,7 +2412,7 @@ > goto up_failed; > > retval = pci_register_driver(&uhci_pci_driver); > - if (retval) > + if (retval < 0) > goto init_failed; > > return 0; Confirming fix, this solves the trace that I have been seeing upon bootup. Reuben