- 04 Feb, 2003 3 commits
-
-
Matthew Dharm authored
The attached patch is my first implementation of SCSI hotplugging. It's only been tested that it compiles, as I can't get the current linux-2.5 tree from linuxusb to boot. It dies _very_ early. Greg, I'm not sure if you'll want to apply this. Linus seemed to want this very much, and it is 2.5.x... I say go for it, but I can understand if you have reservations. I would definately like to see this tested by anyone who can get a kernel to boot. This patch is quite large. Lots of things had to be changed. Among them: (o) The proc interface now uses the host number to look up the SCSI host structure, and then finds the usb-storage structure from that. (o) The SCSI interface has been changed. The code flow is now much clearer, as more work is done from the USB probe/detach functions than from auxillary functions. (o) Names have been changed for newer conventions (o) GUIDs have been removed (o) The linked-list of devices has been removed, and it's associated semaphore (o) All code dealing with re-attaching a device to it's old association has been removed (o) Some spaces changed to tabs (o) usb-storage now takes one directory under /proc/scsi instead of one per virtual-HBA (o) All control threads now have the same name. This could be changed back to the old behavior, if enough people want it. Known problems: (o) Testing, testing, testing (o) More dead code needs to be cut (o) It's a unclear how a LLD is supposed to cut off the flow of commands, so that the unregister() call always succeeds. SCSI folks need to work on this. (o) Probing needs to be broken down into smaller functions, probably.
-
Greg Kroah-Hartman authored
Thanks to Matt Dharm and David Brownell for tracking this bug down.
-
Greg Kroah-Hartman authored
-
- 01 Feb, 2003 2 commits
-
-
Duncan Sands authored
speedtouch: add a new encoding function, atmsar_encode. Calling it amounts to doing atmsar_encode_aal5 followed by atmsar_encode_rawcell in one fell swoop. It eliminates the need for intermediate buffers and reduces memory movement. The following patches use it to simplify the send logic (and get rid of those annoying little oopsen).
-
David Brownell authored
This should apply to 2.5.59 too. It seems to get rid of some pesky hangs, on at least some hardware, but I won't have time to test it on either VIA version ... maybe someone else will make the time? :) New QH state prevents a re-activation race - nobody can un-halt a qh before its cleanup is done - resubmit-from-completion had this race (some usbtest cases) as could some normal submit paths on busy endpoints (storage) - faster controllers would trip on this more consistently Queues of qtds - work harder to avoid ever modifing any qh in software - short reads block queue advance much less often - be more cautious with large (>~19KB) unaligned buffers Unlinking urbs - if qtd unlinked is at queue head, use its latest status (main effect is reporting bytes from partial transfers) - another new qh state: defer qh unlink if IAA is busy (eliminates a busy-wait loop in a rare scenario) Enable features to improve bus utilization - PCI MWI ... can produce better write throughput; and by using right cacheline size, sometimes read throughput too - USB NAK throttle ... sometimes reduces PCI access rates Other - async dump shows more funky qh+qtd states, and NAK count - cope with with some of the sprintf wierdness - periodic dump is usually smaller (so is that schedule) - minor cleanups
-
- 29 Jan, 2003 2 commits
-
-
Vojtech Pavlik authored
-
Vojtech Pavlik authored
Normally the CDC ACM devices have an subclass of 0, and the ACM subclass is only applied to their first interface. But some have the subclass set on the device itself, namely Motorola mobile phones. This patch takes those devices into account.
-
- 28 Jan, 2003 3 commits
-
-
David Brownell authored
The support for non-dma HCDs is likely the most interesting bit here. - makes dma calls behave sensibly when used with host controllers that don't use dma (including sl811). usb_buffer_map() is a nop while scatterlist dma mappings fail (as they must). - make usb_sg_init() behave sensibly when used with non-dma hcs. the urbs are initted with transfer_buffer, not transfer_dma. this is the higher level analogue to usb_buffer_map(), so it needs to succeed unless there's a Real Error (tm). - moves two compatibility inlines from ehci.h into hcd.h so it'll be more practical to have the other hcds work in other environments (notably lk 2.4) too - remove URB_TIMEOUT_KILLED flag ... no device driver tests it; hcds don't really (uhci sets it, never reads it; sl811 doesn't enable the path that might set it), and it's not well defined. if any hcd needs such state, keep it in hc-private storage. - in usb_sg_wait(), use yield() instead of schedule() to let other activities free resources needed to continue. (This was noted recently by Oliver.)
-
David Brownell authored
This is a minor cleanup to let per-request memory allocations block, when the caller allows (it provided the bitmask). The driver used to work that way until something like 2.4.3; an update (a few months back) to how the "dma_addr_t" hashes to a "struct ohci_td *" lets us simplify things again. Another benfit: it blocks irqs for less time on the submit path. (The ehci driver already acts this way.)
-
Petko Manolov authored
Some ethernet drivers other than those in .../drivers/net need generic MII code too and this cset shows how we do it for .../drivers/usb/net; For now only pegasus.c is using this feature, but as soon as we find more MII compliant controllers we'll put them in Makefile.mii too. Note: drivers which use the generic mii routines should bracket the code with #ifdef CONFIG_MII #endif since CONFIG_MII may not be present. See pegasus.c for more details.
-
- 21 Jan, 2003 8 commits
-
-
Henning Meier-Geinitz authored
This patch adds vendor/product ids for Artec, Canon, Compaq, Epson, HP, and Microtek scanners. Further more, the device list was cleaned up, sorted and duplicated entries have been removed.
-
Duncan Sands authored
speedtouch: simplify the receive urb lifecycle: allocate them in the usb probe function, free them on disconnect.
-
Duncan Sands authored
speedtouch: turn a micro race into a nano race. The race is that an ATM device can be used the moment atm_dev_register returns, but you only get to fill out the atm_dev structure after atm_dev_register returns (this is a design flaw in the ATM layer). Thus there is a small window during which you can be called with an incompletely set up data structure. Workaround this by causing all ATM callbacks to fail if the dev_data field has not been set. There is still a nano race if writing/reading the dev_data field is not atomic. Is it atomic on all architectures?
-
Duncan Sands authored
speedtouch: rework udsl_usb_probe error handling (for example, handle failure of atm_dev_register). Do some trivial cleaning up while we're at it.
-
Duncan Sands authored
speedtouch: roll udsl_atm_startdevice into udsl_usb_probe.
-
Duncan Sands authored
speedtouch: use an array for rcvbufs rather than a pointer and dynamic allocation.
-
Duncan Sands authored
speedtouch: roll udsl_atm_set_mac into udsl_usb_probe.
-
Duncan Sands authored
speedtouch: trivial whitespace and debug message changes.
-
- 17 Jan, 2003 4 commits
-
-
Ganesh Varadarajan authored
Added ids for the Dell Axim and Toshiba E740. Thanks to Ian Molton and B.I.
-
Duncan Sands authored
speedtouch: restore use of MODULE_DEVICE_TABLE to export usb info. There may have been a problem with older 2.4 kernels, but there is none now.
-
David Brownell authored
Someone changed the "get string" logic to use short reads, not long ones, a while back. That broke many root hub string accesses (not through tools like "lsusb"!) because that logic didn't handle short reads quite right.
-
Greg Kroah-Hartman authored
into kroah.com:/home/greg/linux/BK/gregkh-2.5
-
- 16 Jan, 2003 18 commits
-
-
Linus Torvalds authored
-
-
Russell King authored
__virt_to_bus/__bus_to_virt depended on INTEGRATOR_HDR0_SDRAM_BASE Unfortunately, this is defined in arch-integrator/platform.h, and we really don't want to include it in memory.h. We instead use BUS_OFFSET, which will eventually depend on the CPU number in the system.
-
Russell King authored
Only default BLK_DEV_IDEDMA on BLK_DEV_IDEDMA_ICS if ARCH_ACORN is set, not if ARM is set. There are PCI ARM systems out there!
-
Russell King authored
Ensure that we clean up properly after initialisation error, releasing all claimed resources in an orderly manner and returning the correct error code.
-
Russell King authored
-
Russell King authored
-
Russell King authored
-
Russell King authored
-
Russell King authored
Add cfbfillrect / cfbcopyarea / cfbimgblt objects for SA1100fb. Remove redundant "pm" member.
-
Greg Kroah-Hartman authored
-
Jeff Wiedemeier authored
Found a buglet in the marvel code -- doesn't change the number of IRQS just the logic to get there.. This applies on top of the other marvel code. /jeff
-
Richard Henderson authored
into kanga.twiddle.net:/home/rth/linux/axp-2.5
-
Richard Henderson authored
-
Richard Henderson authored
to header files where they belong.
-
Richard Henderson authored
of AGP and SRMCONS patches.
-
Richard Henderson authored
From Jeff.Wiedemeier@hp.com.
-
Richard Henderson authored
(Titan / Marvel), Kconfig and headers. From Jeff Wiedemeier.
-