Hello,
I was looking at the code of the new ohci-au1xxx, and I've figured out that operationnal regiters resource
is allocated two times: once when registering the OHCI platform device (check in drivers/base/platform.c),
and once in OHCI driver probe.
Is that ok?? I'm kind of surprised that the second allocation doesn't failed. Removing it seems to works
well for me.
Thanks, Karl
--- linux-mips/drivers/usb/host/ohci-au1xxx.c Sun Oct 10 13:56:25 2004 +++ linux/drivers/usb/host/ohci-au1xxx.c Thu Oct 14 15:39:11 2004 @@ -91,13 +91,6 @@ int usb_hcd_au1xxx_probe (const struct h struct usb_hcd *hcd = 0; unsigned int *addr = NULL; - - if (!request_mem_region(dev->resource[0].start, - dev->resource[0].end - - dev->resource[0].start + 1, hcd_name)) { - pr_debug("request_mem_region failed"); - return -EBUSY; - } au1xxx_start_hc(dev); @@ -173,9 +166,6 @@ int usb_hcd_au1xxx_probe (const struct h driver->hcd_free(hcd); err1: au1xxx_stop_hc(dev); - release_mem_region(dev->resource[0].start, - dev->resource[0].end - - dev->resource[0].start + 1); return retval; } @@ -219,9 +209,6 @@ void usb_hcd_au1xxx_remove (struct usb_h hcd->driver->hcd_free (hcd); au1xxx_stop_hc(dev); - release_mem_region(dev->resource[0].start, - dev->resource[0].end - - dev->resource[0].start + 1); } /*-------------------------------------------------------------------------*/