X-Git-Url: http://git.rohieb.name/openwrt.git/blobdiff_plain/90fba37c49479ed4e5233dc0d348cdf7d24c9ee1..749f338dab038e604a1a5bfc775cf698538873e6:/target/linux/generic-2.4/patches/228-more_usb_fixes.patch diff --git a/target/linux/generic-2.4/patches/228-more_usb_fixes.patch b/target/linux/generic-2.4/patches/228-more_usb_fixes.patch index 6dc3931ca..16b554a80 100644 --- a/target/linux/generic-2.4/patches/228-more_usb_fixes.patch +++ b/target/linux/generic-2.4/patches/228-more_usb_fixes.patch @@ -1,8 +1,6 @@ -Index: linux-2.4.35.4/drivers/scsi/hosts.c -=================================================================== ---- linux-2.4.35.4.orig/drivers/scsi/hosts.c 2007-12-15 05:19:38.686625662 +0100 -+++ linux-2.4.35.4/drivers/scsi/hosts.c 2007-12-15 05:20:04.720109227 +0100 -@@ -107,8 +107,21 @@ +--- a/drivers/scsi/hosts.c ++++ b/drivers/scsi/hosts.c +@@ -107,8 +107,21 @@ scsi_unregister(struct Scsi_Host * sh){ if (shn) shn->host_registered = 0; /* else {} : This should not happen, we should panic here... */ @@ -25,11 +23,9 @@ Index: linux-2.4.35.4/drivers/scsi/hosts.c kfree((char *) sh); } -Index: linux-2.4.35.4/drivers/usb/hcd.c -=================================================================== ---- linux-2.4.35.4.orig/drivers/usb/hcd.c 2007-12-15 05:19:38.694626120 +0100 -+++ linux-2.4.35.4/drivers/usb/hcd.c 2007-12-15 05:20:04.724109453 +0100 -@@ -1105,7 +1105,8 @@ +--- a/drivers/usb/hcd.c ++++ b/drivers/usb/hcd.c +@@ -1105,7 +1105,8 @@ static int hcd_submit_urb (struct urb *u break; case PIPE_BULK: allowed |= USB_DISABLE_SPD | USB_QUEUE_BULK @@ -39,7 +35,7 @@ Index: linux-2.4.35.4/drivers/usb/hcd.c break; case PIPE_INTERRUPT: allowed |= USB_DISABLE_SPD; -@@ -1212,7 +1213,8 @@ +@@ -1212,7 +1213,8 @@ static int hcd_submit_urb (struct urb *u urb->setup_packet, sizeof (struct usb_ctrlrequest), PCI_DMA_TODEVICE); @@ -49,11 +45,9 @@ Index: linux-2.4.35.4/drivers/usb/hcd.c urb->transfer_dma = pci_map_single ( hcd->pdev, urb->transfer_buffer, -Index: linux-2.4.35.4/drivers/usb/host/ehci-hcd.c -=================================================================== ---- linux-2.4.35.4.orig/drivers/usb/host/ehci-hcd.c 2007-12-15 05:19:38.702626576 +0100 -+++ linux-2.4.35.4/drivers/usb/host/ehci-hcd.c 2007-12-15 05:20:04.728109682 +0100 -@@ -399,6 +399,27 @@ +--- a/drivers/usb/host/ehci-hcd.c ++++ b/drivers/usb/host/ehci-hcd.c +@@ -399,6 +399,27 @@ static int ehci_start (struct usb_hcd *h ehci_mem_cleanup (ehci); return retval; } @@ -81,11 +75,9 @@ Index: linux-2.4.35.4/drivers/usb/host/ehci-hcd.c writel (INTR_MASK, &ehci->regs->intr_enable); writel (ehci->periodic_dma, &ehci->regs->frame_list); -Index: linux-2.4.35.4/drivers/usb/host/ehci-q.c -=================================================================== ---- linux-2.4.35.4.orig/drivers/usb/host/ehci-q.c 2007-12-15 05:20:00.107846389 +0100 -+++ linux-2.4.35.4/drivers/usb/host/ehci-q.c 2007-12-15 05:20:04.728109682 +0100 -@@ -791,6 +791,8 @@ +--- a/drivers/usb/host/ehci-q.c ++++ b/drivers/usb/host/ehci-q.c +@@ -791,6 +791,8 @@ static void qh_link_async (struct ehci_h writel (cmd, &ehci->regs->command); ehci->hcd.state = USB_STATE_RUNNING; /* posted write need not be known to HC yet ... */ @@ -94,11 +86,9 @@ Index: linux-2.4.35.4/drivers/usb/host/ehci-q.c } } -Index: linux-2.4.35.4/drivers/usb/host/usb-uhci.c -=================================================================== ---- linux-2.4.35.4.orig/drivers/usb/host/usb-uhci.c 2007-12-15 05:19:38.714627260 +0100 -+++ linux-2.4.35.4/drivers/usb/host/usb-uhci.c 2007-12-15 05:20:04.728109682 +0100 -@@ -3034,6 +3034,21 @@ +--- a/drivers/usb/host/usb-uhci.c ++++ b/drivers/usb/host/usb-uhci.c +@@ -3034,6 +3034,21 @@ uhci_pci_probe (struct pci_dev *dev, con pci_set_master(dev); @@ -120,10 +110,8 @@ Index: linux-2.4.35.4/drivers/usb/host/usb-uhci.c /* Search for the IO base address.. */ for (i = 0; i < 6; i++) { -Index: linux-2.4.35.4/drivers/usb/storage/transport.c -=================================================================== ---- linux-2.4.35.4.orig/drivers/usb/storage/transport.c 2007-12-15 05:19:38.722627715 +0100 -+++ linux-2.4.35.4/drivers/usb/storage/transport.c 2007-12-15 05:20:04.732109911 +0100 +--- a/drivers/usb/storage/transport.c ++++ b/drivers/usb/storage/transport.c @@ -54,6 +54,22 @@ #include #include @@ -147,7 +135,7 @@ Index: linux-2.4.35.4/drivers/usb/storage/transport.c /*********************************************************************** * Helper routines -@@ -554,6 +570,543 @@ +@@ -554,6 +570,543 @@ int usb_stor_transfer_partial(struct us_ return US_BULK_TRANSFER_SHORT; } @@ -691,7 +679,7 @@ Index: linux-2.4.35.4/drivers/usb/storage/transport.c /* * Transfer an entire SCSI command's worth of data payload over the bulk * pipe. -@@ -569,6 +1122,8 @@ +@@ -569,6 +1122,8 @@ void usb_stor_transfer(Scsi_Cmnd *srb, s struct scatterlist *sg; unsigned int total_transferred = 0; unsigned int transfer_amount; @@ -700,7 +688,7 @@ Index: linux-2.4.35.4/drivers/usb/storage/transport.c /* calculate how much we want to transfer */ transfer_amount = usb_stor_transfer_length(srb); -@@ -585,23 +1140,34 @@ +@@ -585,23 +1140,34 @@ void usb_stor_transfer(Scsi_Cmnd *srb, s * make the appropriate requests for each, until done */ sg = (struct scatterlist *) srb->request_buffer; @@ -752,11 +740,9 @@ Index: linux-2.4.35.4/drivers/usb/storage/transport.c } } else -Index: linux-2.4.35.4/drivers/usb/storage/transport.h -=================================================================== ---- linux-2.4.35.4.orig/drivers/usb/storage/transport.h 2007-12-15 05:19:38.730628171 +0100 -+++ linux-2.4.35.4/drivers/usb/storage/transport.h 2007-12-15 05:20:04.732109911 +0100 -@@ -127,6 +127,16 @@ +--- a/drivers/usb/storage/transport.h ++++ b/drivers/usb/storage/transport.h +@@ -127,6 +127,16 @@ struct bulk_cs_wrap { #define US_BULK_TRANSFER_ABORTED 3 /* transfer canceled */ /* @@ -773,11 +759,9 @@ Index: linux-2.4.35.4/drivers/usb/storage/transport.h * Transport return codes */ -Index: linux-2.4.35.4/drivers/usb/storage/usb.h -=================================================================== ---- linux-2.4.35.4.orig/drivers/usb/storage/usb.h 2007-12-15 05:19:38.738628626 +0100 -+++ linux-2.4.35.4/drivers/usb/storage/usb.h 2007-12-15 05:20:04.736110140 +0100 -@@ -111,6 +111,60 @@ +--- a/drivers/usb/storage/usb.h ++++ b/drivers/usb/storage/usb.h +@@ -111,6 +111,60 @@ typedef int (*trans_reset)(struct us_dat typedef void (*proto_cmnd)(Scsi_Cmnd*, struct us_data*); typedef void (*extra_data_destructor)(void *); /* extra data destructor */ @@ -838,7 +822,7 @@ Index: linux-2.4.35.4/drivers/usb/storage/usb.h /* we allocate one of these for every device that we remember */ struct us_data { struct us_data *next; /* next device */ -@@ -171,6 +225,7 @@ +@@ -171,6 +225,7 @@ struct us_data { struct urb *current_urb; /* non-int USB requests */ struct completion current_done; /* the done flag */ unsigned int tag; /* tag for bulk CBW/CSW */ @@ -846,11 +830,9 @@ Index: linux-2.4.35.4/drivers/usb/storage/usb.h /* the semaphore for sleeping the control thread */ struct semaphore sema; /* to sleep thread on */ -Index: linux-2.4.35.4/include/linux/usb.h -=================================================================== ---- linux-2.4.35.4.orig/include/linux/usb.h 2007-12-15 05:19:38.750629310 +0100 -+++ linux-2.4.35.4/include/linux/usb.h 2007-12-15 05:20:04.740110367 +0100 -@@ -483,6 +483,8 @@ +--- a/include/linux/usb.h ++++ b/include/linux/usb.h +@@ -483,6 +483,8 @@ struct usb_driver { #define URB_NO_INTERRUPT 0x0080 /* HINT: no non-error interrupt needed */ /* ... less overhead for QUEUE_BULK */ #define USB_TIMEOUT_KILLED 0x1000 // only set by HCD!