- 11 Jun, 2004 5 commits
-
-
David Brownell authored
This matches the behavior for other descriptor fetches. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Greg Kroah-Hartman <greg@kroah.com>
-
David Brownell authored
If the string descriptor fetch works, no problem. Else make the disconnect() logic -- newly called because of "recent" changes to interface claiming logic -- use its fast cleanup path, since we're still not fully set up yet. Should resolve OSDL bugid 2714; please merge. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Greg Kroah-Hartman <greg@kroah.com>
-
David Brownell authored
This prevents some warnings during modprobe. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Greg Kroah-Hartman <greg@kroah.com>
-
Torrey Hoffman authored
Here are some contributed improvements for the ATI remote driver. I submitted the driver and it was accepted several months ago. Since then a few people have sent me patches and suggestions. This patch adds two things: (1) support for the "Lola" X10 remote, sent to me by Seth Cohn <sethcohn (at) yahoo.com> (2) key autorepeat support, sent to me by Vincent Vanackere <vanackere (at) lif.univ-mrs.fr> The key autorepeat support has been tested by me, but the Lola support has not, as I don't have the hardware. Thanks to Seth and Vincent, with my apologies for taking so long to forward their improvements along. Signed-off-by: Torrey Hoffman <thoffman@arnor.net> Signed-off-by: Greg Kroah-Hartman <greg@kroah.com>
-
Alan Stern authored
This patch implements something we've been lacking for a long time: a way to mark devices as USB_STATE_NOTATTACHED as soon as we know that they're gone. The usb_device->state member is no longer protected by the ->serialize semaphore; instead there's a new private spinlock. Usbcore routines should no longer set ->state directly; instead they should use the new utility routine usb_set_device_state(). There are protections against changing states while devices are being added or removed. Change assignments to udev->state into calls of usb_set_device_state(). Add new private device_state_lock to the hub driver, along with usb_set_device_state() and recursively_mark_NOTATTACHED(). Acquire the new spinlock while adding or removing children[] pointers. When disabling a port that has a child device, mark the child as NOTATTACHED. You mentioned once having tried to do something like this and running into trouble. Take a good look and let me know if you see any difficulties here. Signed-off-by: Alan Stern <stern@rowland.harvard.edu> Signed-off-by: Greg Kroah-Hartman <greg@kroah.com>
-
- 10 Jun, 2004 3 commits
-
-
Greg Kroah-Hartman authored
Signed-off-by: Greg Kroah-Hartman <greg@kroah.com>
-
Greg Kroah-Hartman authored
Signed-off-by: Greg Kroah-Hartman <greg@kroah.com>
-
Robert T. Johnson authored
Since ctrl is copied in from userspace, ctrl.data cannot safely be dereferenced. Let me know if you have any questions or if I've made a mistake. Signed-off-by: Greg Kroah-Hartman <greg@kroah.com>
-
- 09 Jun, 2004 5 commits
-
-
Greg Kroah-Hartman authored
This gets rid of usb/host and puts the file in the proper drivers/usb/host directory. Signed-off-by: Greg Kroah-Hartman <greg@kroah.com>
-
Alan Stern authored
On Wed, 9 Jun 2004, David Brownell wrote: > Needs an update for ohci-lh7a404.c too ... I didn't even know this driver existed! Where did usb/host/* come from? Signed-off-by: Alan Stern <stern@rowland.harvard.edu> Signed-off-by: Greg Kroah-Hartman <greg@kroah.com>
-
Alan Stern authored
After my last few changesets there were a few small items that needed to be tidied up. Update kerneldoc to reflect the actual operation of usb_disconnect() and usb_new_device(). The new locking requirements are listed too, though they aren't all implemented yet. Fulfill the new locking requirement in hcd_panic(). Remove unneeded local variables to conserve stack space in usb_disconnect(), which calls itself recursively. In hub_port_connect_change(), store the parent's children[] pointer as late as possible and don't lock the new device until then (that's when it becomes globally accessible). This will minimize the time that the not-fully-configured device structure is visible to other parts of the kernel. Signed-off-by: Alan Stern <stern@rowland.harvard.edu> Signed-off-by: Greg Kroah-Hartman <greg@kroah.com>
-
Alan Stern authored
There are a few places where the code enumerates through all the USB devices on all the buses, starting with each bus's root hub and working down. However a bus does not always have a root hub, and the code does not check that the root_hub pointer is non-NULL. This patch fixes the problem, using the usb_bus_list_lock semaphore to synchronize access when root hubs are added or removed. In addition it seemed like a good idea to minimize the time that a non-fully-configured root hub is accessible through the bus's pointer. So this patch delays setting the pointer and holds usb_bus_list_lock while configuring a root hub. It turned out that a bunch of things needed to be changed for all this to work: Check for NULL root_hub pointer in usb_device_read() and usb_find_device(). Pass the root-hub device as a separate argument to hcd_register_root(). Make usb_register_root_hub() acquire the usb_bus_list_lock and set the bus->root_hub pointer. For consistency's sake, move the place where the children[] pointer to a non-root-hub device gets stored as close as possible to where usb_new_device() is called. Make usb_disconnect() acquire the usb_bus_list_lock when removing a root hub. Change usb_hcd_pci_remove() and the non-PCI host drivers so that they call usb_disconnect() with a pointer to the bus's root_hub pointer, not a pointer to a temporary variable. Change all the host controller drivers not to store the root_hub pointer in the bus structure but instead to pass it as a new argument to hcd_register_root(). I made some attempt to update the hc_sl811 driver along with the rest, but it's pretty clear that driver won't work in the current framework. Among other things, it never reads the root hub's device descriptor. To what extent is the driver really supported? Signed-off-by: Alan Stern <stern@rowland.harvard.edu> Signed-off-by: Greg Kroah-Hartman <greg@kroah.com>
-
Oliver Neukum authored
- add soft reset ioctl Signed-off-by: Oliver Neukum <oliver@neukum.name> Signed-off-by: Greg Kroah-Hartman <greg@kroah.com>
-
- 08 Jun, 2004 19 commits
-
-
Alan Stern authored
This one-line patch corrects a simple problem in the g_file_storage driver. It neglected to initialize the endpoint-autoconfiguration library before using it. Please apply. Signed-off-by: Alan Stern <stern@rowland.harvard.edu> Signed-off-by: Greg Kroah-Hartman <greg@kroah.com>
-
David Brownell authored
Support for the Sharp LH7A404 OHCI, another non-PCI implementation. This uses a platform_device and a workaround for a register read problem. Signed-off-by: Marc Singer <elf@buici.com> Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Greg Kroah-Hartman <greg@kroah.com>
-
David Brownell authored
Add byteswapping. Original version partially worked on PPC with Net2280, this version applies to the latest RNDIS code but hasn't been retested on big-endian. Ping should be working in at least one one direction. Also added a handful of other things from my BK: track suspend/resume (to eventually implement wake-on-lan), give a better rndis error message, and add missing declarations for PM-related OIDs (usage is #ifdeffed out by previous patch). From: Jon Neal <jon@ballardtech.com> Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Greg Kroah-Hartman <greg@kroah.com>
-
David Brownell authored
This makes net2280 behave more correctly with respect to usb suspend and resume processing. So for example gadget zero autoresume testing works. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Greg Kroah-Hartman <greg@kroah.com>
-
David Brownell authored
This adds hub_set_power_budget(), mostly so that HCDs for low powered ports (cell phone, PDA, etc) can more easily report their true power budgets. It's not always 500mA per root hub port; this makes dummy_hcd report the minimum, 8mA. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Greg Kroah-Hartman <greg@kroah.com>
-
Greg Kroah-Hartman authored
into kroah.com:/home/greg/linux/BK/usb-2.6
-
David Howells authored
Stop downgrade_write() from under-adjusting the rwsem counter in optimised rw-semaphores. Signed-off-by: David Howells <dhowells@redhat.com> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
bk://gkernel.bkbits.net/net-drivers-2.6Linus Torvalds authored
into evo.osdl.org:/home/torvalds/v2.6/linux
-
Jesse Brandeburg authored
Signed off by: Jesse Brandeburg
-
Andrew Morton authored
From: Carl-Daniel Hailfinger <c-d.hailfinger.kernel.2004@gmx.net> Handle going-away devices.
-
Herbert Xu authored
This patch fixes an incorrect MCA check as well as a leak on probe failure in at1700.
-
Herbert Xu authored
This patch frees the netdev on failure in mc32_probe in 3c527.
-
Alan Cox authored
"Gee it works better if you turn the chip on before programming it" The ioctl to ethtool change broke that little detail... I made the changes, Jeff agreed in principle, Red Hat owns them and I know no reason they can't be contributed under the GPL v2 or later. Requires: ethtool change
-
Alan Cox authored
Several ethernet drivers have been broken by the ethtool support because the ioctl code used to power the interface up and down as needed. Rather than add this to each driver call Jeff Garzik suggested we add hooks for before/after ethtool processing. This patch implements them which makes fixing the PM stuff easier, as the epic100 patch to follow will show. It also cleans up the via-velocity driver pm/ethtool logic a great deal. As per Jeff's request the before handler is allowed to fail the operation. -- The contribution herein included is a creation of Red Hat Inc. It is hereby submitted under the license of the existing files and as a derivative work thereof. I know of no reason for not having the right to submit the work herein included. (Bluff your way in legalese ;))
-
Michael Hunold authored
Adrian Bunk noticed that the tda1004x DVB frontend driver was broken and sent a small patch that at least made the driver work again. There was a discussion afterwards about the kernel syscall interface, but at the end, the tda1004x DVB frontend driver is still non-functional. This re-applies the temporary band-aid.
-
Paul Mackerras authored
The paca struct contains a pointer to the current task, which is used for the `current' macro. For some reason, this field is a u64, and every time we use it we need a cast, because it is really a pointer. This patch cleans things up a little by making it a pointer to struct task_struct and removing the casts. It also removes a now-incorrect comment which said that r13 contains current (it now holds &paca[smp_processor_id()]). Signed-off-by: Paul Mackerras <paulus@samba.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Paul Mackerras authored
Occasionally the ppc64 kernel emulates a usermode instruction, for example in the alignment exception handler. Kumar Gala pointed out (in the context of the ppc32 kernel) that if the instruction was being single-stepped, and we end up emulating the instruction, we should then send the process a SIGTRAP as if it had not been emulated and the process had then taken a single-step exception. This patch implements this for ppc64. Signed-off-by: Paul Mackerras <paulus@samba.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
bk://kernel.bkbits.net/davem/net-2.6Linus Torvalds authored
into evo.osdl.org:/home/torvalds/v2.6/linux
-
bk://kernel.bkbits.net/gregkh/linux/usb-fix-2.6Linus Torvalds authored
into evo.osdl.org:/home/torvalds/v2.6/linux
-
- 07 Jun, 2004 8 commits
-
-
David S. Miller authored
into kernel.bkbits.net:/home/davem/net-2.6
-
David Brownell authored
This partially reverts one of the changes in an earlier patch, starting to document where Microsoft's spec is lying. Needed to interop with Windows ME. The Windows ME implementation of RNDIS relies on a message that Microsoft's specification says isn't used. Restore this (removed in earlier cleanup), and start collecting comments specifically on where MSFT violates its own specifications. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Greg Kroah-Hartman <greg@kroah.com>
-
David Brownell authored
Tao Huang wrote: > I'm writing udc driver for S3C2410. I found RNDIS almost not call my > driver's free_request and free_buffer. So after run my driver about 3 > hours the system will out of memory. > > This patch will fix the memory leak. > > There will still have memory leak when driver unload, but I don't known > where is the proper place to fix it. > 1) rndis.c should free resp_queue when it unload > 2) ether.c should free tx_reqs and rx_reqs when it unload (as > eth_reset_config) Thanks ... this is a nice patch to have. From: Tao Huang <huangt@star-net.cn> Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Greg Kroah-Hartman <greg@kroah.com>
-
David Brownell authored
NDIS devices have a generic attribute get/set API where the attributes are identified by 32 bit "OIDs". This fixes some problems with the OIDs supported by the original RNDIS patch: - It included OIDs not found in the RNDIS spec. These have been removed. As a rule, these weren't exported in the "OIDs I support" list, and only a couple wouldn't fail those accesses, so this mostly changes what debug printk appears. - OIDs used for optional 802.3 statistics were partially supported. They're all in the OID list now, but the support is #ifdeffed out. (Those statistics were mostly just made up, anyway!) - "Required" OIDs for suspend, resume, and wakeup support weren't listed. Their messages are now defined, but support is #ifdeffed out. Seems the docs aren't entirely accurate, and Windows can behave reasonably without them. (This area needs help from someone who knows MS-Windows power management.) There are also a few minor cleanups, more reasonable default volume level for debug messages (never at KERN_INFO, keepalives only if VERBOSE), and dumping of all bytes of some undocumented messages Windows XP has been seen emitting shortly before the host suspended itself. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Greg Kroah-Hartman <greg@kroah.com>
-
Alan Stern authored
Given the problems that Dan Scholnik has reported, we should combine the unusual_devs.h entries for the Casio QV cameras into one. The new NEED_OVERRIDE flag will prevent complaints about unnecessary overrides, and Dan says the same subclass and protocol values should work for all the cameras. If they don't we'll hear about it soon enough! On Tue, 1 Jun 2004, Dan Scholnik wrote: > On Tue, 2004-06-01 at 14:14, Alan Stern wrote: > > On Tue, 1 Jun 2004, Dan Scholnik wrote: > > > > > Up until the 2.6 kernels, there was one entry for all the QV cameras > > > with both US_SC_8070 and US_PR_CB that I think seemed to work fine for > > > everyone. As far as I know the only problem was all the folks emailing > > > the log entry stating that the Casio entry wasn't needed. So, you could > > > revert back to that, or revert back to the 2.6.3ish version (pre-as190) > > > that had the overrides just for product IDs 1001-9009. I'm not really > > > an expert on Casio's cameras, I'm afraid, just the one model I own which > > > is 4-5 years old now. > > > > > > I'll be happy to prepare a patch any way you choose to go. > > > > How does this work for you? > > > > Alan Stern > > Works fine for me; that's I think exactly how it was from the beginning > until 2.6 and the later 2.4 kernels when all the changes were made. > Just cross your fingers that it doesn't somehow break newer Casios, as > it would seem every camera they ever made falls under that entry. Signed-off-by: Alan Stern <stern@rowland.harvard.edu> Signed-off-by: Greg Kroah-Hartman <greg@kroah.com>
-
Alan Stern authored
The hub driver is very careless about returning resources when an error occurs while installing a new device. This patch attempts to put some order back into the situation. Details: Since usb_new_device() allocates neither the device structure nor the device address, it shouldn't release either one. Because usb_new_device() no longer releases the device structure, usb_register_root_hub() doesn't need to take an extra reference to it. Since the device address selection and TT setup code is used only for new devices, not ones being reset, move that code from hub_port_init() to hub_port_connect_change(). By the same token, hub_port_init() doesn't have to release the device address or the device structure. Just to make things look better, move the failure code in hub_port_init() to the end of the routine. And when disabling endpoint 0, disable both the IN and OUT parts of the endpoint. In hub_port_connect_change(), make all the failure paths execute the same code so that resources are always released. These resources comprise: the pointer from the parent to the new child device, the HCD state for ep0, the device's address, and the device structure itself -- in short, everything that's set up before calling usb_new_device(). Signed-off-by: Alan Stern <stern@rowland.harvard.edu> Signed-off-by: Greg Kroah-Hartman <greg@kroah.com>
-
Alan Stern authored
This patch adds checking for the SET-FEATURE request that actually does a port reset. Without the check, the hub driver just assumes that the port reset command actually was transferred okay. Signed-off-by: Alan Stern <stern@rowland.harvard.edu> Signed-off-by: Greg Kroah-Hartman <greg@kroah.com>
-
Duncan Sands authored
proc_resetdevice is called with dev->serialize held. usb_reset_device takes dev->serialize and then calls __usb_reset_device. To avoid deadlock, proc_resetdevice should call __usb_reset_device directly. Signed-off-by: Duncan Sands <baldrick@free.fr> Signed-off-by: Greg Kroah-Hartman <greg@kroah.com>
-