- 09 Dec, 2003 14 commits
-
-
David Brownell authored
This is a minor cleanup that replaces a test for non-null urb->hcpriv with "is the urb on this list". HCDs don't need to use hcpriv in that way, and in general this is a safer way to test that. (AIO does much the same thing in its kiocb cancelation paths.)
-
Oliver Neukum authored
this driver has locking problems. Here's the first round of fixes for the obvious cases. - it makes clear differences between completion handlers and task context - it fixes cases of sleeping in interrupt
-
Greg Kroah-Hartman authored
-
Alan Stern authored
On Sun, 30 Nov 2003, Matthew Dharm wrote: > I'm going to pass this one along to Greg, but I think some places in this > could really use some better comments. Especially the way you use a single > buffer inside the loop -- it took me a few minutes to figure out how your > logic to refresh the buffer with new data worked. > > I'm also wondering if the access_xfer_buf() function could use some more > header comments, stating why this is needed (i.e. spelling out the > kmap()-isms). Okay, here it is. This patch basically just adds comments. Each routine that uses the new scatter-gather function gets a brief explanation of what's going on, and access_xfer_buf() itself gets detailed comments saying what it's doing and why it's necessary. You may even want to cut some of it back; I was pretty verbose.
-
Alan Stern authored
As a result of the last round of changes, the raw_bulk source files aren't needed any more. They can be deleted and the Makefile changed accordingly.
-
Alan Stern authored
This patch changes the sddr55 driver to make it use the new scatter-gather routines. It has not been tested, but perhaps Andries Brouwer will be able to try it out.
-
Alan Stern authored
This patch updates the shuttle_usbat driver to use the new scatter-gather transfer routines. The small set of changes needed speaks well for the original organization of the code. This has not been tested.
-
Alan Stern authored
This patch fixes the scatter-gather handling in isd200, replacing an incorrect routine there with calls to the new routine added in the previous patch. It also removes a couple of places where the driver returned data for commands that shouldn't get any (TEST-UNIT-READY and START-STOP). This has not been tested.
-
Alan Stern authored
This patch adds a small utility routine for storing data in a transfer buffer. The next patch uses this routine quite a bit in the isd200 driver.
-
Alan Stern authored
This patch converts the jumpshot driver to use the new scatter-gather routines. It has not been tested.
-
Alan Stern authored
This patch updates the datafab driver to the new scatter-gather handling, which makes it safe for systems with >1GByte of memory. It has been tested by Eduard Hasenleithner.
-
Greg Kroah-Hartman authored
-
Oliver Neukum authored
somebody built his own version of be16_to_cpu(). Such things affect maintainability.
-
Oliver Neukum authored
this fixes the questionable error return codes Paulo noticed in usblp. I hope I really got all cases now.
-
- 08 Dec, 2003 8 commits
-
-
Alan Stern authored
This patch updates the sddr09 driver to use the new scatter-gather access routine. After installing it, the user who experienced memory access violations says everything is now working properly.
-
Alan Stern authored
This patch adds a routine to protocol.c that correctly transfers data to or from a scatter-gather buffer. According to Jens Axboe, we've been using page_address() incorrectly -- it's necessary to use kmap() instead -- and in fact it doesn't give the desired result when the buffers are located in high memory. This could affect anyone using a system with 1 GB or more of RAM, and one user has already reported such a problem (as you know). The three fixup routines in protocol.c and usb.c have been changed to use the new s-g access routine. When similar adjustments have been made to all the subdrivers, we will be able to eliminate the raw_bulk.c source file entirely.
-
Alan Stern authored
This patch removes an uncalled subroutine from debug.c. I only noticed it when tracking down scatter-gather usage; there didn't seem to be any reason to repair it since it wasn't being used anywhere.
-
Alan Stern authored
This patch was written by Andries Brouwer. It adds to sddr09 the ability to use 64 MB SmartMedia cards. I have added a few minor alterations to make it fit in with my sequence of other patches.
-
Alan Stern authored
This patch removes some unnecessary scatter-gather code from the sddr09 driver. In its place a single smaller buffer is re-used each time through an I/O loop, as opposed to transferring all the data at once. Andries Brouwer kindly tested this and suggested some improvements to get it working right.
-
Henning Meier-Geinitz authored
Added vendor/product ids for Epson, Genius, Microtek, Plustek, Reflecta, and Visioneer scanners. Removed ids for HP PSC devices as these are supported by the hpoj userspace driver.
-
Alan Stern authored
It improves synchronization with hub_irq() and guarantees that the hub disconnect() routine doesn't exit until the URB's completion routine has finished.
-
Alan Stern authored
It changes spin_lock_save() to spin_lock() within the completion routine and list_del()/INIT_LIST_HEAD() to list_del_init(). It's nothing more than a minor optimization.
-
- 05 Dec, 2003 5 commits
-
-
David Brownell authored
A while back there were some reports of ohci reporting a "bad entry" diagnostic, mostly with ISO transfers, which were mysterious until I recently found an easy way to reproduce it. This patch: - Fixes at least one cause of that "bad entry" diagnostic by waiting for INTR_WDH before completing ED unlink processing. (Else URB unlinking could free TDs on the donelist, so the WDH processing would see those entries as "bad".) - Merges the patch from Darwin Rambo <drambo@broadcom.com>, coping with CPUs that can't do 16 bit accesses (MIPS). - Renames a function as start_ed_unlink(), matching its role. - Fixes minor debug output issues, including a FIXME to tell more info about TDs on the periodic schedule. And adding some missing newlines (makes this patch seem big). Nobody's complained much about that "bad entry" issue lately, but if necessary that part would be particularly easy to split out. Please merge to the next kernel that gets USB patches.
-
Alan Stern authored
This patch fixes a simple logic error in the routine that copies data from a driver buffer to a scatter-gather user buffer.
-
Alan Stern authored
This patch does 2 things (bad, I know -- but they're both pretty small and pretty obscure). The CBI specification states in section 2.4.3.1.3 that ... the host shall also issue Clear Feature for Endpoint Halt to the Bulk In pipe if the device reports that the Data In command block has Failed. along with a note in section 2.5.3 that Data Out commands should work analogously. This patch does that, along with cleaning up the status detection logic a little. For Bulk-only transfers we currently ignore the dResidue field in the CSW, except for reporting it (without byte-swapping!) in a debug message. The patch uses it to compute the residue value returned to the SCSI layer. Note that the Bulk-only spec allows devices to transfer more data than they actually use (i.e., they may add padding or ignore stuff) and then inform the host of this by means of the dResidue value. The logic used is simple: our reported residue is the larger of what the device claims and what we didn't transfer, except that it can't be larger than the total transfer length.
-
Alan Stern authored
This patch updates the sdd09 subdriver to make it return Command Failure with appropriate sense data (rather than Tranport Error) when: a MODE-SENSE command requests an unsupported page; a CDB includes an unrecognized command code. This should help prevent confusion and excessive retrying by the SCSI drivers.
-
Ahmon Dancy authored
-
- 04 Dec, 2003 3 commits
-
-
Pete Zaitcev authored
I know Linus is not taking cleanups at this point, but perhaps you can delete it in your tree. Seems like someone (Oliver?) fixed all the garbage in old printer.c, so the comment is not needed anymore. I reviewed changes, and usblp.c looks correct. I'm doing backport to 2.4 for Fedora right now.
-
David Brownell authored
Just for cdc-acm, it pushes RX URB processing into a tasklet; and has minor cleanups. I cc'd Vojtech since he's this driver's maintainer. If this checks out, usb-serial will need similar changes. p.s. the issue is a WARN_ON that tells us: >> [<c012046c>] local_bh_enable+0x8c/0x90 >> [<f8991452>] ppp_asynctty_receive+0x62/0xb0 [ppp_async] >> [<c02144f3>] flush_to_ldisc+0xa3/0x120 >> [<f891f20f>] acm_read_bulk+0xbf/0x140 [cdc_acm] >> [<c02684c9>] usb_hcd_giveback_urb+0x29/0x50 >> [<c027670c>] dl_done_list+0x11c/0x130 >> [<c0277075>] ohci_irq+0x85/0x170 >> [<c0268526>] usb_hcd_irq+0x36/0x60 >> [<c010aeba>] handle_IRQ_event+0x3a/0x70 >> [<c010b227>] do_IRQ+0x97/0x140 >> [<c0109624>] common_interrupt+0x18/0x20
-
bk://linuxusb@linuxusb.bkbits.net/usb-devel-2.6Greg Kroah-Hartman authored
into kroah.com:/home/greg/linux/BK/usb-new_drivers-2.6
-
- 03 Dec, 2003 6 commits
-
-
Greg Kroah-Hartman authored
into kroah.com:/home/greg/linux/BK/usb-new_drivers-2.6
-
Linus Torvalds authored
into home.osdl.org:/home/torvalds/v2.5/linux
-
Ingo Molnar authored
The pid_alive() check within the loop is incorrect. If we are within the tasklist lock and the thread group leader is valid then the thread chain will be fully intact. Instead, the check should be _outside_ the loop, since if the group leader no longer exists, the whole list is gone and we must not try to access it. Move the check around, and add comment. Bug-hunting and fix by Srivatsa Vaddagiri
-
Pavlin Radoslavov authored
-
Harald Welte authored
-
Hideaki Yoshifuji authored
-
- 02 Dec, 2003 2 commits
-
-
Linus Torvalds authored
-
Linus Torvalds authored
-
- 01 Dec, 2003 2 commits
-
-
Ingo Molnar authored
When doing sync wakeups we must not skip the notification of other cpus if the task is not on this runqueue.
-
Hirofumi Ogawa authored
We need to initialize st->state in tcp_seq_start(). Otherwise tcp_seq_stop() is run with previous st->state, and it calls the unneeded unlock etc, causing a kernel crash.
-