- 12 May, 2004 1 commit
-
-
Greg Kroah-Hartman authored
into kroah.com:/home/greg/linux/BK/usb-2.6
-
- 11 May, 2004 14 commits
-
-
Colin Leroy authored
-
David Brownell authored
This patch goes on top of the previous two, and the hcd-0506 patch: - Moves root hub suspend/resume code out of PCI-specific bus glue into generic hub code. That way it's easy to re-use it even for non-PCI implementations like SA1111, OMAP, and LH7A404. (Plus, given CONFIG_USB_SUSPEND, it can be invoked with sysfs.) - Root hub suspend is a lot more careful, as is root hub resume. Pending transactions are now shut down more consistently; and more registers are re-initialized on resume. - The PCI bus glue is now left with truly generic PCI stuff, plus some PMAC-specific stuff (which doesn't include irq disabling any more, hcd-0506 moves that up a level in the stack). - Remote wakeup support is basically working for the root hub. (given CONFIG_USB_SUSPEND to suspend devices and enable it). - Idle HCs will now automatically suspend themselves, and resume as necessary. This saves a certain amount of power on most systems, and matches what UHCI has been doing for a while. The large size of this patch is mostly because of moving that root hub suspend/resume code out of the PCI-specific glue.
-
David Brownell authored
This goes with the OHCI anti-deadlock patch, and is what ensures that when a root hub loses power during suspend, khubd can turn port power back on so devices can enumerate.
-
David Brownell authored
This splits out a few obvious fixes, to help shrink a PM patch: - when the HC is quiescing, don't schedule any more EDs or re-activate any after unlink completion. - when the HC is suspended, don't access registers through sysfs either. - simplify locking and call for donelist processing
-
David Brownell authored
System-wide PM resume now happily deadlocks if one of the resuming devices tries to remove devices which vanished during the suspend(*). IMO that's unreasonable both because devices can/do vanish, and because 2.4 didn't deadlock in those cases; but no patch to fix that has been merged. The result is that ever since merging the "new" PM code, some OHCI-based systems deadlock on resume. So this patch handles the "lost power during resume" case differently: it doesn't disconnect the root hub (or its children) directly. Instead, it does part of that work immediately, and defers the rest to khubd: - add a "pending" list for live urbs, and use it after reset to abort pending URBs (and reclaim "live" EDs/TDs) - immediately mark all devices NOTATTACHED, so any operations on the devices before khubd handles the disconnects, including resume() callbacks, will fail - kick root hub so it can do the cleanup It also handles "fminterval" init/reinit a bit better, mostly to work better in some remote wakeup scenarios addressed in later patches: - save any initial value the boot firmware provided - use it during initialization (and eventually, remote wakeup) Other changes: - use better jiffies calculation for scheduled delays - the allocator does more of the one-time initialization - initialize hcd.can_wakeup according to boot firmware - move some inlines to the header - minor cleanups (*) http://marc.theaimsgroup.com/?l=linux-kernel&m=106606272103414&w=2 reported against 2.6.0-test7.
-
Oliver Neukum authored
quoting Linus: -- > so there is no need to recheck the bit in do/while loop, because > there is no false wakeups now. You should never assume this. You should assume that there are _always_ false wakeups. Why? Because Linux has always allowed people to leave wait-queues active, without being "atomic". For example, the tty read/write layer used to (still does?) add itself on the wait-queue _once_, and then leave itself on the wait-queue while in a loop it does copies from/to user space. -- Unfortunately, this means us. Here's the first fix. Comments? - make sure timeouts are observed even if somebody left us on a queue
-
David Brownell authored
This patch makes the usbcore PCI suspend/resume logic behave much better. In particular: - Even HCs without PCI PM support will normally be able to support global suspend, saving power ... and will need to resume later. Let them try to suspend; lots of not-that-old USB controllers don't have PM caps. - Saner order for the boilerplate PCI stuff. It also explicitly disables the IRQ and DMA, which aren't available in D1/D2/D3 states anyway. - Uses pci_enable_wake() when the root hub supports remote wakeup. Didn't fully work in one test setup; that controller's PME# was evidently ignored. (Not enabled unless CONFIG_USB_SUSPEND.) It worked for me with brief tests with the current 2.6.6-rc uhci-hcd with one old UHCI; more extensive ones with various OHCIs (using patches which I'll post soonish); and not at all with EHCI (where PM hasn't ever worked). Those of you who've been having PM problems might find this helpful as-is, though I think that unless you're using UHCI you'll also need an HCD patch. - Dave
-
Alan Stern authored
Now that all the USB drivers have been audited, we can safely accept devices that have noncompliant numbering for their interfaces or altsettings. This patch skips bad or duplicate descriptors, allows gaps in the numbering, accepts more or fewer interfaces than bNumInterfaces, and logs warnings describing all these things. Also, the debugging log messages have been improved by David Brownell. This should please a sizeable group of users.
-
David Brownell authored
This patch updates EHCI suspend/resume so that its essential components work on a few different implementations: - make root hub suspend/resume work - make remote wakeup work (given CONFIG_USB_SUSPEND patch) - separate root hub suspend/resume from PCI suspend/resume - say if controller supports remote wakeup (on this system) - sysfs register dump unavailable if controller is suspended Plus a handful of minor cleanups. Please merge, along with the "hcd-0506.patch" I sent last week. Tested by modifying sysfs power/state files, since ACPI doesn't work on this system (so I can't test system suspend/resume): - For root hub(*) ... suspend/resume works, also remote wakeup - PCI controller ... suspend/resume works, remote wakeup signals PME# (according to "lspci -vv"), but that's ignored on my test sytem Regardless of whether USB was active, "echo 1 > /proc/acpi/sleep" produced a system that wouldn't resume, and the same result came from "echo standby > /sys/power/state". So that's about as far as I can take this testing for now. - Dave (*) Doing this relies on the CONFIG_USB_SUSPEND patch. Otherwise no USB devices respond to sysfs power/state updates. The PCI suspend/resume is a superset of this.
-
Alan Stern authored
On Fri, 7 May 2004, kernel@metro.cx wrote: > Hi All, > > I don't know where else to report this, but I found a very very very > minor bug in the usb gadgets drivers, specifically the file_storage.c > mass storage driver. > > In the function do_request_sense(..) it says: > > buf[7] = 18 - 7; // Additional sense length > > Whereas (according to page 38 of the USB mass storage class, UFI command spec, > http://www.usb.org/developers/devclass_docs#approved) this clearly neads > to be equal to 10, not 11. > > I checked with the 2.6.5 source, it is still there. Hope someone will find this usefull, although most USB hosts seem to ignore length bits alltogether anyway.... > > Koen Martens You are quite right; thank you for pointing this out. Greg, please apply the patch below.
-
Luiz Capitulino authored
drivers/usb/media/dsbr100.c: In function `usb_dsbr100_probe': drivers/usb/media/dsbr100.c:239: warning: unused variable `videodev'
-
Hanna V. Linder authored
-
Greg Kroah-Hartman authored
Thanks to Tridge's findstatic.pl script for helping find these.
-
Geert Uytterhoeven authored
M68k: Remove superfluous whitespace that hurts my eyes with `let c_space_errors=1' in vim. This includes correcting trailing whitespace and spaces in front of tabs. `diff -urNbB' shows no difference before/after.
-
- 10 May, 2004 19 commits
-
-
Jeff Garzik authored
In MAINTAINERS and in individual low-level drivers.
-
Jeff Garzik authored
* bug fix: make sure 'nsect' member of struct ata_queued_cmd is initialized each time a cmd is re-used. Only affects PIO data xfers, which nobody uses. * slightly change the way a device's flags are printed out. currently the only flag is 'lba48', but soon 'wcache' will appear also. * add WB-cache-related constants and macros to linux/ata.h
-
David Eger authored
This fixes a corruption problem with overlapping copyarea()'s in the radeon driver.
-
Paul Mackerras authored
At the moment, on PPC64, the instruction we use for wmb() doesn't order cacheable stores vs. non-cacheable stores. (It does order cacheable vs. cacheable and non-cacheable vs. non-cacheable.) This causes problems in the sort of driver code that writes stuff into memory, does a wmb(), then a writel to the device to start a DMA operation to read the stuff it has just written to memory. This patch solves the problem by adding a sync instruction before the store in the write* and out* macros. The sync is a full barrier that orders all loads and stores, cacheable or not. The patch also moves the eieio instruction that we had after the store to before the load in the read* and in* macros. With the sync before the store, we don't need an eieio as well in a sequence of stores, but we still need an eieio between a store and a load. I think it is better to do this than to turn wmb() into a full memory barrier (a sync instruction) because the full barrier is slow and isn't needed with the sync in the write*/out* macros. This way, write*/out* are fully ordered with respect to preceding loads and stores, which is what driver writers expect, and we avoid penalizing users of wmb() who are only doing cacheable stores.
-
-
Matthew Wilcox authored
- Split PA7300LC from PA7100LC (Matthew Wilcox) - Handle 32-bit firmware and 64-bit kernel at runtime (Ryan Bradetich) - Fix building in a separate tree (Matthew Wilcox) - Update defconfigs (Randolph Chung) - Make WCHAN work (Randolph Chung) - Initial support for SMP in 2.6 (Grant Grundler) - Use 8-byte PTEs on 32-bit kernels (James Bottomley) - Implement L2/L3 hybrid page tables for 64 bit kernels (James Bottomley) - Support 8TB of physical and virtual address space (James Bottomley) - Macro'ise the tlb miss handlers (James Bottomley) - Check the ptrace flags correctly in the syscall return path (Randolph Chung) - Eliminate many magic numbers (James Bottomley) - Work around linker bug in vmlinux.lds.S (James Bottomley) - Many cache flushing fixes (James Bottomley) - first baby step for PA8800 support (Grant Grundler) - Self-aligning spinlocks (Randolph Chung)
-
Geert Uytterhoeven authored
M68k: <asm/virtconvert.h> needs include <linux/compiler.h> for __attribute_const__ (from Richard Zidlicky)
-
Geert Uytterhoeven authored
Sun3x: Like most other platforms, Sun3x needs conswitchp set if CONFIG_DUMMY_CONSOLE is defined (from Sam Creasey)
-
bk://gkernel.bkbits.net/libata-2.6Linus Torvalds authored
into ppc970.osdl.org:/home/torvalds/v2.6/linux
-
bk://gkernel.bkbits.net/net-drivers-2.6Linus Torvalds authored
into ppc970.osdl.org:/home/torvalds/v2.6/linux
-
Jeff Garzik authored
into redhat.com:/spare/repo/net-drivers-2.6
-
Jeff Garzik authored
into redhat.com:/spare/repo/net-drivers-2.6
-
Alexander Viro authored
ntfs_fill_super() and ntfs_read_inode_mount() cleaned up. Removed the kludges around the first iget() on NTFS. Instead of playing with (re)setting ->s_op we have the MFT_FILE inode set up by explicit new_inode()/ set ->i_ino/insert_inode_hash()/call ntfs_read_inode_mount() directly. That kills the need of second super_operations and it allows to return error from ntfs_read_inode_mount() without resorting to ugly "poisoning" tricks.
-
Jeff Garzik authored
into redhat.com:/spare/repo/net-drivers-2.6
-
bk://linux-scsi.bkbits.net/scsi-for-linus-2.6Linus Torvalds authored
into ppc970.osdl.org:/home/torvalds/v2.6/linux
-
James Bottomley authored
From: "Andrew Vasquez" <andrew.vasquez@qlogic.com> Ok, well there aren't too many folks using an QLA2100 in a fabric topology, if there were, they wouldn't have gotten very far in the driver load sequence. I've been able to scrape-up a QLA2100, 1Gig switch, and an JBOD. Upon loading the 8.00.00b12k driver, the firmware successfully logs into the switch, the driver receives a LOOP_UP event, but, the kernel panics due to NULL pointer dereference while trying to perform an RFT_ID -- the attached patch against current scsi-misc-2.6 fixes that problem.
-
James Bottomley authored
The patch to close all the open/close/hotplug races in sr left the module refcounting broken so that the ULD housing the CD device now can't be removed until the device itself is removed. This patch (structurally identical to the one for sd.c to perform the same function) fixes the module refcounting.
-
Mark Haverkamp authored
This fixes a situation where the handler can exit too early.
-
http://jfs.bkbits.net/linux-2.5Linus Torvalds authored
into ppc970.osdl.org:/home/torvalds/v2.6/linux
-
- 11 May, 2004 1 commit
-
-
Anton Altaparmakov authored
into cantab.net:/home/src/ntfs-2.6
-
- 10 May, 2004 5 commits
-
-
Anton Altaparmakov authored
in handling of corner cases.
-
Anton Altaparmakov authored
into cantab.net:/home/src/ntfs-2.6
-
Jeff Garzik authored
into redhat.com:/spare/repo/libata-2.6
-
James Bottomley authored
-
Andrew Morton authored
From: Adam Lackorzynski <adam@os.inf.tu-dresden.de> one of the macros for get_thread_area extracts the wrong bit. The "32bit" field is in bit 22, not 23 (as can be seen in desc.h). [ Fix ia64/x86-64 too, while we're at it. Linus ]
-