Summary of changes from v2.6.5-rc1 to v2.6.5-rc2
============================================
<jamesl@appliedminds.com>
input: Fix hid-core for devices that have less usages than values
in a hid report. We could iterate beyond the end of array of
usages before.
<jamesl@appliedminds.com>
input: Add a new ioctl to hiddev, which allows multiple usages to
be set in a single request. Also fixes sizes of fields
in hiddev structs to use _uXX types.
<vojtech@suse.cz>
input: It looks like the Saitek RumblePad needs a BADPAD entry.
<vojtech@suse.cz>
input: Add support for another a4tech 2-wheel USB mouse, with
a Cypress ID this time. Also rearrange the HID blacklist
a bit - it has grown too long.
<jochen@jochen.org>
usb: Minor documentation fix reflecting new USB module names in acm.txt
<vojtech@suse.cz>
input: Fix sunkbd.c to work with serport. Must sleep.
<sebek64@post.cz>
input: Use request_region() instead of check_region() in ns558.c
it's both safer and correct.
<vojtech@suse.cz>
input: Bail out in atkbd.c if scancode set is changed, don't
reinitialize scancode map. This is even more anoying than
a new keyboard device in the unlikely case of set change.
<vojtech@suse.cz>
input: Add support for scroll wheel on MS Office and similar keyboards.
<vojtech@suse.cz>
input: Create an extra option for enabling IBM RapidAccess keyboard
special features (atkbd.extra), instead of abusing the
atkbd.set option for this.
<deller@gmx.de>
input: Convert HP/PARISC Lasi/Dino PS/2 keyboard/mouse driver
from an input driver to a serio driver.
<panagiotis.issaris@mech.kuleuven.ac.be>
input: Credit to Panagiotis Issaris for Graphire 3 support.
<aris@cathedrallabs.org>
input: Remove the obsolete "busmouse.c" helper driver.
<vojtech@suse.cz>
input: Fix "psmouse: Lost sync" problem. It was really losing sync.
<vojtech@suse.cz>
input: Fix a warning in i8042.c
<weicht@in.tum.de>
input: Fix a bug introduced by Andrew Morton's gcc3.2 fixes.
<vojtech@suse.cz>
input: Re-add a loop to set the old scancode bit in device key bitmap.
<stern@rowland.harvard.edu>
[PATCH] USB Storage: unusual_devs.h update
On Thu, 19 Feb 2004, Evan Felix wrote:
> I plugged a Cyclades AlterPath BIO USb device into my linux 2.6.2 laptop
> and it asked me to send you this:
>
>
> hub 1-1.2:1.0: new USB device on port 3, assigned address 6
> hub 1-1.2.3:1.0: USB hub found
> hub 1-1.2.3:1.0: 4 ports detected
> hub 1-1.2.3:1.0: new USB device on port 1, assigned address 7
> hub 1-1.2.3:1.0: new USB device on port 2, assigned address 8
> Initializing USB Mass Storage driver...
> usb-storage: This device (05dc,0001,0001 S 06 P 50) has an unneeded
> SubClass entry in unusual_devs.h
> Please send a copy of this message to
> <linux-usb-devel@lists.sourceforge.net>
> scsi0 : SCSI emulation for USB Mass Storage devices
> Vendor: Lexar Model: Jumpshot USB CF Rev: 0001
> Type: Direct-Access ANSI SCSI revision: 02
Thank you for sending this. Greg, here's the patch.
<stern@rowland.harvard.edu>
[PATCH] USB Storage: update unusual_devs.h comments
On Tue, 24 Feb 2004, Matthew Dharm wrote:
> We should also put a comment into the unusual_devs.h file to make sure
> nobody tries to remove the protocol override in the future.
How about this?
<stern@rowland.harvard.edu>
[PATCH] USB: Fix a bug in the UHCI dequeueing code
On Mon, 23 Feb 2004, Stephen Hemminger wrote:
> Great, the kernel with this patch ran successfully all weekend. Looks like no
> more races in the unlink path.
Wonderful. Thanks a lot for all your SMP testing, it's been a big help.
This patch corrects an error in the dequeueing code for UHCI. Improper
locking caused it to hang in the oddball case where an URB was unlinked
even before it had been queued.
<stern@rowland.harvard.edu>
[PATCH] USB: Enable interrupts in UHCI after PM resume
On Mon, 23 Feb 2004, Chip Salzenberg wrote:
> It works ... perfectly! I can now suspend and resume my A30 with
> impunity, and the USB keyboard works fine after each resume.
>
> Thanks much, Alan.
>
> (Now if I could just get the alsa guys to fix snd-intel8x0...)
This patch re-initializes the UHCI Interrupt Enable register following a
PM resume. Apparently some systems clear the register during suspend,
which causes obvious problems later on.
<stern@rowland.harvard.edu>
[PATCH] USB: Return better result codes in UHCI
This patch changes the result code returned by the UHCI driver for a
certain class of errors. Under a number of circumstances a USB device is
obliged to send a response packet within a fairly short turn-around time,
typically 1 - 10 microseconds depending on the bus speed. Failure to do
so is a protocol error and should be reported as such, not as a timeout,
which is really a higher-level concept. I believe the EHCI driver already
does this.
I trust nobody will object to the update this patch adds to
Documentation/usb/error-codes.txt, making this more explicit.
In a vaguely related change, the patch corrects the terminology in a few
comments. The parts of a control transfer are called "stages", not
"phases".
<stern@rowland.harvard.edu>
[PATCH] USB: Remove name obfuscation in UHCI
On Mon, 23 Feb 2004, Stephen Hemminger wrote:
> Bulk and interrupt urb's share common irq processing, why does the
> code try to obfuscate it?
Quite right; this is needless complexity. (But note you left in a couple
of lines that should have been deleted.)
<stern@rowland.harvard.edu>
[PATCH] USB: Use list_splice instead of looping over list elements
This patch is from Stephen Hemminger. I modified it slightly to place the
new elements at the end of the complete_list instead of at the front.
On Tue, 24 Feb 2004, Stephen Hemminger wrote:
> Since the remove_list and complete_list now use the same element for
> linking, it is possible to use the list_splice inline to avoid
> having to loop over all the urb's
<mdharm-usb@one-eyed-alien.net>
[PATCH] USB Storage: DSC-T1 unusual_devs.h entry
Our friends at sony are at it again. The DSC-T1 needs a new entry. Note
that it's the same VID & PID as the last entry, but different version.
<mdharm-usb@one-eyed-alien.net>
[PATCH] USB Storage: Fix for Fuji Finepix 1400
This patch changes some error checking so that some bogus devices (like the
Fuji Finepix 1400) will work.
This is basically relaxing a test on a field that the spec says "should
always be zero"
<mdharm-usb@one-eyed-alien.net>
[PATCH] USB Storage: Remove unneeded macro
This one-liner removes an unneeded macro.
<mdharm-usb@one-eyed-alien.net>
[PATCH] USB Storage: tighten sense-clearing code
This patch tightens up the conditions under which an auto-sense will be
cleared. It also fixes the comment associated with the code.
<greg@kroah.com>
[PATCH] USB Storage: remove unneeded debug message
Nothing in life is assured...
<michal_dobrzynski@mac.com>
[PATCH] USB: add IRTrans support to ftdi_sio driver
<jeffm@suse.com>
[PATCH] USB: Fix for kl5kusb105 driver
I tried using the kl5kusb105 driver for a 3Com PalmConnect USB device I
had lying around.
It oopses during device detection. There is a nested loop using the same
loop counter as the outer loop - causing the code after the nested loop
is first executed to have an invalid counter. The counter is then used
as an array index, causing a NULL deref.
Fix attached.
<stern@rowland.harvard.edu>
[PATCH] USB Storage: Remove Minolta Dimage 7i from unusual_devs.h
On Fri, 27 Feb 2004, Lenar Lõhmus wrote:
> Hi,
>
> Got this:
>
> usb 3-1: new full speed USB device using address 3
> usb-storage: This device (0686,400b,0001 S 06 P 50) has an unneeded SubClass entry in unusual_devs.h
> Please send a copy of this message to <linux-usb-devel@lists.sourceforge.net>
Well, Martin Pool notwithstanding (see
http://marc.theaimsgroup.com/?l=linux-usb-devel&m=107642806303815&w=2
), it sure looks like this doesn't need an unusual_devs.h entry.
Greg, please apply this patch.
<david-b@pacbell.net>
[PATCH] USB: usbnet learns about Zaurus C-860
New Zaurus ID, from Sven Trampel <Sven.Trampel@surf-club.de>
<david-b@pacbell.net>
[PATCH] USB Gadget: gadget config buffer utilities
Adds two new gadget-side utility functions, to support a declarative
style of managing usb configuration descriptors. The functions fill
buffers from null-terminated vectors of usb descriptors, which are
simple to build or update.
The "ethernet" gadget driver currently has the most interesting config
descriptors. This uses those functions to replace some complex code with
simpler static declarations; result, it's cleaner. (And it'll be easier
to add RNDIS configurations later, too.)
Memory savings (or cost, depending on config) was less than 50 bytes;
nothing worth worrying about.
<david-b@pacbell.net>
[PATCH] USB: EHCI and full-speed ISO-OUT
This is a minor update to the patch I sent out about a week ago.
The key change is to use the I/O watchdog while doing ISO streaming.
Bernd Porr reports that a VT8235 system needs that; it seems like
IDE activity can interfere with the delivery of USB IRQs.
EHCI periodic scheduling updates.
- Initial version of full speed ISO transaction support. This
should handle OUT transactions, such as those for usb speakers.
For now, it's controlled using an EXPERIMENTAL config option:
* I've run into interesting differences in how different USB 2.0
hub silicon (the transaction translators) handle some older
audio devices. Needs more investigation.
* Interrupt transfer scheduling doesn't yet cope well with schedules
where every slot already has activity. For now, don't plug in
devices like hubs, mice, or keyboards while EHCI is streaming.
- Protect freelist for highspeed ITDs, using spinlock. Could be
an issue for some drivers.
- Kick in the I/O watchdog timer (5 msec) for periodic transfers.
In this case, IDE activity on a VT8235 lost the IRQs which should
have kept the ISO stream active. Queues shorter than 5 msec are
not going to work on all USB hosts.
- Simplified the ISO scheduler: doesn't attempt to re-schedule
after lossage, or to short-circuit scanning. (Rescheduling will
probably come back later ... for now, the "hard" error here is
highlighting problems that need attention.)
<greg@kroah.com>
USB: delete unneeded scanner documentation.
<thoffman@arnor.net>
[PATCH] USB: add driver for ATI USB/RF remotes
I've taken the old GATOS version of the ati_remote driver and done
some cleanup/rework of it while porting to 2.6 kernels.
<u233@shaw.ca>
[PATCH] USB: kbtab.c (Jamstudio Tablet) with optional pressure
I have altered kbtab.c a bit in anticipation of an XFree86 4.3 driver
that can accept the pressure data (as a third axis) by listening on the
event interface.
I have set it so that if the option kb_pressure_click is -1 it reports
pressure rather than clicks.
<tejohnson@yahoo.com>
[PATCH] USB: add new USB Touchscreen Driver
I have attached a patch which contains a driver and documentation for
the MicroTouch (14-206) USB Capacitive Touchscreen controller. It based
on some older code that I have been using for quite some time now (since
2.4.17). This new version has been completely re-written, and now uses
Linux Input. Greg, It would be great to possibly get it into 2.6.4.
Please let me know if I have it all wrong...
Unfortunately, the X11 mouse driver only seems capable of handling
relative data rather than absolute. Hopefully some one will create a
suitable X11 driver capable of accepting absolute data from Linux
Input. If anyone is aware of one, please let me know. Otherwise, I
will most likely begin some work on a patch for GPM.
Calibration support will be on the way soon, but I'm not sure of the
best way to implement. Perhaps some abstract functions could come
available in evdev which can call vendor specific commands for the
calibration within this driver (and perhaps others).
<greg@kroah.com>
[PATCH] USB: fix build for older versions of gcc and the mtouchusb driver.
<greg@kroah.com>
[PATCH] USB: fix up the input Makefile after these last few drivers were added.
<thoffman@arnor.net>
[PATCH] USB: update driver for ATI USB/RF remotes
<akpm@osdl.org>
[PATCH] USB ati_remote.c: don't be a namespace hog
`debug', indeed.
<ahaas@airmail.net>
[PATCH] USB: C99 initializers for drivers/usb/serial/keyspan.h
Here's a small patch changing the GNU-style initializers to C99
initializers. The patch is against the current BK.
<per.winkvist@uk.com>
[PATCH] USB Storage: unusual devs fix for Pentax cameras.
Please apply the attached patches instead. People have tried it on several
different Pentax cameras (including 330 GS)
<brill@fs.math.uni-frankfurt.de>
[PATCH] USB Storage: unusual_devs.h entry submission
here is an unusual_devs.h entry which makes two different USB MP3 players
work with Linux' USB storage driver. They share a core chip, the t33520 USB
flash card controller by Trumpion microelectronics. They also share the same
ID 0x090a:0x1001, which is a "generic" ID for t33520 devices using bulk-only
protocol (0x1002 is for CB).
About the MP3 players:
- I own an apparently unbranded one (sold in masses on ebay.de) which
needs US_FL_MODE_XLATE (and used to need US_FL_START_STOP before its
removal).
- Theodore Kilgore (who created the 0x090a:0x1001 record in the
Linux-USB device overwiew) has a "Trumpion Digital Research MYMP3"
which needs US_FL_MODE_XLATE and an explicit US_PR_BULK.
Of course the different players report the same firmware rev. 1.00,
despite their obviously different behaviour. Ugh.
There are more players with this ID, the "Kaser Yofun 100 MP-3" (also
rev. 1.00) being one. The proposed entry may or may not help them, but
it shouldn't break working ones in any case. It is not unlikely they too
will need US_FL_MODE_XLATE.
Below you'll find my /proc/bus/usb/devices with mounted MP3 player and a
patch against 2.4.25-rc3. Please apply.
----------------8<-------------------------8<--------------------
T: Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=12 MxCh= 2
B: Alloc= 0/900 us ( 0%), #Int= 0, #Iso= 0
D: Ver= 1.00 Cls=09(hub ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1
P: Vendor=0000 ProdID=0000 Rev= 0.00
S: Product=USB UHCI Root Hub
S: SerialNumber=e400
C:* #Ifs= 1 Cfg#= 1 Atr=40 MxPwr= 0mA
I: If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub
E: Ad=81(I) Atr=03(Int.) MxPS= 8 Ivl=255ms
T: Bus=01 Lev=01 Prnt=01 Port=01 Cnt=01 Dev#= 2 Spd=12 MxCh= 0
D: Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1
P: Vendor=090a ProdID=1001 Rev= 1.00
C:* #Ifs= 1 Cfg#= 1 Atr=80 MxPwr= 60mA
I: If#= 0 Alt= 0 #EPs= 3 Cls=08(stor.) Sub=06 Prot=50 Driver=usb-storage
E: Ad=81(I) Atr=02(Bulk) MxPS= 64 Ivl=0ms
E: Ad=02(O) Atr=02(Bulk) MxPS= 64 Ivl=0ms
E: Ad=83(I) Atr=03(Int.) MxPS= 8 Ivl=255ms
----------------8<-------------------------8<--------------------
<jurgen@botz.org>
[PATCH] USB: visor patch for Samsung SPH-i500
Hi... here is a patch for the vendor/device codes for the
Samsung SPH-i500 Palm phone.
<stern@rowland.harvard.edu>
[PATCH] USB Storage: Revision of as202, Genesys quirk patch
In the slave_configure routine it's already too late for the host's
max_sector value to affect the scsi_device. It's necessary to set the
queue value directly. This revised patch takes care of that.
<jbglaw@lug-owl.de>
input: Add serio entries for LK keyboards.
<dtor_core@ameritech.net>
Atkbd: whitespace fixes
<dtor_core@ameritech.net>
Atkbd: Clean up unclean merge (remove old MODULE_PARMs)
<dtor_core@ameritech.net>
Input: Switch between strict/relaxed synaptics protocol checks based on
data in the first full data packet. Having strict checks helps
getting rid of bad data after losing sync, but not all harware
implements strict protocol.
<dtor_core@ameritech.net>
Psmouse: whitespace fixes
<dtor_core@ameritech.net>
Psmouse: some hardware does not ACK "disable streaming mode" command.
Since we already have an idea that it's a mouse device that
is present (from its response to GET ID command), instead of
aborting, issue a warning and continue.
<dtor_core@ameritech.net>
Introduce module_param_array_named to allow for module options with
name different form corresponding array variable. Allows using short
(but descriptive) option names without hurting code readability.
Modeled after module_param_named.
<dtor_core@ameritech.net>
Input: Convert joystick modules to the new way of handling parameters and
document them in kernel-parameters.txt
The new names are:
amijoy.map=<a>,<b>
analog.map=<type1>,<type2>,...<type16>
db9.dev[2|3]=<parport#>,<type>
gamecon.map[2|3]=<parport#>,<pad1>,<pad2>,...<pad5>
turbografx.map[2|3]=<parport#>,<js1>,<js2>,...<js7>
Also there is a tiny change to mousedev and tsdev descriptions in
kernel-parameters, but no name changes.
<dtor_core@ameritech.net>
Setup: introduce __obsolete_setup macro to denote truly obsolete
parameters. Whenever such parameter is specified kernel
will complain that "Parameter %s is obsolete, ignored"
<dtor_core@ameritech.net>
Input: use __obsolete_setup to document removed (renamed)
options so users will have a clue why the options
do not work anymore
<vojtech@suse.cz>
input: Workaround i8042 chips with broken MUX mode.
<vojtech@suse.cz>
input: Only do hotplug on PS/2 HW when the HW sends 0xaa. This
avoids problems with broken USB->PS/2 legacy emulation
in certain BIOSes.
<vojtech@suse.cz>
input: i8042.c:
Assume the chip always is in XLATE mode, even when it doesn't
have the XLATE bit set - apparently IBM PS/2 model 70 behaves
this way.
<jbglaw@lug-owl.de>
input: Add DEC LK201/LK401 keyboard support
<jbglaw@lug-owl.de>
input: Add driver for DEC VSXXX mice.
<david-b@pacbell.net>
[PATCH] USB Gadget: make usb gadget strings talk utf-8
Teach gadget/usbstring to expect UTF-8 strings, not ISO-8859/1 ones.
This just gets rid of an API issue: no hacks needed for non-Western
languages, and multi-language support will be lots easier.
Current drivers won't notice the API change, they use US-ASCII (which
is a strict superset of both encodings).
Future drivers may want to teach utf8_to_utf16le() about the four-byte
encodings, so they can emit surrogate pairs for those Unicode characters.
<sailer@scs.ch>
[PATCH] USB: USB OSS audio driver workaround for buggy descriptors
<stern@rowland.harvard.edu>
[PATCH] USB: Don't add/del interfaces, register/unregister them
On Fri, 27 Feb 2004, Greg KH wrote:
> On Wed, Feb 25, 2004 at 10:05:37AM -0500, Alan Stern wrote:
>
> > Why would anyone want to do this, you ask? Well the USB subsystem does it
> > already. Each USB device can have several configurations, only one of
> > which is active at any time. Corresponding to each configuration is a set
> > of struct devices, and they (together with their embedded kobjects) are
> > allocated and initialized when the USB device is first detected. The
> > struct devices are add()'ed and del()'ed as configurations are activated
> > and deactivated, leading to just the sort of call sequence shown above.
>
> Then we need to fix this.
The driver model does not support repeated device_add(), device_del(),
device_add(), device_del(), ... calls for the same device. But that's
what happens to an interface's embedded struct device when we change
configurations.
Accordingly, this patch changes the device_add()/device_del() calls for
interfaces to device_register()/device_unregister(). When the interface
is unregistered the new code waits for the release method to run, so that
it will be safe to re-register the interface should the former
configuration be reinstated.
Greg, please check this out to make sure I haven't made some dumb mistake.
It works on my system and it fixes a memory leak in the USB system.
<stern@rowland.harvard.edu>
[PATCH] USB: Improve handling of altsettings
On Sat, 21 Feb 2004, Greg KH wrote:
> > One thing that would be good, whether this change gets made or not, is to
> > remove all assumptions from drivers about the order in which interfaces
> > are stored (use usb_ifnum_to_if()) and the order in which altsettings are
> > stored (replace intf.act_altsetting with a pointer and create
> > usb_altnum_to_alt() analogous to usb_ifnum_to_if()). There are plenty of
> > drivers that will need to be fixed up.
>
> I'd be glad to take patches to fix up any drivers that still have this
> problem right now.
Here's a start. This patch begins the conversion process by adding
usbcore support for cur_altsetting and deprecating act_altsetting.
So long as we assumed that altsetting numbers range from 0 to
num_altsetting-1 and that the number matches its index in the altsetting
array, there was no harm in using act_altsetting. But without that
assumption act_altsetting is merely an invitation to errors. Although the
kerneldoc says that act_altsetting is the _index_ of the active
altsetting, it's all too easy to confuse it with the _number_ of the
active altsetting. Using cur_altsetting instead (a pointer rather than a
number) will prevent that confusion.
Until all the drivers have been converted to use cur_altsetting, the core
will have to maintain act_altsetting in parallel with it. Eventually we
will be able to remove act_altsetting, but fixing all the drivers will
take a while.
Included in this patch:
Add cur_altsetting to struct usb_interface and deprecate
act_altsetting.
Add comments and kerneldoc explaining the changes. Also remove
the comments in front of struct usb_host_config (they seem to
have been left behind when usb_ch9.h was split out) and add
kerneldoc for that structure.
Add usb_altnum_to_altsetting() to help look up altsettings based
on their number.
Convert the usb_set_interface(), usb_set_configuration(), and
usb_reset_configuration() routines to support cur_altsetting
and act_altsetting in parallel. Convert a few others to use
cur_altsetting rather than act_altsetting.
Rename a few local variables to make their meaning a little
clearer. It would be nice to change struct usb_host_interface
to something like usb_host_altsetting, but that's a patch for
another time.
<stern@rowland.harvard.edu>
[PATCH] USB: Convert usbcore to use cur_altsetting
This patch continues the work of as209 by converting the rest of usbcore
to use cur_altsetting in place of act_altsetting. The changes required
are fairly small, just in the sysfs attributes and hub configuration.
<stern@rowland.harvard.edu>
[PATCH] USB: Small improvements for devio.c
devio.c doesn't need to be changed to support the new altsetting
mechanism, but while looking through it I noticed a couple of places that
could be improved slightly. Here they are, just removal of some redundant
tests (all altsettings for the same interface are guaranteed to have the
same bInterfaceNumber) and function calls.
<stern@rowland.harvard.edu>
[PATCH] USB: Convert usb-storage to use cur_altsetting
I'm beginning the process of converting device drivers to use
cur_altsetting with usb-storage, the one I know best. Only a few changes
are needed (and the first one isn't even really necessary).
<stern@rowland.harvard.edu>
[PATCH] USB: Convert usbtest to the new altsetting regime
This patch converts the usbtest driver to the new way altsettings work.
The largest change is to remove the assumptions that altsetting numbers
lie in the correct range (a debugging message is logged if they don't but
execution doesn't stop) and that the array is sorted by number.
<greg@kroah.com>
[PATCH] USB: remove act_altsetting usages in the remaining drivers/usb/ drivers
<greg@kroah.com>
[PATCH] USB: remove act_altsetting usages in more USB drivers
<greg@kroah.com>
[PATCH] USB: remove intf->act_altsetting altogether from the USB core and usb.h
<david-b@pacbell.net>
[PATCH] USB: HCD names, for better troubleshooting
See the attached patch -- which restores the behavior of usbcore
to what it had before "struct device.name" went away, in the
(typical) case of PCI devices.
It makes the root hubs say what hardware they're actually using,
in the reasonably typical case that PCI names are in use, rather
than being just generic (and hence almost useless) strings. This
sort of information can really help when troubleshooting.
<john@fremlin.de>
input: Add a NEC USB gamepad to badpad blacklist.
<warp@mercury.d2dc.net>
input: HID needs to distinguish between two types of A4Tech
two-wheel mice.
<rmk@arm.linux.org.uk>
input: Fix i8042 PS/2 mouse on ARM.
<vojtech@suse.cz>
input: Update the Wacom driver to latest version
from Ping Cheng from Wacom.
<home@mdiehl.de>
input: Add support for devices which need some padding at the
end of a HID report.
<sebek64@post.cz>
input: Fix a memory leak in ns558.c
<vojtech@suse.cz>
input: Add a Chic gamepad into badpad quirk list.
<vojtech@suse.cz>
input: Don't define DEBUG in hid-ff by default. It spews messgaes
even when no FF device is present.
<szuk@telusplanet.net>
input: Restore LED state in atkbd.c after resume.
<vojtech@suse.cz>
input: Fix oops (NULL pointer dereference) on resume in psmouse.c,
when the mouse goes away while sleeping.
<greg@kroah.com>
merge fixups with irda usb code
<greg@kroah.com>
USB: fix the pcwd_usb driver due to act_altsetting going away.
<greg@kroah.com>
USB: fix usb-serial core to look at the proper interface descriptor
<stern@rowland.harvard.edu>
[PATCH] USB: Update USB class drivers
This patch makes the necessary updates to the bluetty, cdc-acm, and usblp
class drivers for the new interface/altsetting paradigm. The changes are
quite small.
Unfortunately, the audio and usb-midi drivers are in much worse shape.
They will require more in-depth hacking, to come later...
<stern@rowland.harvard.edu>
[PATCH] USB: Remove interface/altsettings assumption from audio driver
This patch updates the USB audio class driver to use the usb_ifnum_to_if()
and usb_altnum_to_altsetting() routines, thereby removing assumptions
about which interface or altsetting is stored in which array entry.
It also simplifies the driver's probe() routine by using the raw
configuration descriptor already loaded into memory instead of reading the
descriptor from the device. Now, either the current driver has a bug and
never deallocates the buffer used to hold the descriptor, or else I've
introduced a double-free error. There's no obvious place where the buffer
gets freed, but it's hard to be certain.
It would be good if someone could try out this patch. I can't test it,
not having any USB audio devices handy. If the double-free error is
present, it will show up when the device is disconnected and the
configuration data is released.
<stern@rowland.harvard.edu>
[PATCH] USB UHCI: restore more state following PM resume
Some systems don't save the internal state of the UHCI registers across a
PM suspend/resume cycle very well. This patch saves & restores the
Frame Number and the Framelist Base Address registers (in addition to the
Interrupt Enable register, which was added separately in a recent patch.)
<stern@rowland.harvard.edu>
[PATCH] USB: Interface/altsetting update for ISDN hisax driver
On Mon, 8 Mar 2004, Greg KH wrote:
> Oh, could you look at drivers/isdn/hisax/hfc_usb.c if you get a chance?
> I tried to figure out the mess there with regards to act_altsetting, but
> gave up :(
You're right, it is a mess. Beats me why they didn't use a plain old
"for" statement to do that altsetting loop. Probably the most confusing
part is where the code needlessly resets intf->act_altsetting.
Anyway, this patch sets things right. I haven't tried to compile it, but
any errors ought to be pretty small, obvious, and easy to fix.
My intention was to go through the files under driver/usb (in alphabetical
order!) and then do the ones outside that subtree -- I've got a little
list. But it's no problem to take care of this one first.
<greg@kroah.com>
[PATCH] USB: fix compiler warning in hfc_usb.c driver.
<s.doyon@videotron.ca>
[PATCH] USB brlvger: Driver obsoleted by rewrite using usbfs
We have rewritten the brlvger (Tieman Voyager USB Braille display) driver
so that it works from user-space through usbfs. It appears to work just as
well as the in-kernel driver.
The brlvger driver in the 2.6.x kernel is now obsolete and should be
removed. The attached patch against 2.6.3 does this. Please apply.
NB: The following files are completely deleted:
Documentation/usb/brlvger.txt
drivers/usb/misc/brlvger.c
include/linux/brlvger.h
The new Voyager driver is available (stil under GPL) as part of BRLTTY,
starting with version 3.5pre1 (http://mielke.cc/brltty).
Thanks to Dave Mielke who implemented BRLTTY's usbfs functionality, among
lots of other stuff.
<petkan@nucleusys.com>
[PATCH] USB: 2.6 pegasus.h updates
a few more IDs added, could you please apply it?
<david-b@pacbell.net>
[PATCH] USB: usbnet and ALI M5632
Some of the 480 Mbit/sec USB host-to-host links have ALI
chips in them. They seem to work with no problem, given
this patch, even when the ends talk different speed.
<david-b@pacbell.net>
[PATCH] USB: gadget config buf utilities
Somehow I sent you a version of this code with a misplaced
semicolon ... it makes for awkward failures!
Please merge. Bad semicolon!
<david-b@pacbell.net>
[PATCH] USB: clarify CONFIG_USB_GADGET
Marc-Christian Petersen wrote:
>
> I think the attached patch is needed to stop showing us USB Gadget support if
> Support for USB is disabled.
No it isn't. But maybe the attached patch would clarify what's
really going on: CONFIG_USB is the host side, and CONFIG_USB_GADGET
is the peripheral side.
<davidm@hpl.hp.com>
input: Avoid an endless loop in hid-core.c, if a device has some
empty reports.
<davidm@hpl.hp.com>
input: When reading input reports from a device via the ctrl pipe,
set idle time of the device. This makes buggy devices which
take the idle time into account for the ctrl pipe work.
<lists@mdiehl.de>
[PATCH] USB: fix stack usage in pl2303 driver
Arghh - while trying to follow this I just realized the pl2303 is DMA'ing
to the stack - not good!
Could you please just try with the patch below. I'm not sure if this might
cause the MA620 trouble but it's definedly a bug and maybe it improves
things for you...
<oliver@neukum.org>
[PATCH] USB: locking fix for pid.c
you forgot to drop a spinlock before you report an error. A deadlock
will occur.
<stern@rowland.harvard.edu>
[PATCH] USB: Remove interface/altsetting assumptions from usb-midi
This patch makes the usb-midi driver use usb_ifnum_to_if(), thereby
removing assumptions about which interface is stored in which array entry.
Similarly, it stores the bAlternateSetting value rather than the array
index for an altsetting entry.
Like the earlier patch for the audio driver, this also changes the driver
to use the in-memory rawdescriptor buffer rather than reading a
configuration descriptor from the device. Unlike that earlier patch, this
time there's no question that the deallocation of the buffer is done
correctly. (I suspect the audio driver just left out a call to kfree.)
<oliver@neukum.org>
[PATCH] USB: fixes for aiptek driver
- don't pass buffers allocated on stack to the sync helpers
- check errors in probe
- fix count in open
- proper macros
<oliver@neukum.org>
[PATCH] USB: bug in error code path of kbtab driver
this fixes
- a leak in the error code path of open()
- removes SLAB_ATOMIC where it isn't needed
- uses le16_to_cpu (yes Pete, unaligned access is taken care of)
<oliver@neukum.org>
[PATCH] USB: wacom driver fixes
the same error code path as in the other drivers.
In addition I added the endianness macros. They save cycles
in interrupt.
-use endian macros
-use GFP_KERNEL where SLAB_ATOMIC is not needed
-fix count bug in open() error path
<bunk@fs.tum.de>
[PATCH] USB_STORAGE: remove a comment
In 2.6, USB_STORAGE selects SCSI, so there's no longer a need for this
comment.
<bunk@fs.tum.de>
[PATCH] USB: remove USB_SCANNER MAINTAINERS entry
When sending the patch to remove USB_SCANNER, I forgot to remove the
MAINTAINERS entry.
<rddunlap@osdl.org>
[PATCH] USB: fix net2280 section usage
net2280_remove() is called by net2280_probe() so it
shouldn't be marked as __exit;
<david-b@pacbell.net>
[PATCH] USB: usbcore doc update
Some doc updates, mostly from Alan Stern, clarifying
quetions folk have asked recently about unlinking
and about iso transfers.
<david-b@pacbell.net>
[PATCH] USB gadget: dualspeed {run,compile}-time flags
This is the first several autoconfig patches; please merge.
This particular one abstracts dual-speed (high and full)
support.
Support some more autoconfiguration for gadget drivers.
Run-time:
* Add gadget->is_dualspeed flag for controllers to set.
* Tested by "ethernet" gadget, to decide whether certain
operations are errors or not.
* Turned on by net2280.
Compile-time
* Generic CONFIG_USB_GADGET_DUALSPEED, not net2280-specific.
* Used by "ethernet" gadget, to decide whether to
include extra code and data for dual-speed support.
* Turned on by net2280.
The basic idea behind this, and other autoconfig patches yet to come,
is minimizing the controller-specific compile-time configuration
needed by gadget drivers.
<david-b@pacbell.net>
[PATCH] USB: usb_unlink_urb() has distinct "not linked" fault
This gets rid of an often-bogus diagnostic, and lets
at least the unlink test code recover reasonably when
it hits that brief window while another CPU has gotten
the complete() callback but hasn't yet resubmitted.
Return distinct code when unlinking an urb that's not linked.
This lets drivers handle this fault sanely, when they need to.
Gets rid of annoying non-error messages about drivers that unlink
in disconnect() even when the urb isn't linked.
<david-b@pacbell.net>
[PATCH] USB: usbtest updates (new firmware)
This includes some small updates to "usbtest", mostly
from Martin Diehl. Please merge.
usbtest updates, supporting new firmware
- Support the new usbtest_fw-20040305 EZ-USB firmware,
which renumerates and handles full speed ISO transfers.
(From Martin Diehl.)
- Minor cleanups: use dev_dbg(), let some slightly-off
devices work in the control queueing test.
- Be pickier about unlink tests: insist that async
and sync unlinks give the appropriate fault code.
<david-b@pacbell.net>
[PATCH] USB: usb buffer allocation shouldn't require DMA
Deepak's recent dma_pool changes accidentally assumed that
all HCDs use DMA. The fix is simple: use kmalloc/kfree
when there's no DMA.
<david-b@pacbell.net>
[PATCH] USB gadget: gadget zero, simplified controller-specific configuration
This removes several controller-specific #define, and
converts to using the config_buf utilities. Depends
on the patch I submitted yesterday. Looking simpler!
Simplify "gadget zero" compile-time configuration.
This removes several controller-specific compile-time config options;
the others are about to be autoconfigured.
- HIGHSPEED replaced by CONFIG_USB_GADGET_DUALSPEED
- Default to self-powered operation
- There's no UI for remote wakeup
It also uses the new config_buf utilities, so it's a bit easier to see
what's really going on (this driver implements four configurations).
<henning@wh9.tu-dresden.de>
[PATCH] USB: unusual_devs.h update
*** linux-2.6.3/drivers/usb/storage/unusual_devs.h 2004-02-18 04:59:06.000000000 +0100
<stern@rowland.harvard.edu>
[PATCH] USB: Altsetting/interface update for USB image drivers
This patch contains minute updates for the hpusbscsi, mdc800, and microtek
drivers. Only two things are worth noting. In the mdc800 driver I
removed some unnecessary calls to usb_driver_claim_interface(),
usb_driver_release_interface(), and usb_set_interface(). Likewise, in the
microtek driver I removed an unnecessary call to usb_set_interface().
<schwab@suse.de>
[PATCH] PCI Hotplug: Fix PCIE and SHPC hotplug drivers for ia64
This patch fixes the PCIE and SHPC hotplug driver for ia64. The function
pcibios_set_irq_routing only exists on x86, and acpi_bridges_head may be
NULL, so don't crash.
Andreas.
<t-kochi@bq.jp.nec.com>
[PATCH] PCI Hotlug: fix acpiphp unable to power off slots
Attached patch includes the I/O space fix and applies to 2.6.3.
This should also solve the problem Maeda-san reported in January
(sorry for replying so late!)
Here are changes in the patch:
- fix the acpiphp driver not powering down a PCI card (from Gary Hade)
- fix I/O space size calculation and ISA aliasing (from Gary Hade)
- fix some debug messages
- only execute ACPI methods on the first existing function
<lxiep@ltcfwd.linux.ibm.com>
[PATCH] PCI Hotplug: rpaphp/rpadlpar latest (support for vio and multifunction devices )
<greg@kroah.com>
[PATCH] PCI Hotplug: fix compiler warning in acpiphp driver
<pmarques@grupopie.com>
[PATCH] USB: usblp.c (Was: usblp_write spins forever after an error)
Paulo Marques wrote:
> David Woodhouse wrote:
>
>> On Thu, 2004-03-04 at 12:33 +0000, Paulo Marques wrote:
>>
>>> Yes, unfortunately it did went into 2.6.4-rc1. However it is already
>>> corrected in 2.6.4-rc2. Luckily it didn't went into any "non-rc"
>>> official release.
>>>
>>> Please try 2.6.4-rc2, and check to see if the bug went away...
>>>
>>
>> Seems to work; thanks. Does this need backporting to 2.4 too?
>>
>
>
> Unfortunately this isn't over yet.
>
> I got suspicious about this bug fix, because I *did* test my patch
> before submitting it and the kernel that didn't work before, worked fine
> with my patch.
>
> But now it seems that it is the other way around. After a few digging I
> found out the problem:
>
> The application that I was testing with uses the usblp handle with
> non-blocking I/O .
>
> So my patch does work for non-blocking I/O uses of the port, but wrecks
> the normal blocking mode.
>
> I've already produced a version that works for both cases. I'll just
> clean it up a bit and submit it to 2.4 and 2.6 kernels.
Here it is.
The patch is only one line for 2.6.4-rc2. (I also did a little formatting
adjustment to better comply with CodingStyle)
For the 2.4.26-pre1 kernel, I also backported the return codes correction patch
from Oliver Neukum.
The problem with the write function was that, in non-blocking mode, after
submitting the first urb, the function would return with -EAGAIN, not reporting
to the application that in fact it had already sent "transfer_length" bytes.
This way the application would have to send the data *again* causing lots of
errors.
It did return the correct amount with my first patch, because the writecount was
being updated on the end of the loop. However this was wrong for blocking I/O.
The "transfer_length" local variable is still needed because if we used the
transfer_buffer_length field from the urb, then on a second call to write, if
the urb was still pending (in non-blocking mode), the write would return an
incorrect amount of data written.
Anyway, this time I tested it using blocking and non-blocking I/O and it works
for both cases. Even better, this patch only changes the behaviour for
non-blocking I/O, and keeps the same behaviour for the more usual blocking I/O
(at least on kernel 2.6).
<dtor_core@ameritech.net>
Input: when disconnecting PS/2 mouse give protocol's disconnect
handler chance to run before starting ignoring mouse data.
Otherwise interrupt handler will discard all ACKs and the
very first command in cleanup sequence will fail (Synaptics
was failing to return to relative mode on module unload).
<dtor_core@ameritech.net>
Input: do a full reset of Synaptics touchpad if extended protocol
probes failed, otherwise trackpoint on the pass-through port
may stop working (reset-disable isn't enough to revive it)
<dtor_core@ameritech.net>
Input: if Synaptics' absolute mode is disabled make sure that
touchpad is reset back to relative mode and gestures
(taps) are enabled
<david-b@pacbell.net>
[PATCH] USB Gadget: add "gadget_chips.h"
This adds standard gadget_is_*() calls. Gadget drivers using
those calls can get rid of some inlined #ifdefs, and will also
be able to do more "late binding" to their hardware.
Define gadget_is_*() calls, to help do late binding to USB controllers.
Current gadget drivers expect to know at compile time what hardware
they'll bind to. That's not very friendly to a generic PDA distro,
which might prefer to defer such choices to run time.
These macros let drivers change that code from inlined #ifdefs (ugh) to
normal C statements (looks much nicer), so making those "what hardware"
policy choices at run time gets easier.
<oliver@neukum.org>
input: fixes in wacom.c
-use GFP_KERNEL where SLAB_ATOMIC is not needed
-fix count bug in open() error path
<bjorn.helgaas@hp.com>
[PATCH] ia64: clean up ACPI GSI/IRQ conversions (ia64 part)
Add "acpi_gsi_to_irq()" as a generic replacement for "acpi_irq_to_vector()".
This converts from an ACPI global system interrupt number to a Linux IRQ.
Also, convert ia64-specific terminology to use GSI when appropriate.
<perex@suse.cz>
ALSA CVS update - Jaroslav Kysela <perex@suse.cz>
I2C cs8427
Don't reset chip when PCM rate was not changed
<perex@suse.cz>
ALSA CVS update - Jaroslav Kysela <perex@suse.cz>
Generic drivers
Clean the 'AUTO' checking
<perex@suse.cz>
ALSA CVS update - Takashi Iwai <tiwai@suse.de>
EMU10K1/EMU10K2 driver,Trident driver
fixed the mapping of silent pages on emu10k1 and trident SG buffers.
<perex@suse.cz>
ALSA CVS update - Takashi Iwai <tiwai@suse.de>
Memalloc module
fixed the compilation with sparc sbus support.
<perex@suse.cz>
ALSA CVS update - Jaroslav Kysela <perex@suse.cz>
GUS Extreme driver
<davej@redhat.com>
Whilst chasing an oops, I shortened some error paths.
<perex@suse.cz>
ALSA CVS update - Jaroslav Kysela <perex@suse.cz>
ALSA Core
<davej@redhat.com>
Try modprobing a driver that the hardware doesn't exist for.
In a few situations, you'll hit an oops due to proc_id not
being filled out that early.
<perex@suse.cz>
ALSA CVS update - Jaroslav Kysela <perex@suse.cz>
ES18xx driver,ES1688 driver,GUS Classic driver,GUS Extreme driver
GUS MAX driver,AMD InterWave driver,SB16/AWE driver,SB8 driver
<davej@redhat.com>
This is a *really* silly one. The various probing routines in these
drivers can return -ENODEV, -ENOMEM etc.. so when we do something like
cards += probe_routine()
In some situations we can end up with -13 sound cards, and other
such nonsense. Result : lots of fun oopses.
<perex@suse.cz>
ALSA CVS update - Jaroslav Kysela <perex@suse.cz>
ES968 driver
<davej@redhat.com>
This oopses on rmmod, as we do pnp_unregister_card_driver twice.
<perex@suse.cz>
ALSA CVS update - Jaroslav Kysela <perex@suse.cz>
DT019x driver,ES968 driver
<davej@redhat.com>
Miscellaneous junk, indentation fixes and the like.
<perex@suse.cz>
ALSA CVS update - Jaroslav Kysela <perex@suse.cz>
DT019x driver
Added missing pnp_unregister_card_driver call
<perex@suse.cz>
ALSA CVS update - Jaroslav Kysela <perex@suse.cz>
GUS Extreme driver
Fixed typo
<perex@suse.cz>
ALSA CVS update - Jaroslav Kysela <perex@suse.cz>
ES968 driver
Fix against Dave's fix: put back the behaviour common to all ISA PnP modules
<jsm@udlkern.fc.hp.com>
yia64: Fix show_mem() panic
<mort@wildopensource.com>
[PATCH] ia64: Update SN2 defconfig
<pfg@sgi.com>
[PATCH] ia64: fix missing braces in SN2 console code
The last mod to fix the staircase printing - missed some bracing...
<bjorn.helgaas@hp.com>
[PATCH] ia64: move consistent_dma_mask to the generic device
The patch that moved and renamed consistent_dma_mask neglected
to fix up arch/ia64/hp/common/sba_iommu.c.
<jbarnes@sgi.com>
[PATCH] ia64: kill CONFIG_IA64_MCA
The MCA code is now slim enough that there isn't much point in keeping
CONFIG_IA64_MCA anymore.
<davidm@tiger.hpl.hp.com>
ia64: Forward-port hp-agp.c fix from 2.4
See this ChangeSet:
http://lia64.bkbits.net:8080/linux-ia64-2.4/cset@40524248tkgE0RDYQL0IyiAdFxo_Ew
<bjorn.helgaas@hp.com>
[PATCH] ia64: update ia64/Kconfig
This Kconfig patch basically just makes ia64 look a little more like i386:
- moves system type above processor type
- moves PM & ACPI to a new top-level menu
- moves PCI/PCMCIA to a new top-level menu
<hch@lst.de>
[PATCH] ia64: update simscsi to 2.6 scsi APIs
Use the proper (and cleaner) probing API instead of the old
scsi_module.c hack, don't use the typedefs I plan to kill in 2.7 and
mark everything static
<davidm@tiger.hpl.hp.com>
ia64: Based on patch by Keith Owens: put stop bit to work around GCC problem.
Apparently GCC sometimes fails to insert a stop-bit when re-using p14
after the spinlock directives, even though the register is clearly marked
as "clobbered".
<kaos@sgi.com>
[PATCH] ia64: Decode salinfo oemdata for SN2 via PROM
SN2 platforms provide oemdata in salinfo records. The decode of that
oemdata is done via prom routines. This patch provides the interface
from user space through the kernel into the prom to do the oem decode.
<jgarzik@redhat.com>
[libata] bump libata and sata_sil driver versions
<davidm@tiger.hpl.hp.com>
ia64: Update defconfig
<benh@kernel.crashing.org>
[PATCH] g5: Fix iommu vs. pci_device_to_OF_node
The g5 iommu code would fill the "iommu_table" member of whatever
device node was pointed to by pcidev->sysdata during boot. However,
the ppc64 kernel fills that with a pointer to the PHB node which is
later replaced "lazily" with a pointer to the real node when calling
pci_device_to_OF_node(). In this case, we were thus "losign" the
iommu_table pointer. Typical symptom: loss of the SATA when looking
at it's /proc entry.
This fixes it by forcing the update to the final sysdata pointer
when filling up the iommu_table pointers. The "lazy" thing is useless
on pmac anyway.
<akpm@osdl.org>
[PATCH] Fix early parallel make failures
From: Sam Ravnborg <sam@ravnborg.org>
Ingo said:
Starting at around 2.6.4-rc2-mm1, I keep seeing 'scripts/fixdep: Text
file busy' messages when doing a -j10 bzImage build - which seems to
suggest that by the time fixdep is used by the build system it's not
built yet.
Sam said:
I was pretty sure it was something I had caused, so I gave it a spin. What
actually happened was that we tried to build the target 'silentoldconfig'
in parrallel with 'scripts'. Since 'silentoldconfig' started a new make
and then the config target needed 'scripts' we saw two parallel runs.
The way I decided to fix it was to split scripts/ in two parts. The first
part is now the very basic stuff - moved to scripts/basic/. The second
part is dependent on kernel config etc. and kept in scripts/
In the 2.7 timeframe i will redo this initial stuff - it's becoming too
messy for anyone to understand today.
Description:
Fix dependencies in early phases of kernel build. This solves a few
problems nively: modpost is no longer rebuild twicewhen reaching the
'target' state 'make -j10' now works nicely again
The patch is rather large due to the following file moves:
mkdir scripts/basic
mv scripts/fixdep.c scripts/basic
mv scripts/split-include.c scripts/basic
mv scripts/docproc.c scripts/basic
<akpm@osdl.org>
[PATCH] Save some memory in mem_map on x86-64
From: Andi Kleen <ak@suse.de>
This patch saves 2MB of memory on a 1GB x86-64 machine, 20MB on a 10GB
machine. It does this by eliminating 8 bytes of useless padding in struct
page.
This resurrects an older patch in a hopefully cleaner form.
<akpm@osdl.org>
[PATCH] ppc32 compile fix
From: Tom Rini <trini@kernel.crashing.org>
The problem is that on PPC32 (and probably sparc64) 'asmlinkage' is a
useless keyword, and should just be removed from include/asm-ppc/unistd.h.
<akpm@osdl.org>
[PATCH] s390: update for altered page_state structure
From: Gerald Schaefer <gerald.schaefer@gmx.net>
Update s390 to track the new fields in struct page_state.
<akpm@osdl.org>
[PATCH] selinux: Conditional policy extension and MLS detection support
From: Stephen Smalley <sds@epoch.ncsc.mil>
This patch extends the SELinux policy engine to support conditional policy
logic based on a set of policy booleans, allowing well-formed changes to
the policy to be defined within and mediated by the policy itself.
The conditional policy extensions were implemented and contributed by
Tresys Technology.
Userland packages that support these extensions are already available from
nsa.gov/selinux, and backward compatibility is provided for the prior
policy version.
The patch also includes a small change to enable detection of the optional
MLS policy model on a SELinux system and fixes to the conditional policy
extensions to allow the MLS policy to work correctly with them that were
implemented and contributed by Trusted Computer Solutions.
<akpm@osdl.org>
[PATCH] ide-scsi error handling fixes
From: Willem Riede <wrlk@riede.org>
The patch revises the error handling in ide-scsi, fixing the scheduling
while locked issues, and make it work properly, at least for me...
Specific changes in this patch:
- introduce idescsi_expiry, a timeout routine for the ide subsystem,
which simply flags the fact that the command timed out, but postpones
any other action until either the command still finishes on its own
(unlikely?) or the scsi error handler kicks in;
- introduce idescsi_atapi_error and idescsi_atapi_abort, error routines
for the ide subsystem, which are modeled after those of ide-cd, but
take only minimal effort to recover, leaving the heavy lifting for
the scsi error handler;
- rewrite (and rename for clarity) idescsi_eh_abort and idescsi_eh_error,
the abort/error routines to be called by the scsi error handler --
this redesign should not have the scheduling while atomic problems
of the old implementation.
- move ide_cdrom_dump_status() from ide-cd.c to ide-lib.c as
ide_dump_atapi_status() and both ide-cd and ide-scsi call it.
- replaces BUG() by WARN_ON()/printk in the error handling code.
- sets TASK_UNINTERRUPTIBLE before schedule_timeout() and moves the host
unlock/lock around the while loop inside the loop in idescsi_eh_reset().
<akpm@osdl.org>
[PATCH] drivers_cdrom_cm206.c check_region() fix
From: Trivial Patch Monkey <trivial@rustcorp.com.au>
From: Omkhar Arasaratnam <omkhar@rogers.com>
check_region() fix
<akpm@osdl.org>
[PATCH] ACPI: document acpi_sleep option
From: Trivial Patch Monkey <trivial@rustcorp.com.au>
From: Pavel Machek <pavel@ucw.cz>
acpi_sleep option should be documented.
<akpm@osdl.org>
[PATCH] Document tricks to get S3_swsusp working
From: Trivial Patch Monkey <trivial@rustcorp.com.au>
From: Pavel Machek <pavel@ucw.cz>
I was sending this to users that had problems with swsusp, then lost it. It
would be nice to have it directly in the tree.
<akpm@osdl.org>
[PATCH] drivers_cdrom_sjcd.c check_region() fix
From: Trivial Patch Monkey <trivial@rustcorp.com.au>
From: Omkhar Arasaratnam <omkhar@rogers.com>
<akpm@osdl.org>
[PATCH] rename one of the acpi_disable() instances
From: Trivial Patch Monkey <trivial@rustcorp.com.au>
From: Pavel Machek <pavel@ucw.cz>
There's acpi_disable somewhere in the acpi interpreter (it disables
interrupts, iirc). Thus blacklisting function needs better name.
<akpm@osdl.org>
[PATCH] filemap.c comment fix
From: Trivial Patch Monkey <trivial@rustcorp.com.au>
From: Carl Spalletta <ioanamitu@yahoo.com>
<akpm@osdl.org>
[PATCH] fix for kallsyms module symbol resolution problem
From: Rusty Russell <rusty@rustcorp.com.au>
Fix a problem with kallsyms being unable to look up symbols which are in
modules.
add_kallsyms should be above module_finalize, which means you can just use
the mod->symtab and mod->strtab members.
<akpm@osdl.org>
[PATCH] Fix scripts/ver_linux
From: Trivial Patch Monkey <trivial@rustcorp.com.au>
From: Thomas Molina <tmolina@cablespeed.com>
ver_linux hasn't displayed binutils version right for some time. This patch
corrects that and preserves the old behaviour as well, as suggested by Rusty.
<akpm@osdl.org>
[PATCH] chardev module aliases
From: Trivial Patch Monkey <trivial@rustcorp.com.au>
From: Steve Youngs <sryoungs@bigpond.net.au> Add module aliases for 21285,
amba, anakin, clps711x, mux, and sa1100 serial drivers.
<akpm@osdl.org>
[PATCH] minor credits updates
From: Trivial Patch Monkey <trivial@rustcorp.com.au>
From: andersen@codepoet.org
I've moved... This patch updates my contact info.
<akpm@osdl.org>
[PATCH] Fix comment in drivers/block/genhd.c
From: Trivial Patch Monkey <trivial@rustcorp.com.au>
From: a.othieno@bluewin.ch (Arthur Othieno)
add_gendisk() was replaced with add_disk(), but the comment suggests
otherwise. Breaks `make *docs'.
<akpm@osdl.org>
[PATCH] add warning to DocBook/Makefile
From: Trivial Patch Monkey <trivial@rustcorp.com.au>
From: maximilian attems <janitor@sternwelten.at>
Print something friendlier than:
/bin/sh: fig2dev: command not found
make[1]: *** [Documentation/DocBook/parport-share.eps] Error 127
make: *** [pdfdocs] Error 2
<akpm@osdl.org>
[PATCH] drivers_cdrom_cdu31c.c check_region() fix
From: <viro@parcelfarce.linux.theplanet.co.uk>
check_region() fixes.
<akpm@osdl.org>
[PATCH] move PCIBIOS access help text
From: "Randy.Dunlap" <rddunlap@osdl.org>
Moves PCI BIOS Access Mode help text to its top level instead of under
PCI_GOBIOS (which is only 1 of 4 possible choices).
<akpm@osdl.org>
[PATCH] fix modular fb drivers
From: Arnd Bergmann <arnd@arndb.de>
The recent "fbdev: monitor detection fixes" patch broke modular frame
buffer drivers.
<akpm@osdl.org>
[PATCH] kbuild: fix modpost when used with O=
From: Sam Ravnborg <sam@ravnborg.org>
modpost or to be more specific sumversion.c was not behaving correct when
used with O= and MODULE_VERSION was used. Previously it failed to use
local .h when calculation the md-sum in case of a O= build.
The following patch introduces the following:
- A generic get_next_line()
- Check that the topmost part of the directory matches
- Using strrch when checking for file with suffix .o
- Use NOFAIL for allocations in sumversion
- Avoid memory leak in new_module
The generic get_next_line will pay off when Andreas implmentation of
storing symbol addresses in a seperate file is introduced.
<akpm@osdl.org>
[PATCH] selinux: fix compute_av bug
From: Stephen Smalley <sds@epoch.ncsc.mil>
This patch fixes a bug in the SELinux compute_av code; the current code
yields the right access computation but can cause unnecessary (but
harmless) processing to occur when transition permission wasn't granted in
the first place by the TE configuration. Thanks to Chad Hanson of TCS for
reporting the bug.
<akpm@osdl.org>
[PATCH] flush_scheduled_work() deadlock fix
Because keventd is a resource which is shared between unrelated parts of the
kernel it is possible for one person's workqueue handler to accidentally call
another person's flush_scheduled_work(). thockin managed it by calling
mntput() from a workqueue handler. It deadlocks.
It's simple enough to fix: teach flush_scheduled_work() to go direct when it
discovers that the calling thread is the one which should be running the
work.
Note that this can cause recursion. The depth of that recursion is equal to
the number of currently-queued works which themselves want to call
flush_scheduled_work(). If this ever exceeds three I'll eat my hat.
<akpm@osdl.org>
[PATCH] flush_workqueue(): detect excessive nesting
Add a debug check for workqueues nested more than three deep via the
direct-run-workqueue() path.
<akpm@osdl.org>
[PATCH] page_referenced() simplification
There's no point in calling mark_page_accessed() here. The page is never on
the LRU so all mark_page_accessed() will do is to set PG_referenced, which we
immediately clear again.
<akpm@osdl.org>
[PATCH] fbdev: character drawing enhancement.
From: James Simmons <jsimmons@infradead.org>
This patch merges two of the drawing functions. The patch uses aligned
transfers when possible even on displays where the characters are not byte
align. Tested on my my laptop for 12 bit width fonts and 8 bit wide fonts.
It works very nicely.
<akpm@osdl.org>
[PATCH] kernel-doc build fix
From: Michael Still <mikal@stillhq.com>
This is needed to get any of the SGML documentation to build with 2.6.4.
<akpm@osdl.org>
[PATCH] reiserfs: fix null pointer deref
From: Chris Mason <mason@suse.com>
From: Jeff Mahoney <jeffm@suse.de>
fsstress manages to setup a sequence of events that allow an attempt to
perform direct-io on a tail. bh_result->b_page == NULL, which causes the
PageLocked and PageWriteback checks to perform a NULL deref, causing the
oops.
<akpm@osdl.org>
[PATCH] resierfs: scheduling latency improvements
From: Chris Mason <mason@suse.com>
Add conditional schedules to reiserfs to help lower latencies. Bits of
this orginated long ago in code akpm sent me.
<akpm@osdl.org>
[PATCH] reiserfs: search_by_key fix
From: Chris Mason <mason@suse.com>
Fix a bug in reiserfs search_by_key call, where it might not properly
detect a change in tree height during a schedule. Originally from
vs@namesys.com
<akpm@osdl.org>
[PATCH] reiserfs: fix transaction sizes
From: Chris Mason <mason@suse.com>
Make sure reiserfs uses a reasonable number when restarting long unbounded
transactions (creating holes or deleting files).
Without this patch, the number of blocks requested grows with each
transaction restart, until it hits MAX_BATCH_COUNT and starts forcing
commits with every new transaction.
Oleg Drokin tracked this bug down
<akpm@osdl.org>
[PATCH] reiserfs: atomicity fix
From: Chris Mason <mason@suse.com>
reiserfs_file_write() can use stale metadata after a schedule.
Two reiserfs_file_write bugs, where items can change during a schedule.
<akpm@osdl.org>
[PATCH] resierfs: AIO support
From: Chris Mason <mason@suse.com>
reiserfs can safely use the generic fs aio functions.
<akpm@osdl.org>
[PATCH] do_write_mem() return value check
From: BlaisorBlade <blaisorblade_spam@yahoo.it>, and me
- remove unused `file *' arg from do_write_mem()
- Add checking for copy_from_user() failures in do_write_mem()
- Return correct value from kmem writes() when a fault is encountered. A
write()-style syscall's return values are:
0 when nothing was written and there was no error (someone tried to
write zero bytes)
>0: the number of bytes copied, whether or not there was an error.
Userspace detects errors by noting that the write() return value is less
than was requested.
<0: there was an error and no bytes were copied
<akpm@osdl.org>
[PATCH] document unchecked do_munmaps in ipc/shm.c
From: Manfred Spraul <manfred@colorfullife.com>
There are a few unchecked do_munmap()s in the shm code. Manfred's comment
explains why they are OK.
<akpm@osdl.org>
[PATCH] slab: fix display of object length in corruption detector
From: Manfred Spraul <manfred@colorfullife.com>
print_objinfo() dumps the first few characters of an interesting object for
debugging. It used the wrong object len (including debug padding, instead
of just the data area), which could cause an oops if DEBUG_PAGEALLOC is
enabled.
<akpm@osdl.org>
[PATCH] kthreads hold files open
keventd and friends are currently holding /dev/console open three times.
It's all inherited from init.
Steal the relevant parts of daemonize() to fix that up.
<akpm@osdl.org>
[PATCH] kill INIT_THREAD_SIZE
From: Matt Mackall <mpm@selenic.com>
This piece of the THREAD_SIZE cleanup got dropped. If you make THREAD_SIZE
> 8k, the init thread overlaps the .init section and gets smashed. I've
gone ahead and killed INIT_THREAD_SIZE throughout as it wasn't doing much.
This also saves 4k when we use 4k stacks. Please apply. Couple more minor
pieces remaining.
<akpm@osdl.org>
[PATCH] blk: statically initialise the congestion waitqueue_heads
On a really small memory machine (or one with a monstrous kernel memory leak)
we can end up calling blk_congestion_wait() before the waitqueue_heads are set
up.
<akpm@osdl.org>
[PATCH] iostats averaging fix
From: Rick Lindsley <ricklind@us.ibm.com>
Fix bug #2230.
I've corresponded with the submitter and he did find a real bug -- when we
were merging I/O requests we didn't always take the oldest request start
time, which would cause a couple of the calculations like wait time and
average queue size to be too small. He found it mathematically but having
done so, I think logic and inspection makes it easy to verify.
<akpm@osdl.org>
[PATCH] Reduce stack overflow check to 4096 bytes
From: Anton Blanchard <anton@samba.org>
Reduce stack overflow check to 4096 bytes free, we were tripping it
too much at 8192.
<akpm@osdl.org>
[PATCH] Remove bogus sys_oldumount sign extension code
From: Anton Blanchard <anton@samba.org>
Remove bogus sys_oldumount sign extension code. We were sign extending
the flags argument which doesnt make sense.
<akpm@osdl.org>
[PATCH] Remove some unused ppc64 variables
From: Anton Blanchard <anton@samba.org>
Remove some unused ppc64 variables
<akpm@osdl.org>
[PATCH] Make dma API handle PCI and VIO
From: Stephen Rothwell <sfr@canb.auug.org.au>
Make dma API handle PCI and VIO
<akpm@osdl.org>
[PATCH] Add hypervisor busy return codes
From: Dave Boutcher <boutcher@us.ibm.com>
Add hypervisor busy return codes
<akpm@osdl.org>
[PATCH] Handle longbusy return codes in IBM VETH driver
From: Santiago Leon <santil@us.ibm.com>
Handle longbusy return codes in IBM VETH driver
<akpm@osdl.org>
[PATCH] Add some missing EXPORT_SYMBOLs
From: Anton Blanchard <anton@samba.org>
Add some missing EXPORT_SYMBOLs
<akpm@osdl.org>
[PATCH] Fix for hotplug of multifunction cards.
From: Linda Xie <lxiep@us.ibm.com>
The changes in this patch are for multifunction cards insertions/removals
and bug fixes:
1. fix up new nodes' linux_phandle field.
2. new nodes' phb, devfn(and so on) need to be fixed even the nodes don't
have "interrupts".
3. change of_remove_node to non-recurisve func. The recursions will be done
by the caller.
4. add a new function -- of_finish_dynamic_node_interrupts()
<akpm@osdl.org>
[PATCH] Fix multiple EEH-related bugs
From: Linas Vepstas <linas@austin.ibm.com>
This patch fixes multiple EEH-related bugs:
- Fixes the eeh_check_failure() usage in an interrupt context.
This routine is now safe to use in an interrupt. The fix was to
build a cache of IO addresses and check that, instead of using
the pci routines.
- Merges in Olof Johansson's sizeof patch when checking for failure
- Adds EEH tests to array/string reads
- Fixes bugs with address resolution (some i/o addresses were handled
incorrectly, resulting in EEH errors slipping by undetected.)
- Adds EEH support to the PCI Hotplug system (so that devices that
get added/removed get properly registered with the EEH subsystem.)
- Fixes improper use of /proc filesystem.
- Adds some misc statistics.
While merging Linas' patch I also converted the proc usage to
seq_single, used per cpu variables for the stats and removed the
eeh-force-off option.
<akpm@osdl.org>
[PATCH] Fix xics IRQ affinity
From: Anton Blanchard <anton@samba.org>
- Merge some whitespace differences with the ameslab tree
- We check for CPU_MASK_ALL in xics to send irqs to all cpus.
In some cases CPU_MASK_ALL is smaller than the cpumask (eg
NR_CPUS == 32 and cpumask is a long), so we mask it here to
be consistent.
<akpm@osdl.org>
[PATCH] Add some functions to make vio.h consistant with pci_dma.h and dma_mapping.h
From: Dave Boutcher <boutcher@us.ibm.com>
Add some functions to make vio.h consistant with pci_dma.h and dma_mapping.h
<akpm@osdl.org>
[PATCH] Move iSeries specific EXPORT_SYMBOLs out of ppc_ksyms.c
From: Stephen Rothwell <sfr@canb.auug.org.au>
After this the only iSeries specific EXPORT_SYMBOLS in ppc_ksyms.c are
the assembler ones ...
<akpm@osdl.org>
[PATCH] update iseries default target
From: Anton Blanchard <anton@samba.org>
update iseries default target
<akpm@osdl.org>
[PATCH] Export find_next_bit
From: Anton Blanchard <anton@samba.org>
- export find_next_bit and move the other exports here
- fix a few minor style issues
<akpm@osdl.org>
[PATCH] Add slow path lookup in xics_get_irq
From: Jake Moilanen <moilanen@austin.ibm.com>
In xics_get_irq(), for a real-to-virt irq lookup, go down the
slowpath by looking through the entire virt_irq_to_real_map array
if take a miss on the radix tree. This is possible, when an
interrupt is taken before the driver has called request_irq() (eg IDE).
<akpm@osdl.org>
[PATCH] Dont enable interrupts during interrupt processing on iseries
From: Stephen Rothwell <sfr@canb.auug.org.au>
Dont enable interrupts during interrupt processing on iseries
<akpm@osdl.org>
[PATCH] Remove pci DMA exports
From: Anton Blanchard <anton@samba.org>
Remove pci DMA exports we now access them via inline functions that
operate on pci_dma_ops.
<akpm@osdl.org>
[PATCH] Added rtas_set_power_level()
From: John Rose <johnrose@austin.ibm.com>
Added rtas_set_power_level()
<akpm@osdl.org>
[PATCH] Fixed NULL ptr deref in RTAS syscall ppc_rtas()
From: John Rose <johnrose@austin.ibm.com>
Fixed NULL ptr deref in RTAS syscall ppc_rtas()
<akpm@osdl.org>
[PATCH] Add kernel version to oops.
From: Anton Blanchard <anton@samba.org>
Add kernel version to oops.
<akpm@osdl.org>
[PATCH] Cleanup ppc64 procfs code
From: Anton Blanchard <anton@samba.org>
Cleanup ppc64 procfs code:
- Use initcalls everywhere. This allowed us to remove the iseries proc
callback interface.
- Kill proc_pmc.c. Most of it wasnt used (and we are planning to export the
PMCs via sysfs). The few things left were iseries specific so they
got moved into iSeries_proc.c.
- Kill pmc.c. We dont use those statistics and the ones that are left
can be gained via PMCs.
- Create /proc/iSeries and /proc/ppc64 very early. This means we no
longer have to call proc_ppc64_init in all the drivers, we can
assume its there.
- Fix some error return cases in rtas-proc.c and rtas-flash
- Dont even try some pseries specific drivers on pmac.
<akpm@osdl.org>
[PATCH] Clean up xmon backtrace code.
From: Anton Blanchard <anton@samba.org>
Clean up xmon backtrace code, it was doing all manner of scary things.
<akpm@osdl.org>
[PATCH] Fix hvc console sleep in spinlock bug
From: Jeremy Kerr <jk@ozlabs.org>
This patch fixes the sleep in spinlock hvc bug in hvc_write().
The code is a little longer, but protects against large amounts of memory
being kmalloc()ed by userspace, and minimises calls to copy_from_user().
<akpm@osdl.org>
[PATCH] ppc64 defconfig update
From: Anton Blanchard <anton@samba.org>
ppc64 defconfig update
<akpm@osdl.org>
[PATCH] ppc64: fix for massive OF properties
From: Anton Blanchard <anton@samba.org>
We have some versions of firmware out there that have huge OF properties.
So huge that we end up overwriting our initrd.
Place a 1MB limit and warn bitterly if its over this. Also fix a use of
package-to-path where the variable was 64bytes but we would pass in a
length of 255.
<axboe@suse.de>
[PATCH] allow random write to cdrom devices with profile 2 (removable disk)
This patch is from Iomega, and it allows random write opens of CDROM's
that support the feature.
<jgarzik@redhat.com>
[blk carmel] add copyright statement and license mention
<bjorn_helgaas@hp.com>
[PATCH] ia64: fix up DMA API breakage in generic build
We also need the following patch to build the generic_defconfig
after the DMA API change:
http://linux.bkbits.net:8080/linux-2.5/cset@405490e15inT3T0H2x887j9SaMkYRQ
<greg@kroah.com>
[PATCH] USB: replace kobject with kref in usb-serial core.
This saves some memory and is easier to understand what is happening.
<ahaas@airmail.net>
[IPVS]: Add C99 initializers to ip_vs_ctl.c
<ahaas@airmail.net>
[IPVS]: Add C99 initializers to net/ipv4/ipvs/ip_vs_lblc.c
<ahaas@airmail.net>
[IPVS]: Add C99 initializers to net/ipv4/ipvs/ip_vs_lblcr.c
<shaggy@austin.ibm.com>
JFS: zero new log pages, etc.
<jgarzik@redhat.com>
[netdrvr natsemi] Fix RX DMA mapping
RX skbs are always considered maximally sized, until actual reception
of the RX frame occurs. So, update this driver to always map and
unmap a maximally sized skb. This fixes this driver on several
non-x86 platforms.
<scott.feldman@intel.com>
[PATCH] update e100.txt
* e100.txt needs to refer to the v3 driver and its settings.
Spotted by Calum Mackay [calum.mackay@cdmnet.org]
<mpm@selenic.com>
[PATCH] fix netpoll warning in tulip
On Tue, Mar 16, 2004 at 12:36:02PM +0200, Meelis Roos wrote:
> FYI: with netpoll configured out, I get
>
> CC [M] drivers/net/tulip/tulip_core.o
> drivers/net/tulip/tulip_core.c:256: warning: `poll_tulip' declared `static' but never defined
<torvalds@ppc970.osdl.org>
Remove bogus linux/irq.h include that fails build on ARM.
Verified to not break anything on x86 either.
<jgarzik@redhat.com>
[blk carmel] call del_gendisk(), if disk is 'up', at cleanup time
<ralf@linux-mips.org>
[hamradio 6pack] cleanup
<katzj@redhat.com>
[PATCH] Fix blkpg ioctl32 handling
Simple obvious patch so that all calls to blkpg from the non-native
environment don't get -EINVAL
<rusty@rustcorp.com.au>
[PATCH] wait_task_inactive should not return on preempt
wait_task_inactive is now only used in two non-time-critical places: the
ptrace code to guarantee a schedule and kthread_bind so we can change
the thread CPU. Unfortunately with preempt, the code as stands has a
race: we might return because the thread is preempted, not because it
actually reached schedule(). The ptrace code (probably) doesn't care,
but the kthread code does.
This patch simplifies the (now over-optimized) code, and does a yield()
for the preemption case.
<B.Zolnierkiewicz@elka.pw.edu.pl>
[PATCH] ide-scsi.c: fix ATAPI multi-lun support
ATAPI multi-lun support has been broken for a long time.
It used to be that "(drive->id->last_id & 0x7) + 1" was used as
shost->max_lun and the "hdXlun=" kernel parameter could be used to
override this value.
However it was far from optimal:
- people played with "hdXlun=" and then complained about multiple instances
of the same device (most ATAPI drives respond to each LUN)
- probably some devices return 7 not 0 in id->last_id (=> 7 x same device)
This patch from Willem Riede <wrlk@riede.org> fixes it w/o need
for "hdXlun=" option. It was tested by Willem on ATAPI PD/CD drive.
<B.Zolnierkiewicz@elka.pw.edu.pl>
[PATCH] remove dead "hdXlun=" kernel parameter
<B.Zolnierkiewicz@elka.pw.edu.pl>
[PATCH] ATI IXP IDE support
It was tested by a few people and has been in -mm since 2.6.4-rc2-mm1.
<B.Zolnierkiewicz@elka.pw.edu.pl>
[PATCH] hpt366.c: DMA timeout fix for HPT374
From: Andre Hedrick <andre@linux-ide.org>
Tested on Epox 8K9A3+ and 4PCA3+ by Tomi Orava <Tomi.Orava@ncircle.nullnet.fi>.
<anton@samba.org>
[PATCH] fix ppc rtas compile
The proc_rtas_init call in procfs was removed (replaced with an
initcall) but the prototype was still hiding. Kill it.
<jgarzik@redhat.com>
[libata sata_vsc] minor cleanup
Add ULL prefix to args in pci_*_set_dma_mask() calls.
<chyang@clusterfs.com>
[PATCH] Make intermezzo work again
- Chen Yang's fix to work with NGROUPS
- Chen Yang's fix to handle file deletion
- Remove TCGETS handling and return -ENOTTY for unknown ioctl code.
- Removed InterMezzo from BROKEN state
<ak@suse.de>
[PATCH] Fix memory corruption on hyperthreaded x86-64 machines
Fix memory corruption in the HT init on x86-64 recently introduced by me.
Fix from from Suresh B. Siddha.
<jgarzik@redhat.com>
[libata] Several updates to via driver
* remove unneeded linux/config.h include
* reset and test for device presence using SATA phy registers (SCRs)
* add code to make sure that channels and interrupts we are
interested in, are enabled
* rewrite PCI probe routine (svia_init_one)
<mcgrof@studorgs.rutgers.edu>
[wireless prism54] use netdev_priv() helper
<mcgrof@studorgs.rutgers.edu>
[wireless prism54] several minor updates
Here is the ChangeLog:
* wireless/Kconfig: fix typos, add SMC2835W-V2
* islpci_hotplug.c: new version 1.1, authors list, and
module description updated appropriately
* isl_ioctl.c, islpci_dev.c,
islpci_eth.c, islpci_hotplug.c, islpci_mgt.c:
s/ndev->priv/netdev_priv(ndev)/g
* islpci_hotplug.c: Add PCI ID values for SMC2835W-V2 cardbus card
Patch by Manuel Lauss <manuel.lauss@fh-hagenberg.at>
* isl_38xx.[ch]: include firmware.h in header, remove
declaration of headers in c file. Fix compiler warnings.
* islpci_dev.c (islpci_alloc_memory),
* islpci_eth.c (islpci_eth_cleanup_transmit,
islpci_eth_transmit, islpci_eth_receive): deal with skb stray
pointer, declare NULL.
* isl_38xx.c: remove unecessary __KERNEL_SYSCALLS__ and
re-ordered headers per vger.kernel.org - liking.
* isl_ioctl.c, islpci_mgt.c: move from MODULE_PARAM to the new
module_param, which is type-safe. Includes the new
<linux/moduleparam.h>.
* isl_ioctl.c (prism54_[s|g]et_[maxframeburst|profile]): added.
Not adding ioctls as ajfa is working on moving current private ioctls
to subioctls.
* isl_oid.h (dot11_[maxframeburst|preamblesettings|
slotsettings|nonerpstatus|nonerpprotection]_t): added.
Note: more ioctls can be added here, I believe problems
with mixed modes can be pinpointed here, with these values.
<akpm@osdl.org>
[PATCH] ppc32: Fix c&p error in arch/ppc/syslib/indirect_pci.c
From: Tom Rini <trini@kernel.crashing.org>
Fix a cut & paste error in forward porting from 2.4, we don't reference
dev->bus or dev->devfn, both are passed as arguments.
<akpm@osdl.org>
[PATCH] ppc32: Fix PCI DMA API changes
From: Tom Rini <trini@kernel.crashing.org>
When Dave Miller updated <asm-ppc/pci.h> for the _for_device and _for_cpu
portions of the PCI DMA API, he assumed that on PPC32 consistent_sync*
would also need to be changed for device or cpu. This is not the case, so
what this does is the pci_*_for_{cpu,device} calls call
consistent_sync{,page} again.
<akpm@osdl.org>
[PATCH] ppc32: Update <asm-ppc/dma-mapping.h>
From: Tom Rini <trini@kernel.crashing.org>
include/asm-ppc/dma-mapping.h was made to be a 'real' header recently and
therefore missed out on the updates that davem did to all of the other
versions. This updates <asm-ppc/dma-mapping.h> to match what's expected
now.
<akpm@osdl.org>
[PATCH] ppc32: Fix thinko in PCI_DMA_FOO to DMA_FOO conversion
From: Tom Rini <trini@kernel.crashing.org>
When I converted the use of PCI_DMA_foo constants to DMA_foo constants, I
forgot that it's PCI_DMA_FROMDEVICE and DMA_FROM_DEVICE. The following
fixes that.
<akpm@osdl.org>
[PATCH] ppc64: run bitops.c through Lindent
From: Anton Blanchard <anton@samba.org>
bitops.c was a bit of a mess wrt formatting so run it through Lindent. No
code changes.
<akpm@osdl.org>
[PATCH] s390: core
From: Martin Schwidefsky <schwidefsky@de.ibm.com>
s390 core changes:
- Merge 31 and 64 bit NR_CPUS config option. Default to 32 cpus.
- Remove unused system calls from compat_linux.c.
- Add statfs64 and fstatfs64. Reserve system call number for
remap_file_pages.
- Merge do_signal32 into do_signal.
- Don't remove the per bit and the program mask from the user psw
due to a signal.
- Fix a problem with gdb and interrupted system calls.
- Fix single stepping of interrupted system calls.
- Fix compiler warnings in bitops.h.
<akpm@osdl.org>
[PATCH] s390: common i/o layer.
From: Martin Schwidefsky <schwidefsky@de.ibm.com>
Common i/o layer fixes:
- Improve blacklist argument parsing.
- Fix device recognition for devices where SenseID fails.
- Don't try to set a device online that has no driver.
- Chain a release ccw to the unconditional reserve ccw for forced online.
- Fix irb accumulation for pure status pending with eswf set.
- Fix rc handling in qdio_shutdown.
- Improve retry behavious for busy conditions on qdio.
- Fix activity check in ccw_device_start/read_dev_chars and read_conf_data.
<akpm@osdl.org>
[PATCH] s390: sclp fix.
From: Martin Schwidefsky <schwidefsky@de.ibm.com>
sclp console fixes:
- Replace irq_enter/irq_exit pair with Add local_bh_enable/local_bh_disable.
<akpm@osdl.org>
[PATCH] s390: network driver fixes.
From: Martin Schwidefsky <schwidefsky@de.ibm.com>
network driver fixes:
- Use SET_NETDEV_DEV to create the link from the network device to the
physical device. Remove link from physical to network device.
- Remove some unnecessary casts in netiucv.
- Add missing strings to dev_stat_names & dev_event_names.
- Add missing preempt_disable/preempt_enable pairs in iucv.
- Allow to change the peer username in netiucv.
<akpm@osdl.org>
[PATCH] s390: dasd driver fixes.
From: Martin Schwidefsky <schwidefsky@de.ibm.com>
dasd driver fixes:
- Remove additional dasd attributes for a ccw-device if the discipline
(=driver) gets unloaded.
- Fix race of dasd_generic_offline against dasd_open.
- Remove irq_exit calls from diag interrupt handler. The irq_enter/
irq_exit is done in the external interrupt handler.
<akpm@osdl.org>
[PATCH] s390: z/VM monitor stream.
From: Martin Schwidefsky <schwidefsky@de.ibm.com>
Fix for z/VM monitor stream:
- Add try_module_get and module_put to the [un]register functions.
- Some code beautification.
<akpm@osdl.org>
[PATCH] s390: tape driver fixes.
From: Martin Schwidefsky <schwidefsky@de.ibm.com>
tape driver fixes:
- Link from ccw device to class device in sysfs.
- Cosmetic changes.
- Add copyright statements.
<akpm@osdl.org>
[PATCH] x86 vsyscall alignment fix
From: Andy Whitcroft <andyw@uk.ibm.com>
The vsyscall implementation for ia32 provides two different vsyscall pages;
one to use int80 and the other to use sysenter. Each includes a common
signal trailer. The kernel requires the alignment of routines in this
trailer be consistent in both copies. However this is not enforced at
compile time. Failure to maintain this alignment typically leads to an
obscure SIGSEGV in init during boot. This critical alignment requirement
is not well documented.
Below is a patch to better document the alignment requirements and to
enforce the requirement.
<akpm@osdl.org>
[PATCH] make config_max_raw_devices work
From: "Kenneth Chen" <kenneth.w.chen@intel.com>
Even though there is a CONFIG_MAX_RAW_DEVS option, it doesn't actually
increase the number of raw devices beyond 256 because during the char
registration, it uses the standard register_chrdev() interface which has
hard coded 256 minor in it. Here is a patch that fix this problem by using
register_chrdev_region() and cdev_(init/add/del) functions.
<akpm@osdl.org>
[PATCH] hugetlb_zero_setup() race fix
Make the handling of the hugetlb-backed shm file's name counter SMP-safe.
(What stops hugetlb_zero_setup() racing with umount?)
<akpm@osdl.org>
[PATCH] clean up devices.txt
From: "Cagle, John (ISS-Houston)" <john.cagle@hp.com>
Patch 1 cleans up the format by making devices.txt easily parsable.
Mainly this involved adding the word "block" after all the block major
numbers since the previous format didn't include it.
<akpm@osdl.org>
[PATCH] devices.txt: typos and removal of dead devices
From: "Cagle, John (ISS-Houston)" <john.cagle@hp.com>
Patch 2 fixes some typos in devices.txt and removes ancient devices never
used. Pretty obvious stuff.
<akpm@osdl.org>
[PATCH] devices.txt: add more devices
From: "Cagle, John (ISS-Houston)" <john.cagle@hp.com>
Patch 3 adds all the new official device registrations that weren't already
there. This brings devices.txt up-to-date with LANANA.
<akpm@osdl.org>
[PATCH] cpqarray: increment version number
From: <mikem@beardog.cca.cpqcorp.net>
The following patch bumps the driver version to 2.6.0. Please apply in
order.
<akpm@osdl.org>
[PATCH] cpqarray: rmmod oops fix
From: <mikem@beardog.cca.cpqcorp.net>
* Fix for segmentation fault when calling rmmod
<akpm@osdl.org>
[PATCH] cpqarray: I/O address fixes
From: <mikem@beardog.cca.cpqcorp.net>
* cpqarray in kernel 2.6.1 seems to be based from 2.4.18 kernel with
specific 2.6.x stuff added.
* Defines io_mem_addr and io_mem_length to replace ioaddr (change from
2.4.18 to 2.4.19)
<akpm@osdl.org>
[PATCH] cpqarray: use PCI APIs
From: <mikem@beardog.cca.cpqcorp.net>
- Change to use pci APIs (change from 2.4.18 to 2.4.19)
This also includes eisa detection fix during initialization which was
missing from 2.4.19 but fixed in 2.4.25
<akpm@osdl.org>
[PATCH] cpqarray: check pci_register_driver() return value
From: <mikem@beardog.cca.cpqcorp.net>
* Examines rc of pci_register_driver and returns
<akpm@osdl.org>
[PATCH] SHMLBA compat task alignment fix
From: Arun Sharma <arun.sharma@intel.com>
The current Linux implementation of shmat() insists on SHMLBA alignment even
when shmflg & SHM_RND == 0. This is not consistent with the man pages and
the single UNIX spec, which require only a page-aligned address.
However, some architectures require a SHMLBA alignment for correctness in all
cases. Such architectures use __ARCH_FORCE_SHMLBA.
<akpm@osdl.org>
[PATCH] Remove old config options from defconfigs.
From: Dave Jones <davej@redhat.com>
These options are only ever referenced in the defconfigs of various archs
now.
<akpm@osdl.org>
[PATCH] Fix x86_64 compile warning in bad_page()
On x84_64, page->flags is no longer unsigned long.
<cieciwa@alpha.zarz.agh.edu.pl>
[PATCH] drivers/cdrom/cdu31a - wrong tmp_irq declaration
cdu31a.c needs tmp_irq outside of the block it is declared in. Move it
to the outer block.
<B.Zolnierkiewicz@elka.pw.edu.pl>
[PATCH] hpt366.c: PLL fix needed for some HPT374
From: Boehm Olaf <olaf.boehm@lanner.de>
From: Jindrich Makovicka <makovick@kmlinux.fjfi.cvut.cz>
Wider range for 33MHz timing and PLL setup for HPT374
(using the HPT370A timing table, as it is the same as
used in the "opensource" driver by HighPoint).
fixes bugzilla bugs #2209 and #2271
<B.Zolnierkiewicz@elka.pw.edu.pl>
[PATCH] remove ide_hwif_t->initializing
It's write-only these days.
<B.Zolnierkiewicz@elka.pw.edu.pl>
[PATCH] remove AMIGA/MAC hacks from IDE resource handling code
Nowadays buddha.c, gayle.c and macide.c handle resources themselves
(hwif->mmio == 2).
Acked by Geert.
<B.Zolnierkiewicz@elka.pw.edu.pl>
[PATCH] ide-dma.c: remove unused/obsoleted code for hwif->mmio == 1
All users of hwif->mmio correctly handle resources themselves
(hwif->mmio == 2) so remove ide_mmio_dma() and ide_release_mmio_dma().
<khc@pm.waw.pl>
[netdrvr de2104x] fix ifup/down and promise mode
The attached patch fixes the problem: de->macmode variable,
meant to shadow MacMode (CSR6) register, was used inconsistently,
causing some updates to this register to be dropped.
2.4 kernel doesn't shadow this register at all, so I removed
shadowing from 2.6 as well.
<davidm@tiger.hpl.hp.com>
ia64: Prevent GCC from clobbering r13. Found by Luming You.
Without this change, GCC thinks it's OK to clobber r13. It doesn't do it
very often, but it's enough if it does it once and it turns out
acpi_bus_receive_event() had code that would trigger this issue.
Fix by declaring r13 as a global register variable.
<jgarzik@redhat.com>
[netdrvr de2104x] initialize bus mode properly
<brazilnut@us.ibm.com>
[PATCH] back out netdev_priv() for loopback
Please apply this fix to backout an erroneous change in loopback.c
The statistics structure is allocated separately from the
loopback_dev structure, and the current code overwrites something
other than the statistics. In my case the scsi_cmd_pool structure.
<akpm@osdl.org>
[PATCH] ppc32: fix SMP build
From: Olaf Hering <olh@suse.de>
Current Linus tree adds an extra space and dot to the mkprep options.
`make all' with an smp config doesnt work. This patch fixes it.
<akpm@osdl.org>
[PATCH] ppc32: Fix booting some IBM PRePs
From: Tom Rini <trini@kernel.crashing.org>
The following patch comes from Paul Mackerras. Earlier on in 2.6,
arch/ppc/boot/utils/mkprep.c was changed slightly so that it would build
and work on Solaris. Doing this required changing from filling out
pointers to an area to filling out a local copy of the struct. However, a
memcpy was left out, and the info is only needed on some machines to boot.
The following adds in the missing memcpy and allows for IBM PRePs to boot
from a raw floppy again.
<akpm@osdl.org>
[PATCH] ppc64: wrap some stuff in __KERNEL__
From: Anton Blanchard <anton@samba.org>
- remove now unused kernel syscalls.
- wrap recently added defines in #ifdef __KERNEL__, fixes glibc
compile issue
- some of our extra syscalls used asmlinkage, some did not. Make them
consistent
<akpm@osdl.org>
[PATCH] ppc64: xmon oops-the-kernel option
From: Anton Blanchard <anton@samba.org>
Sometimes we just want to pass the error up to the kernel and let it oops.
X it is.
<akpm@osdl.org>
[PATCH] ppc64: CONFIG_PREEMPT Kconfig help fix
From: Anton Blanchard <anton@samba.org>
From: Robert Love <rml@ximian.com>
arch/ppc64/Kconfig's entry for CONFIG_PREEMPT is missing the description
after the "bool" statement, so the entry does not show up.
Also, the help description mentions a restriction that is not [any longer]
true.
<akpm@osdl.org>
[PATCH] JBD: avoid panic on corrupted journal superblock
Don't panic if the journal superblock is wrecked: just fail the mount.
<akpm@osdl.org>
[PATCH] exportfs - Remove unnecessary locking from find_exported_dentry()
From: "Jose R. Santos" <jrsantos@austin.ibm.com>
After discussing it with Neil, he fell that the original justification for
taking the kernel_lock on find_exported_dentry() is not longer valid and
should be safe to remove.
This patch fixes an issue while running SpecSFS where under memory
pressure, shrinking dcache cause find_exported_dentry() to allocate
disconnected dentries that later needed to be properly connected. The
connecting part of the code was done with BKL taken which cause a sharp
drop in performance during iterations and profiles showing 75% time spent
on find_exported_dentry(). After applying the patch, time spent on the
function is reduce to <1%.
I have tested this on an 8-way machine with 56 filesystems for several days
now with no problems using ext2, ext3, xfs and jfs.
<akpm@osdl.org>
[PATCH] ISDN kernelcapi debug message enable
From: Armin Schindler <armin@melware.de>
Show debug messages if debug is enabled only.
<akpm@osdl.org>
[PATCH] ISDN kernelcapi notifier workqueue re-structured
From: Armin Schindler <armin@melware.de>
Use the notifier workqueue in a cleaner way.
<akpm@osdl.org>
[PATCH] ISDN kernelcapi notifier NULL pointer fix
From: Armin Schindler <armin@melware.de>
Fixed NULL pointer reference in recv_handler()
<jgarzik@redhat.com>
[libata] update dma start/stop path to only set/clear the bits we care about
Legacy IDE software has traditionally unconditionally cleared the
bits in the IDE BMDMA control register, but at least one controller
has important bits in the 'reserved' area that we don't want to touch.
So now, we only set/clear the data-direction and dma-start bits, and
leave the rest alone.
<perex@suse.cz>
ALSA CVS update - Clemens Ladisch <clemens@ladisch.de>
MPU401 UART
don't use acpi_disabled because it isn't exported in all archs
<perex@suse.cz>
ALSA CVS update - Clemens Ladisch <clemens@ladisch.de>
MPU401 UART
don't use negative return value as card count
<perex@suse.cz>
ALSA CVS update - Clemens Ladisch <clemens@ladisch.de>
MPU401 UART
use global variable to count cards
<perex@suse.cz>
ALSA CVS update - Takashi Iwai <tiwai@suse.de>
SPARC cs4231 driver
fixed the dma allocation type.
<perex@suse.cz>
ALSA CVS update - Takashi Iwai <tiwai@suse.de>
SPARC cs4231 driver
fixed the compilation error (missing comma).
<perex@suse.cz>
ALSA CVS update - Takashi Iwai <tiwai@suse.de>
au88x0 driver
Manuel Jander <mjander@elo.utfsm.cl>:
clean up and small bugfixes, the routing code fix for multiple streams.
<perex@suse.cz>
ALSA CVS update - Clemens Ladisch <clemens@ladisch.de>
USB generic driver
don't resubmit unlinked urbs;
move interface releasing after urb unlinking
<perex@suse.cz>
ALSA CVS update - Jaroslav Kysela <perex@suse.cz>
PPC PMAC driver
Fix against the new DMA API
<perex@suse.cz>
ALSA CVS update - Takashi Iwai <tiwai@suse.de>
AC97 Codec Core
added the quirk for Compaq Evo D510C.
<perex@suse.cz>
ALSA CVS update - Clemens Ladisch <clemens@ladisch.de>
USB generic driver
fix get_iface_desc macro
<perex@suse.cz>
ALSA CVS update - Clemens Ladisch <clemens@ladisch.de>
USB generic driver
replace usage of interface index with calls to usb_ifnum_to_if
<perex@suse.cz>
ALSA CVS update - Clemens Ladisch <clemens@ladisch.de>
USB generic driver
add comments in USB MIDI vendor-specific detection functions
<jgarzik@redhat.com>
[libata sata_sil] port init cleanup, mask SATA phy interrupts
* don't define a constant for each of four sets of register block
offsets, use a table instead.
* mask all SATA phy interrupt events, for each port
<jgarzik@redhat.com>
[libata] API cleanup
Remove ->phy_config hook, everybody used pata_phy_config. Rename
function to ata_set_mode, and directly call internally.
<perex@suse.cz>
ALSA CVS update - Jaroslav Kysela <perex@suse.cz>
USB generic driver
Returned back get_iface() macro for quirks
Removed extra variable to avoid warning
<jgarzik@redhat.com>
[libata sata_sil] add post-set-mode hook to libata, use it
Silicon Image has a register that indicates the data transfer mode
(pio-old, pio-new, mdma or udma) that must be initialized after
the SET FEATURES - XFER command has been issued. This requires a
hook in libata core to set the register at the right time.
Also, limit to UDMA5 due to scary comments in FreeBSD about chip errata.
<jgarzik@redhat.com>
[libata] remove unneeded linux/config.h includes
<viro@www.linux.org.uk>
[PATCH] hpfs: namei.c failure case cleanups
Failure exits in hpfs/namei.c merged and cleaned up.
<viro@www.linux.org.uk>
[PATCH] hpfs: clean up lock ordering
hpfs_{lock,unlock}_{2,3}inodes() killed; all places that take more than
one lock have ->i_sem held by VFS on all inodes involved and all hpfs per-inode
locks are of the same type. IOW, we can replace these guys with multiple
hpfs_lock_inode() - order doesn't matter here.
<viro@www.linux.org.uk>
[PATCH] hpfs: new/read/write_inode() cleanups
1) common initialization for all paths in hpfs_read_inode() taken into
a separate helper (hpfs_init_inode())
2) hpfs mkdir(),create(),mknod() and symlink() do not bother with
iget() anymore - they call new_inode(), do initializations and insert new
inode into icache. Handling of OOM failures cleaned up - if we can't
allocate in-core inode, bail instead of corrupting the filesystem.
Allocating in-core inode early also avoids one of the deadlocks here
(hpfs_write_inode() from memory pressure by kmem_cache_alloc() could
deadlock on attempt to lock our directory).
3) hpfs_write_inode() marks the inode dirty again in case if it
fails to iget() its parent directory. Again, OOM could trigger fs corruption
here.
<viro@www.linux.org.uk>
[PATCH] hpfs: hpfs iget locking cleanup preparation
Preparation to hpfs iget locking cleanup - remaining iget() callers
replaced with explicit iget_locked() + call hpfs_read_inode()/unlock_new_inode()
if inode is new.
<viro@www.linux.org.uk>
[PATCH] hpfs: hpfs iget locking cleanup
Killed the nightmares in hpfs iget handling. Since in some (fairly
frequent) cases hpfs_read_inode() could avoid any IO (basically, lookup
hitting a native HPFS regular file can get all data from directory
entry) hpfs had a flag passed to that sucker. Said flag had been
protected by a semaphore lookalike made out of spit and duct-tape and
callers of iget looked like
hpfs_lock_iget(sb, flag);
result = iget(sb, ino);
hpfs_unlock_iget(sb);
Since now we are calling hpfs_read_inode() directly (note that calling
it without hpfs_lock_iget() would simply break) we can forget all that
crap and get rid of the flag - caller knows what it wants to call.
BTW, that had killed one of the last sleep_on() users in fs/*/*.
<viro@www.linux.org.uk>
[PATCH] hpfs: deadlock fixes
We used to have GFP_KERNEL kmalloc() done by the code that held hpfs
lock on directory. That could trigger a call of hpfs_write_inode() and
deadlock; fixed by switch to GFP_NOFS. Same for hpfs inodes themselves
- hpfs_write_inode() calls iget() and that could trigger both the
deadlocks (avoidable with very baroque locking scheme) and stack
overflows (unavoidable unless we kill potential recursion here).
<viro@www.linux.org.uk>
[PATCH] hpfs: fix locking scheme
Fixed the locking scheme. The need of extra locking was caused by
the fact that hpfs_write_inode() must update directory entry; since HPFS
directories are implemented as b-trees, we must provide protection both
against rename() (to make sure that we update the entry in right directory)
and against rebalancing of the parent.
Old scheme had both deadlocks and races - to start with, we had no
protection against rename()/unlink()/rmdir(), since (a) locking parent
was done without any warranties that it will remain our parent and (b)
check that we still have a directory entry (== have positive nlink) was
done before we tried to lock the parent. Moreover, iget serialization
killed two steps ago gave immediate deadlocks if iget() of parent had
triggered another hpfs_write_inode().
New scheme introduces another per-inode semaphore (hpfs-only,
obviously) protecting the reference to parent. It's taken on
rename/rmdir/unlink victims and inode being moved by rename. Old semaphores
are taken only on parent(s) and only after we grab one(s) of the new kind.
hpfs_write_inode() gets the new semaphore on our inode, checks nlink and
if it's non-zero grabs parent and takes the old semaphore on it.
Order among the semaphores of the same kind is arbitrary - the only
function that might take more than one of the same kind is hpfs_rename()
and it's serialized by VFS.
We might get away with only one semaphore, but then the ordering
issues would bite us big way - we would have to make sure that child is
always locked before parent (hpfs_write_inode() leaves no other choice)
and while that's easy to do for almost all operations, rename() is a bitch -
as always. And per-superblock rwsem giving rename() vs. write_inode()
exclusion on hpfs would make the entire thing too baroque for my taste.
->readdir() takes no locks at all (protection against directory
modifications is provided by VFS exclusion), ditto for ->lookup().
->llseek() on directories switched to use of (VFS) ->i_sem, so
it's safe from directory modifications and ->readdir() is safe from it -
no hpfs locks are needed here.
<viro@www.linux.org.uk>
[PATCH] hpfs: general cleanup
include files moved to fs/hpfs/, gratitious #include removed, stuff that
doesn't have to be global made static, misindented chunk of
hpfs_readdir() put in place, etc.
<rusty@rustcorp.com.au>
[PATCH] Export cpu notifiers and do locking.
The registration and unregistration of CPU notifiers should be done
under the cpucontrol sem. They should also be exported.
<rusty@rustcorp.com.au>
[PATCH] Implement migrate_all_tasks
Implement migrate_all_tasks() which moves tasks off cpu while machine
is stopped.
<torvalds@ppc970.osdl.org>
cpu.c needs <linux/module.h> for symbol exports
<B.Zolnierkiewicz@elka.pw.edu.pl>
[PATCH] add missing MODULE_DEVICE_TABLE() to IDE PCI drivers
Original patch from Hannes Reinecke <hare@suse.de>.
This is required to have modular IDE drivers announce themselves
properly in modules.pcimap.
<torvalds@ppc970.osdl.org>
Make ppc64 __FD_ISSET() return a proper boolean return value.
(The broken macro only triggers for non-gcc compiles, but
still..)
<dhowells@redhat.com>
[PATCH] FD_CLOEXEC fcntl cleanup
This fixes a minor problem with fcntl.
get_close_on_exec() uses FD_ISSET() to determine the fd state, but this
is not guaranteed to be either 0 of FD_CLOEXEC. Make that explicit.
Also, the argument of set_close_on_exec() is being AND'ed with the
literal constant 1. Make it use an explicit FD_CLOEXEC test.
<jgarzik@redhat.com>
[blk carmel] use statically allocated majors for first two hosts
Also:
* fix FL_DAC bit definition (value chosen was already in use)
* improve info printk'd when adapter is registered
* call pci_set_drvdata(pdev, NULL)
<rddunlap@osdl.org>
[PATCH] revert some netdev_priv() changes
These drivers don't use the usual/normal/typical netdevice->priv
storage, so converting them to use netdev_priv() was not the
right thing to do. Back to using dev->priv for them.
<akpm@osdl.org>
[PATCH] Fw: [PATCH 2.6] netpoll for pcnet_cs
From: Stelian Pop <stelian@popies.net>
Subject: [PATCH 2.6] netpoll for pcnet_cs
This patch adds netpoll support to pcnet_cs. Tested with
the netconsole facility.
<mcgrof@ruslug.rutgers.edu>
[wireless prism54] add two final missing bits
One a fairly important one, ensuring an skb slot is noted to be NULL.
<jgarzik@redhat.com>
[libata] explicitly set consistent DMA mask to 0xffffffff
Do not rely on the default being 0xffffffff.
<weeve@gentoo.org>
[CS4231]: Fix build error, use SNDRV_DMA_TYPE_DEV and missing comma.
<wli@holomorphy.com>
[SPARC]: NR_SYSCALLS in entry.S needs to be 273.
<akpm@osdl.org>
[NET]: Give struct flowi explicit alignment, with help from yoshfuji.
<a.kasparas@gmc.lt>
[AF_KEY]: More accurate error codes.
<kaber@trash.net>
[PKT_SCHED]: Fix broken indentation in HFSC scheduler.
<kaber@trash.net>
[NET_SCHED]: Fix requeueing in HFSC scheduler.
Requeued packets are kept in a high-priority queue
which is always dequeued first.
<shemminger@osdl.org>
[NET_SCHED]: Add packet delay scheduler.
<viro@parcelfarce.linux.theplanet.co.uk>
[PATCH] missing check in do_add_mount()
Make sure that we don't end up with symlink mounted over something
(mount --bind is safe since we use LOOKUP_FOLLOW in pathname resolution
there).
<viro@parcelfarce.linux.theplanet.co.uk>
[PATCH] add file_accessed() helper
New inlined helper - file_accessed(file) (wrapper for update_atime())
<viro@parcelfarce.linux.theplanet.co.uk>
[PATCH] add touch_atime() helper
Preparation for per-mountpoint noatime, nodiratime and later -
per-mountpoint r/o. Depends on file_accessed() patch, should go after
it.
New helper - touch_atime(mnt, dentry). It's a wrapper for
update_atime() and that's where all future per-mountpoint checks will
go.
<jgarzik@redhat.com>
[libata] increase max from UDMA/100 to UDMA/133 for some drivers
ServerWorks and Vitesse driver transfer mode maximums were
incorrectly too low.
<akpm@osdl.org>
[PATCH] ppc64: iSeries virtual tape driver
From: Stephen Rothwell <sfr@canb.auug.org.au>
This patch adds the driver for the PPC64 iSeries virtual tape.
<akpm@osdl.org>
[PATCH] ppc64: remove IO_DEBUG
From: Anton Blanchard <anton@samba.org>
Remove the old __IO_DEBUG stuff and add some nice comments courtesy of x86.
<akpm@osdl.org>
[PATCH] ppc64: Add numa=off command line option
From: Anton Blanchard <anton@samba.org>
Add numa=off command line option to disable NUMA support at runtime.
Useful if there are issues with our parsing of the NUMA toplogy or for
testing NUMA gains.
<akpm@osdl.org>
[PATCH] ppc64: Fix SLB reload bug
From: Paul Mackerras <paulus@samba.org>
Recently we found a particularly nasty bug in the segment handling in the
ppc64 kernel. It would only happen rarely under heavy load, but when it
did the machine would lock up with the whole of memory filled with
exception stack frames.
The primary cause was that we were losing the translation for the kernel
stack from the SLB, but we still had it in the ERAT for a while longer.
Now, there is a critical region in various exception exit paths where we
have loaded the SRR0 and SRR1 registers from GPRs and we are loading those
GPRs and the stack pointer from the exception frame on the kernel stack.
If we lose the ERAT entry for the kernel stack in that region, we take an
SLB miss on the next access to the kernel stack. Taking the exception
overwrites the values we have put into SRR0 and SRR1, which means we lose
state. In fact we ended up repeating that last section of the exception
exit path, but using the user stack pointer this time. That caused another
exception (or if it didn't, we loaded a new value from the user stack and
then went around and tried to use that). And it spiralled downwards from
there.
The patch below fixes the primary problem by making sure that we really
never cast out the SLB entry for the kernel stack. It also improves
debuggability in case anything like this happens again by:
- In our exception exit paths, we now check whether the RI bit in the
SRR1 value is 0. We already set the RI bit to 0 before starting the
critical region, but we never checked it. Now, if we do ever get an
exception in one of the critical regions, we will detect it before
returning to the critical region, and instead we will print a nasty
message and oops.
- In the exception entry code, we now check that the kernel stack pointer
value we're about to use isn't a userspace address. If it is, we print a
nasty message and oops.
This has been tested on G5 and pSeries (both with and without hypervisor)
and compile-tested on iSeries.
<akpm@osdl.org>
[PATCH] ppc64: Fix POWER3 TCE allocation
From: Anton Blanchard <anton@samba.org>
- Fix for machines with 3GB IO holes (eg nighthawk).
- Increase the maximum number of PHBs and warn if we exceed this (we used
to walk off the end of the array)
- Only allocate an 8MB TCE table on POWER4
<akpm@osdl.org>
[PATCH] Add dma_error() and pci_dma_error()
From: Anton Blanchard <anton@samba.org>
Introduce dma_error() and pci_dma_error() which are used to detect failures
in pci_map_single.
<akpm@osdl.org>
[PATCH] sysfs_remove_dir-vs-dcache_readdir race fix
From: Maneesh Soni <maneesh@in.ibm.com>
I have re-done the patch fixing the race between sysfs_remove_dir() and
dcache_readdir(). If you recall, sysfs_remove_dir(kobj) manipulates the
->d_subdirs list for the dentry corresponding to the sysfs directory being
removed. It can end up deleting the cursor dentry which is added to the
->d_subdirs list during a concurrent dcache_dir_open() ==> dcache_readdir()
for the same directory. And as a result dcache_readdir() can loop for ever
holding dcache_lock.
The earlier patch which was included in -mm1 created problems which
resulted in list_del() BUG hits in prune_dcache(). The reason I think is
that in the main loop in sysfs_remove_dir(), dcache_lock is dropped and
re-acquired, and this could result in inconsistent ->d_subdirs list and
prune_dcache() may try to delete an already deleted dentry. I have
corrected this in the new patch as below.
I could do sysfs_remove_dir() more neatly on sysfs backing store patch set
as there I don't use the ->d_subdirs list. Instead the list of children
sysfs_dirent works out well. But untill sysfs backing store patch is
picked up the existing code suffer from this race. This can be easily
tested by running following two loops on a SMP box
# while true; do insmod drivers/net/dummy.ko; rmmod dummy; done
# while true; do find /sys/class/net > /dev/null; done
o This patch fixes sysfs_remove_dir race with dcache_readdir. There is
no need for sysfs_remove_dir to modify the d_subdirs list for the
directory being deleted as it is taken care in the final dput. Modifying
this list results in inconsistent d_subdirs list and causes infinite loop
in concurrently occurring dcache_readdir.
o The main loop is restarted every time, dcache_lock is re-acquired in
order to maintain consistency.
<akpm@osdl.org>
[PATCH] Fix dentry refcounting in sysfs_remove_group()
From: Maneesh Soni <maneesh@in.ibm.com>
The following patch fixes the dentry refcounting, during
sysfs_remove_group() and also adds the missing dput() for the "extra" ref
taken during sysfs_create() for the sub-directory dentry corresponding to
attribute group.
<akpm@osdl.org>
[PATCH] sysfs: pin kobjects to fix use-after-free crashes
From: Maneesh Soni <maneesh@in.ibm.com>
Fix a sysfs use-after-free crash. The problem we have is of the kobject
going away while we have a live dentry (the corresponding sysfs directory)
still pointing to it throuh d_fsdata pointer. The patch makes sure to keep
the kobject alive by taking a reference to it during the life-time of
corresponding dentry.
o The following pins the kobject when sysfs assigns dentry and inode to
the kobject. This ensures that kobject is alive during the life time of
the dentry and inode, and people holding ref. to the dentry can access the
kobject without any problems.
o The ref. taken for the kobject is released through dentry->d_op->d_iput()
call when the dentry ref. count drops to zero and it is being freed. For
this sysfs_dentry_operations is introduced.
For testing one has to run the following test on a SMP box:
1) Do insmod/rmmod "dummy.o" network driver in a forever loop.
2) Parallely do "find /sys/class/net | xargs cat" also in a forever loop.
<akpm@osdl.org>
[PATCH] proper alignment of init task in kernel image
From: Matt Mackall <mpm@selenic.com>
This keeps the alignment of the init task matched with the stack size.
<akpm@osdl.org>
[PATCH] don't abuse empty_zero_page (x86)
From: Brian Gerst <bgerst@didntduck.org>
Don't abuse empty_zero_page as temporary storage for boot parameters and
command line. This is a holdover from the days before discardable init
sections.
<akpm@osdl.org>
[PATCH] kconfig: fix xconfig on /lib64 properly
From: Roman Zippel <zippel@linux-m68k.org>
The correct link path is needed at config time to find the correct library,
so let's ask gcc for the real path.
<akpm@osdl.org>
[PATCH] kconfig: don't rename target dir when saving config
From: Roman Zippel <zippel@linux-m68k.org>
conf_write() now checks the target path whether it's a directory, so it
saves the config in the directory instead of renaming it.
<akpm@osdl.org>
[PATCH] config: disable debug prints
From: Roman Zippel <zippel@linux-m68k.org>
This disables some debug prints, which are more confusing than helpful for
normal users.
<akpm@osdl.org>
[PATCH] config: persistent qconf configuration
From: Roman Zippel <zippel@linux-m68k.org>
This patch is by Andreas Fester <Andreas.Fester@gmx.de> and saves and
restores various runtime options of qconf.
<akpm@osdl.org>
[PATCH] config: choice fix
From: Roman Zippel <zippel@linux-m68k.org>
When a boolean choice value has a dependency of 'm' it can be shortly
treated as a tristate symbol. This fixes this and also add a small
optimization to precompute the value of the module symbol instead of
checking it all the time.
<akpm@osdl.org>
[PATCH] 8250_pnp: probe and remove can be __devinit/__devexit
From: "Randy.Dunlap" <rddunlap@osdl.org>
From: Luiz Fernando Capitulino <lcapitulino@prefeitura.sp.gov.br>
<akpm@osdl.org>
[PATCH] slab: start_cpu_timer() can be __init
From: "Randy.Dunlap" <rddunlap@osdl.org>
From: Luiz Fernando Capitulino <lcapitulino@prefeitura.sp.gov.br>
<akpm@osdl.org>
[PATCH] doc. updates/typos
From: "Randy.Dunlap" <rddunlap@osdl.org>
Remove the rest of references to smp.tex
Documentation/cpufreq => Documentation/cpu-freq
DocBook/tulip.{pdf,ps,html} => DocBook/tulip-user.{pdf,ps,html}
Bunch of other typos.
<akpm@osdl.org>
[PATCH] ip2: fix double operator
From: "Randy.Dunlap" <rddunlap@osdl.org>
This trivial patch fixes the bug #320:
http://bugme.osdl.org/show_bug.cgi?id=320
The additional comment:
http://bugme.osdl.org/show_bug.cgi?id=320#c1
Is wrong, because it will send the command twice.
We only want to see if the command got success, thus is not necessary
to test against < 0 (if the return value is not 1, we got a error).
Note that I'm using the function (bad) style.
<akpm@osdl.org>
[PATCH] procfs: use kernel min/max
From: "Randy.Dunlap" <rddunlap@osdl.org>
From: Michael Veeck <michael.veeck@gmx.net>
Patch (against 2.6.3) removes unnecessary min/max macros and changes calls to
use kernel.h macros instead.
<akpm@osdl.org>
[PATCH] reiserfs: use kernel min/max
From: "Randy.Dunlap" <rddunlap@osdl.org>
From: Michael Veeck <michael.veeck@gmx.net>
Remove unnecessary min/max macros and changes calls to use kernel.h macros
instead.
<akpm@osdl.org>
[PATCH] sound: use kernel min/max
From: "Randy.Dunlap" <rddunlap@osdl.org>
From: Michael Veeck <michael.veeck@gmx.net>
Remove unnecessary min/max macros and changes calls to use kernel.h macros
instead.
<akpm@osdl.org>
[PATCH] zlib: use kernel min/max
From: "Randy.Dunlap" <rddunlap@osdl.org>
From: Michael Veeck <michael.veeck@gmx.net>
Remove unnecessary min/max macros and changes calls to use kernel.h macros
instead.
<akpm@osdl.org>
[PATCH] fix HZ leaking to userspace in BSD accounting
From: Tim Schmielau <tim@physik3.uni-rostock.de>
BSD accounting was missed in the conversion from HZ to USER_HZ. I thought
nobody cared, but apparently there are still users to it.
<akpm@osdl.org>
[PATCH] Fix uninlined memcmp on i386
From: DHollenbeck <dick@softplc.com>
This patch was needed against a pristine 2.6.4 kernel when compiling with
"gcc 3.4 _very recent_" using the -Os option.
Without this patch, modules would use a non-inline memcmp() and then not
find it in the kernel, causing depmod to complain and some modules not to
load.
<akpm@osdl.org>
[PATCH] EDD: move code from i386-specific locations to generic
From: Matt Domsch <Matt_Domsch@dell.com>
Three patches to move the BIOS Enhanced Disk Drive code from i386-specific
locations into more generic locations, which will allow it to be used on
x86-64 as well.
move edd.h from include/asm-i386 to include/linux
<akpm@osdl.org>
[PATCH] EDD: move code from i386-specific locations to generic
From: Matt Domsch <Matt_Domsch@dell.com>
move edd.c from arch/i386/kernel to new dir drivers/firmware. Fix up
makefiles and Kconfigs.
<akpm@osdl.org>
[PATCH] EDD: split assembly code
From: Matt Domsch <Matt_Domsch@dell.com>
Split EDD assembly code from setup.S into edd.S. This will enable it to be
#included into x86-64 too.
<akpm@osdl.org>
[PATCH] pte_chain comment fix
From: Carl Spalletta <ioanamitu@yahoo.com>
Fix a comment bug.
<akpm@osdl.org>
[PATCH] add note about "Copyright" to SubmittingDrivers
From: Grant Grundler <grundler@parisc-linux.org>
This patch adds a comment to "Documentation/SubmittingDrivers" about the
importance of adding a Copyright notice in submitted code.
The parisc-linux port has neglected this in the past and I've been slowly
trying to correct that (along with proper GPL header).
While I make it sound like GPL is the "only" acceptable license, I'll leave
it up to lawyers to determine what other appropriate license could be used
for a new driver.
<akpm@osdl.org>
[PATCH] sonypi devinit section usage
From: Stelian Pop <stelian@popies.net>
This patch removes the usage of __devinit in the srs methods of the sonypi
driver, because those functions are also called from sonypi_pm_callback().
Patch originally from Randy Dunlap.
<akpm@osdl.org>
[PATCH] VM overcommit documentation fixes
From: Andy Whitcroft <andyw@uk.ibm.com>
Whilst looking at the memory overcommit logic I noticed that the pointer to
the documentation from the *_vm_enough_memory calls is incorrect. Also
that in one instance the routine does not have the expected pointers.
<akpm@osdl.org>
[PATCH] meye driver update
From: Stelian Pop <stelian@popies.net>
This patchlet is just a resync with my tree, it only increments the meye
driver version number and makes some small comment changes as suggested by
Randy Dunlap.
<akpm@osdl.org>
[PATCH] remove_suid() should return error code
From: Nikita Danilov <Nikita@Namesys.COM>
remove_suid() ignores return value of notify_change()->i_op->setattr().
This mean, that even if file system fails to clear suid bit,
generic_file_aio_write_nolock() proceeds with write, which is unsafe.
Actually, even ext2's ->setattr() can fail, when trying to update ACL, for
example.
Attached patch modifies remove_suid() to return result of ->setattr(), and
updates in-tree callers.
<rusty@rustcorp.com.au>
[PATCH] Hotplug CPUs: cpu_down()
Implement cpu_down(): uses stop_machine to freeze the machine, then
uses (arch-specific) __cpu_disable() and migrate_all_tasks().
Whole thing under CONFIG_HOTPLUG_CPU, so doesn't break archs which
don't define that.
<rusty@rustcorp.com.au>
[PATCH] Hotplug CPUs: Sysfs Online Attribute
Add "online" sysfs attribute to cpus to bring them up and down.
Again, only under CONFIG_HOTPLUG_CPU.
<rusty@rustcorp.com.au>
[PATCH] Hotplug CPUs: don't pull onto offline CPUs
Don't move tasks onto offline cpus in load_balance and wake_task (the
latter is caused by a completion run from stop_machine).
Note that cpu_is_offline() is a noop when CONFIG_HOTPLUG_CPU=n.
<rusty@rustcorp.com.au>
[PATCH] Hotplug CPUs: Take cpu Lock Around Migration
Grab cpu lock around sched_migrate_task() and sys_sched_setaffinity().
This is a noop without CONFIG_HOTPLUG_CPU.
The sched_migrate_task may have a performance penalty on NUMA if lots
of exec rebalancing is happening, however this only applies to
CONFIG_NUMA and CONFIG_HOTPLUG_CPU, which noone does at the moment
anyway.
Also, the scheduler in -mm solves the race another way, so this will
vanish then.
<rusty@rustcorp.com.au>
[PATCH] Hotplug CPUs: Keep IRQs off in Migration Thread Calling
Currently the migration thread re-enables irqs, then calls
move_task_away which disables IRQs again and actually does the move.
This means there is a race where the migration thread gets preempted,
and the target CPU can go down.
Hold irqs disabled in migration thread across move_task_away(), which
now doesn't need to save flags (the other caller is the hotplug CPU
code, where irqs are also disabled).
<rusty@rustcorp.com.au>
[PATCH] Hotplug CPUs: Set prio of migration thread before CPU
We need the migration thread to be RT as soon as the CPU comes online:
for example, stop_machine() (another RT task) expects to yield to it.
Extract the core of setscheduler() and do that when the migration
thread is created. rq lock is a precaution against the (theoretical)
possibility of someone else doing setscheduer on this thread at the
same time.
<rusty@rustcorp.com.au>
[PATCH] Hotplug CPUs: Make Migration Thread Handle CPUs Going
Change the migration thread to directly use its cpu arg, rather than
smp_processor_id(): if a cpu goes up then down rapidly, it can be on
the wrong cpu just before it is stopped.
Add code to stop the migration thread on CPU_DEAD and CPU_UP_CANCELED.
Remove the (bogus) priority of the notifier.
<rusty@rustcorp.com.au>
[PATCH] Hotplug CPUs: Read Copy Update Changes
Add hook for RCU to handle jobs on dead cpu. Requires new
tasklet_kill_immediate for RCU to clean up its tasklet (which might
have been about to run, so tasklet_kill won't work).
<rusty@rustcorp.com.au>
[PATCH] Hotplug CPUs: Make ksoftirqd Handle CPU Going Down
Change ksoftirqd not to assume it's on the CPU: when a cpu goes down,
it will be rudely dragged off. Since do_softirq() uses
smp_processor_id(), it's easiest to disable preemption, check that the
cpu is still up, then call do_softirq().
If the cpu is actually offline, wait for the notifier, which kills us.
Take over tasklets from dead cpu in the notifier.
Clean up redundant double assignment in CPU_UP callback.
<rusty@rustcorp.com.au>
[PATCH] Hotplug CPUs: Workqueue Changes
Workqueues need to bring up/destroy the per-cpu thread on cpu up/down.
1) Add a global list of workqueues, and keep the name in the structure
(to name the newly created thread).
2) Remove BUG_ON in run_workqueue, since thread is dragged off CPU when
it goes down.
3) Lock out cpu up/down in flush_workqueue, create_workqueue and
destroy_workqueue.
4) Add notifier to add/destroy workqueue threads, and take over work.
<rusty@rustcorp.com.au>
[PATCH] Hotplug CPUs: Kswapd Changes
Keep track of kswapds: it's OK that they get moved off a node when the
last CPU goes down, but when a CPU comes back, we should try to move
the kswapd back onto its node.
<rusty@rustcorp.com.au>
[PATCH] Hotplug CPUs: Other CPU_DEAD Notifiers
Various files keep per-cpu caches which need to be freed/moved when a
CPU goes down. All under CONFIG_HOTPLUG_CPU ifdefs.
scsi.c: drain dead cpu's scsi_done_q onto this cpu.
buffer.c: brelse the bh_lrus queue for dead cpu.
timer.c: migrate timers from dead cpu, being careful of lock order vs
__mod_timer.
radix_tree.c: free dead cpu's radix_tree_preloads
page_alloc.c: empty dead cpu's nr_pagecache_local into nr_pagecache, and
free pages on cpu's local cache.
slab.c: stop reap_timer for dead cpu, adjust each cache's free limit, and
free each slab cache's per-cpu block.
swap.c: drain dead cpu's lru_add_pvecs into ours, and empty its committed_space
counter into global counter.
dev.c: drain device queues from dead cpu into this one.
flow.c: drain dead cpu's flow cache.
<rusty@rustcorp.com.au>
[PATCH] Hotplug CPUs: Remove CPU_OFFLINE Notifier
We no longer have a CPU_OFFLINE notifier: we freeze the machine and
kill the CPU atomically. Remove it.
<James.Bottomley@steeleye.com>
[PATCH] Fix 3c509
This rolls up Marc Zyngier's EISA correction (first two) and adds a missed
netdev_priv() conversion that was causing an oops on module removal.
<rmk+lkml@arm.linux.org.uk>
[PATCH] fix "optimize && ?"
This prevents the "optimize && ?" message appearing when the kernel
configuration tool is run. The message could be eliminated from the
tool, but I'd rather fix the needlessly over-complicated expression:
<davem@nuts.davemloft.net>
[SPARC64]: Implement pci_dma_error().
<davem@nuts.davemloft.net>
[PM2FB]: Fix build on big-endian.
<davem@nuts.davemloft.net>
[SPARC64]: Update defconfig.
<davem@nuts.davemloft.net>
[SPARC64]: Export sbus_dma_sync_X_for_device routines too.
<willy@debian.org>
[PATCH] PCI: insert_resource can succeed and return an error
If we start again, we can return an error even if we were successful.
Reset the result to 0 before beginning again. Why don't we use a
tailcall here?
<willy@debian.org>
[PATCH] PCI: Use insert_resource in pci_claim_resource
On ia64, the parent resources are not necessarily PCI resources and
so won't get found by pci_find_parent_resource. Use the shiny new
insert_resource() function instead, which I think we would have used
here had it been available at the time.
<willy@debian.org>
[PATCH] PCI: claim PCI resources on ia64
Call pci_claim_resources() so we can see what PCI resources are being used.
<davem@nuts.davemloft.net>
[NET]: Preemption disabling is superfluous in net_rx_action().
Noticed by Jan Glauber, confirmed by Stephen Hemminger.
<torvalds@ppc970.osdl.org>
Add FBIOBLANK to list of compatible ioctls.
<torvalds@ppc970.osdl.org>
Linux 2.6.5-rc2