X-Git-Url: http://git.rohieb.name/openwrt.git/blobdiff_plain/00549f6de02bdb40a6470fe998edcbd3e048357e..f02f5811377bcda0159c07e03b214cb516b05093:/target/linux/adm5120/files/drivers/usb/host/adm5120-hcd.c diff --git a/target/linux/adm5120/files/drivers/usb/host/adm5120-hcd.c b/target/linux/adm5120/files/drivers/usb/host/adm5120-hcd.c index 14fd0f96f..a5476fc07 100644 --- a/target/linux/adm5120/files/drivers/usb/host/adm5120-hcd.c +++ b/target/linux/adm5120/files/drivers/usb/host/adm5120-hcd.c @@ -45,15 +45,13 @@ #include "../core/hcd.h" #include "../core/hub.h" -#define DRIVER_VERSION "v0.04" +#define DRIVER_VERSION "v0.05" #define DRIVER_AUTHOR "Gabor Juhos " #define DRIVER_DESC "ADMtek USB 1.1 Host Controller Driver" /*-------------------------------------------------------------------------*/ #define ADMHC_VERBOSE_DEBUG /* not always helpful */ -#define ADMHC_POLL_RH -#undef ADMHC_LOCK_DMA /* For initializing controller (mask in an HCFS mode too) */ #define OHCI_CONTROL_INIT OHCI_CTRL_CBSR @@ -206,7 +204,6 @@ static int admhc_urb_enqueue(struct usb_hcd *hcd, struct usb_host_endpoint *ep, /* schedule the ED */ ret = ed_schedule(ahcd, ed); -fail0: spin_unlock(&urb->lock); fail: if (ret) { @@ -682,9 +679,9 @@ static irqreturn_t admhc_irq(struct usb_hcd *hcd) if (ints & ADMHC_INTR_SOFI) { admhc_intr_ack(ahcd, ADMHC_INTR_SOFI); + spin_lock(&ahcd->lock); /* handle any pending ED removes */ admhc_finish_unlinks(ahcd, admhc_frame_no(ahcd)); - spin_lock(&ahcd->lock); admhc_sof_refill(ahcd); spin_unlock(&ahcd->lock); }