Hi Greg, this patch bumps the speedtouch driver's version number.
It also adds the version number to the module description, so people
can see it with modinfo. I also added a MODULE_VERSION line (why?
because it was there...) The patch is against your 2.6 kernel tree.
[PATCH] USB speedtouch: fix memory leak in error path
Hi Greg, this patch fixes a memory leak in the speedtouch driver.
The leak occurs when the ATM layer submits a skbuff for transmission,
but the driver rejects it (because the device has been unplugged for
example). The ATM layer requires the driver to free the skbuff in this
case. The patch is against your 2.6 kernel tree.
[PATCH] USB speedtouch: turn on debugging if CONFIG_USB_DEBUG is set
Hi Greg, this causes the speedtouch driver to output non-verbose
debugging messages if the kernel was configured with CONFIG_USB_DEBUG.
The patch is against your 2.6 kernel tree.
Robert Love [Wed, 7 Apr 2004 09:52:34 +0000 (02:52 -0700)]
[PATCH] USB: add missing usb entries to sysfs
We have found in the course of hacking on HAL that some information that
is in /proc/bus/usb/devices is not in sysfs. It would be nice to rely
only on sysfs, so the attached patch adds three files to usb devices in
sysfs: devnum, maxChild, and version.
This patch is actually by David Zuethen, the HAL maintainer - I told him
I would clean it up and get it upstream.
David Brownell [Wed, 7 Apr 2004 09:52:02 +0000 (02:52 -0700)]
[PATCH] USB: fix xsane breakage, hangs on device scan at launch
Disable a usbfs disconnect() synchronization hack, which recently
started deadlocking because this routine is now called in a different
context.
It shouldn't be needed any longer now that usbcore shuts down endpoints
as part of driver unbinding. (Except maybe on UHCI, which will have
canceled but not necessarily completed all requests.)
David Brownell [Wed, 7 Apr 2004 09:51:28 +0000 (02:51 -0700)]
[PATCH] USB: retry some descriptor fetches
This helps Linux handle certain enumeration problems better,
by retrying most stalled descriptor fetches; on some devices,
those indicate temporary problems. This match makes at least
one such (old) device enumerate reliably.
David Brownell [Fri, 2 Apr 2004 04:23:30 +0000 (20:23 -0800)]
[PATCH] USB: usbcore blinkenlights
The per-port LEDs on the most USB 2.0 hubs are programmable.
And the USB spec describes some ways to use them, blinking
to alert users about hardware (amber) or software (green)
problems.
This patch is the infrastructure for that blinking. And
if you should happen to "modprobe usbcore blinkenlights",
the LEDs will cycle through all the ports ... which is
not a USB-standard mode, but it can certainly handy be
handy as a system heartbeat visible across the room.
David Brownell [Fri, 2 Apr 2004 01:57:49 +0000 (17:57 -0800)]
[PATCH] USB Gadget: ethernet/rndis gadget updates
This fixes an oops during "ifconfig usb0 down" after unplug
from a Windows box. It also shrinks the driver size to something
much more reasonable by leaving out debug messaging, and adds
a few missing newlines.
- PCI-specific handling is restricted to a small chunk of
init code. Non-PCI implementations are in the pipeline.
- Merge support from ARC International (Craig Nadler) for
their integrated root hub transaction translators (on PCI).
Other implementations should be similar.
David Brownell [Wed, 31 Mar 2004 05:35:04 +0000 (21:35 -0800)]
[PATCH] USB: remove usb_interface.driver field
Remove usb_interface.driver, and along with it the "half bound" state
previously associated with drivers binding with claim() instead of probe().
This changes usb_driver_claim_interface() semantics slightly: drivers must
now be prepared to accept disconnect() callbacks.
Fixes more locking bugs, and a claim() oops that snuck in with a
recent patch.
Alan Stern [Wed, 31 Mar 2004 05:09:56 +0000 (21:09 -0800)]
[PATCH] USB Gadget: Rename the dummy_hcd's gadget
When David added an entry to the gadget_chips.h file for the dummy_hcd
driver, he mistakenly used the name "dummy_udc" rather than "dummy_hcd".
The mistake is understandable, since other controllers use "_udc" in their
names and it is illogical to put "_hcd" in a _device_ controller's name.
This patch updates the dummy_hcd driver and changes the gadget name to
agree with the gadget_chips.h entry.
Alan Stern [Wed, 31 Mar 2004 05:09:35 +0000 (21:09 -0800)]
[PATCH] USB: Complete all URBs in UHCI when releasing the bus
This patch changes the UHCI driver's bus-release routine; now it will
correctly finish all pending but not-yet-completed URBs. This fixes a
reported bug, when trying to rmmod uhci-hcd while using a USB mouse under
X. Also, the patch changes a variable name from ...hs... to ...fs...
("high speed" -> "full speed") -- something I accidentally omitted in an
earlier patch.
Alan Stern [Wed, 31 Mar 2004 05:09:04 +0000 (21:09 -0800)]
[PATCH] USB Gadget: Use automatic endpoint selection in file-storage
This patch imports the endpoint auto-config library into the file-storage
gadget, simplifying the code needed for endpoint selection and removing
almost all dependencies on the controller type from the driver. It also
changes some log messages for reporting fatal problems from INFO to ERROR.
Alan Stern [Wed, 31 Mar 2004 05:08:35 +0000 (21:08 -0800)]
[PATCH] USB Gadget: Use configuration-buffer library in file-storage
This patch imports the config-buffer library into the file-storage gadget,
simplifying and decreasing the amount of code needed for assembling
configuration descriptors. It also changes the driver to remove any
pretense at bus-powered operation and to use the new DUALSPEED
configuration option. This is in line with recent changes made to other
gadget drivers.
Andrew Morton [Wed, 31 Mar 2004 00:34:59 +0000 (16:34 -0800)]
[PATCH] ppc64: clean up virtual <-> absolute code
From: Anton Blanchard <anton@samba.org>
Rusty Russell <rusty@rustcorp.com.au>
The iSeries has an arch-specific mapping from physical <-> absolute
addresses. Fortunately this is only used in a few places. However, the
following arch-specific macros/functions are provided in addition to the
standard macros:
Reduce them to these, with slightly shorter names, and taking either pointers
or unsigned long (as per __va and __pa) rather than making the caller cast:
abs_to_phys()
phys_to_abs()
And helper macros:
virt_to_abs()
abs_to_virt()
As is standard, virtual addresses are returned as void *, physical and
absolute as unsigned long.
Note that the change the iSeries_setup is a little subtle: ea is set to
__va(pa) above, so "phys_to_abs(pa)" is the same as "virt_to_abs(ea)".
Also, REALADDR is renamed to ISERIES_HV_ADDR and used in a couple of places
where appropriate.
David Brownell [Tue, 30 Mar 2004 09:18:44 +0000 (01:18 -0800)]
[PATCH] USB: fix dvb-ttusb-budget driver due to set_configuration locking cleanups
> Oops, you forgot to grep:
>
> CC [M] drivers/media/dvb/ttusb-dec/ttusb_dec.o
> drivers/media/dvb/ttusb-budget/dvb-ttusb-budget.c: In function `ttusb_setup_interfaces':
> drivers/media/dvb/ttusb-budget/dvb-ttusb-budget.c:1011: warning: implicit declaration of function `usb_set_configuration'
Well, when I did the grep that bug wasn't there; it
was just integrated on Feb 26!
> Care to send a patch to fix it up before Andrew gets grumpy with me for
> breaking his build? :)
The first part makes it use usb_reset_configuration() like
it did before ... I'm surprised this driver hasn't been
generating "it deadlocks during probe" reports.
The second part prints a diagnostic if the configuration
wasn't set right; the fix would use hotplug and sysfs.
This backs out Maneesh's sysfs patch that was recently added to the
kernel.
In its defense, the original patch did solve some fixes that could be
duplicated on SMP machines, but the side affect of the patch caused lots
of problems. Basically it caused kobjects to get their references
incremented when files that are not present in the kobject are asked for
(udev can easily trigger this when it looks for files call "dev" in
directories that do not have that file). This can cause easy oopses
when the VFS later ages out those old dentries and the kobject has its
reference finally released (usually after the module that the kobject
lived in was removed.)
I will continue to work with Maneesh to try to solve the original bug,
but for now, this patch needs to be applied.
Marcel Holtmann [Tue, 30 Mar 2004 06:12:10 +0000 (22:12 -0800)]
[PATCH] USB: Rename the USB HID driver
> > I like to see this rename as soon as possible. So if nobody minds I send
> > a patch to LKML and ask Linus for inclusion.
>
> Go ahead, but also please patch all relevant documentation in the
> kernel.
the attached patch should do the renaming everywhere hid or hid.o was
mentioned. It also removes all references to *.o module names.
[PATCH] USB Storage: datafab fix and unusual devices
datafab.c has an often-seen bug: the SCSI READ_CAPACITY command
does not need the number of sectors but the last sector.
I just tried the CF and SM parts of a 5-in-1 card reader.
The CF part works with US_PR_DATAFAB when the bug mentioned is fixed.
The SM part works with US_PR_SDDR55.
(Revision Number is 17.08 - that in case the 0000-ffff
should prove to be too optimistic.)
We still must discuss what setup to use for readers like this -
I have several of them - that require different drivers for
different LUNs. As it is now one has to compile usb-storage
twice, once with CONFIG_USB_STORAGE_DATAFAB defined and once
without, and remove one usb-storage.ko and insert the other
to go from CF to SM. (And that hangs with 2.6.4 so a reboot
is required..)
[PATCH] ppc64: Add a sync in context switch on SMP
For the same reason as ppc32, we need to ensure that all stores
done on a CPU has reached the coherency domain and are visible
to loads done by another CPU when context switching as the same
thread may be rescheduled almost right away there.
On ppc32, CONFIG_PREEMPT wasn't settable along with CONFIG_SMP
for historical reasons (smp_processor_id() races). Those races have
been fixes since then (well, should have been at least) so it's now
safe to allow both options.
This fixes a few issues with context switch on ppc32:
- Makes sure we properly flush out all stores to the coherency domain
when switching out, since the same thread could be switched back in
on another CPU right away, those stores must be visible to all other
CPUs.
- Remove dssall in the assembly calls and do it now once in switch_mm
(stop vmx streams). Assume the G5 doesn't need a sync after dssall.
- Remove bogus isync in the loop setting the userland segment registers
- Do not switch the userland segments when the mm stays the same
Add a warning if enable_kernel_{fp,altivec} is called with preempt
enabled since this is always an error, and make sure the alignement
exception handler properly disables preempt when doing FP operations.
Andrew Morton [Tue, 30 Mar 2004 02:41:57 +0000 (18:41 -0800)]
[PATCH] Make pdflush run at nice 0
Since pdflush was converted to be launched by the kthread infrastructure it
has inherited keventd's `nice -10' setting. That hurts interactivity when
pdflush is doing lots of work writing back through the dm-crypt layer.
Andrew Morton [Tue, 30 Mar 2004 02:41:44 +0000 (18:41 -0800)]
[PATCH] catch errors when completing bio pairs
From: Mike Christie <michaelc@cs.wisc.edu>
A couple of drivers can sometimes fail the first segments in a bio then
requeue the rest of the request. In this situation, if the last part of
the bio completes successfully bio_pair_end_* will miss that the beginging
of the bio had failed becuase they just return one when bi_size is not yet
zero. The attached patch moves the error value test before the bi_size to
catch the above case.
Andrew Morton [Tue, 30 Mar 2004 02:41:31 +0000 (18:41 -0800)]
[PATCH] Fix BLKPREP_KILL
From: Jens Axboe <axboe@suse.de>
Samuel Rydh wrote:
If a MODE_SENSE(6) command is sent to an IDE cd using the CDROM_SEND_PACKET
ioctl, then the kernel freezes solidly. To reproduce this, one can take the
SCSI cmd [1a 08 31 00 10 00] and a 16 byte data buffer.
After some bug hunting, I found out that the following is what happens:
- ide-cd recognizes that MODE_SENSE(6) isn't supported and tries
to abort the request from ide_cdrom_prep_pc by returning BLKPREP_KILL.
- in elv_next_request(), the kill request is handled by
the following code:
while (end_that_request_first(rq, 0, rq->nr_sectors))
;
end_that_request_last(rq);
The while loop never exits. The end_that_request_first() doesn't do anything
since rq->nr_sectors is 0; it just returns "not-done" after handling those 0
bytes (rq->bio->bi_size is 16).
David Brownell [Tue, 30 Mar 2004 01:25:17 +0000 (17:25 -0800)]
[PATCH] USB: set_configuration locking cleanups
I've posted all these before, the only notable change is
treating that one gphoto2 case as warn-and-continue rather
than return-with-failure.
usb_set_configuration() cleanup
* Remove it from the USB kernel driver API. No drivers need it now,
and the sysadmin can change bConfigurationValue using sysfs (say,
when hotplugging an otherwise problematic device).
* Simpler/cleaner locking: caller must own dev->serialize.
* Access from usbfs now uses usb_reset_configuration() sometimes,
preventing sysfs thrash, and warns about some dangerous usage
(which gphoto2 and other programs may be relying on). (This is
from Alan Stern, but I morphed an error return into a warning.)
* Prevent a couple potential "no configuration" oopses. (Alan's?)
* Remove one broken call from usbcore, in the "device morphed" path
of usb_reset_device(). This should be more polite now, hanging
that one device rather than khubd.
Jaroslav Kysela [Mon, 29 Mar 2004 14:26:33 +0000 (16:26 +0200)]
ALSA CVS update - Clemens Ladisch <clemens@ladisch.de>
AC97 Codec Core
don't clobber other bits in SERIAL_CFG register with AD codecs when changing codec selection bits
Jaroslav Kysela [Mon, 29 Mar 2004 14:21:17 +0000 (16:21 +0200)]
ALSA CVS update - Jaroslav Kysela <perex@suse.cz>
PCM Midlevel
Fix in snd_pcm_timer_resolution_change() - it no longer oops when
32-bit value overflows.
Jaroslav Kysela [Mon, 29 Mar 2004 14:20:32 +0000 (16:20 +0200)]
ALSA CVS update - Jaroslav Kysela <perex@suse.cz>
Sound Core PDAudioCF driver
Adrian Bunk <bunk@fs.tum.de>
Fix warnings (SNDRV_GET_ID is not required since these files don't use get_id).
Jaroslav Kysela [Mon, 29 Mar 2004 14:17:10 +0000 (16:17 +0200)]
ALSA CVS update - Clemens Ladisch <clemens@ladisch.de>
USB generic driver
replace usage of interface index with calls to usb_ifnum_to_if (forgot this in 1.88)
Jaroslav Kysela [Mon, 29 Mar 2004 14:16:47 +0000 (16:16 +0200)]
ALSA CVS update - Clemens Ladisch <clemens@ladisch.de>
USB generic driver
remove calls to usb_driver_release_interface
(not needed when disconnect is called)
Harald Welte [Mon, 29 Mar 2004 12:26:56 +0000 (04:26 -0800)]
[NETFILTER]: Fix DELETE_LIST oopses.
We've now narrowed down the issue of kernel oopses in combination with
'LIST_DELETE' syslog messages happening in certain setups.
Apparently people who do not enable CONFIG_IP_NF_NAT_LOCAL and do
DNAT/REDIRECT and want to connect locally from the gateway via DNAT to
the DNAT'ed address experience the bug ;)
Patch courtesy of KOVACS Krisztian and Henrik Nordstrom