Re: Linux 2.4.32-pre2

From: Marcelo Tosatti
Date: Thu Jul 28 2005 - 17:28:40 EST


On Thu, Jul 28, 2005 at 07:02:30PM +1000, Grant Coady wrote:
> On Wed, 27 Jul 2005 05:05:12 -0300, Marcelo Tosatti <marcelo.tosatti@xxxxxxxxxxxx> wrote:
> >
> >Here goes another -pre, after a long period.
>
> Breaks Toshiba laptop: hard lockup --> what is on screen is same as
> working dmesg up to point: "host/uhci.c: detected 2 port"
>
> Same .config as for 2.4.31-hf3 or 2.4.32-pre1
> http://scatter.mine.nu/test/linux-2.4/tosh/

Please try to revert the attached?

[PATCH] file_storage and UHCI bugfixes

The patch below (as547) corrects two minor errors, one in the
file_storage gadget driver (need to send a length-zero packet if a
control response is short) and one in the alternate UHCI driver (need
to set the QH bit in the frame list). Both of these are back-ports of
things that have been in 2.6 for several releases.

diff --git a/drivers/usb/gadget/file_storage.c b/drivers/usb/gadget/file_storage.c
--- a/drivers/usb/gadget/file_storage.c
+++ b/drivers/usb/gadget/file_storage.c
@@ -1454,6 +1454,7 @@ static int fsg_setup(struct usb_gadget *
/* Respond with data/status or defer until later? */
if (rc >= 0 && rc != DELAYED_STATUS) {
fsg->ep0req->length = rc;
+ fsg->ep0req->zero = (rc < ctrl->wLength);
fsg->ep0req_name = (ctrl->bRequestType & USB_DIR_IN ?
"ep0-in" : "ep0-out");
rc = ep0_queue(fsg);
diff --git a/drivers/usb/host/uhci.c b/drivers/usb/host/uhci.c
--- a/drivers/usb/host/uhci.c
+++ b/drivers/usb/host/uhci.c
@@ -2924,7 +2924,7 @@ static int alloc_uhci(struct pci_dev *de
}

/* Only place we don't use the frame list routines */
- uhci->fl->frame[i] = uhci->skeltd[irq]->dma_handle;
+ uhci->fl->frame[i] = uhci->skeltd[irq]->dma_handle | UHCI_PTR_QH;
}

start_hc(uhci);