Summary of changes from v2.6.9 to v2.6.10 ============================================ [PATCH] wireless-extension-v17-for-linus.patch From: Jean Tourrilhes This is the patch to migrate Wireless Extension from WE-16 to WE-17 for kernel 2.6.X. I would like you to queue that patch and submit it to Linus as soon as 2.6.8 is released (so it can be fully tested during 2.6.9). If you want, I can resend that as soon as 2.6.8 is released. The patch is basically unchanged compared to the version posted to the netdev list and my web page one month ago, I just re-diff to the latest kernel (2.6.8-rc2-bk12). The patch already included feedback from various driver maintainers, and nobody else complained, so I guess it's ready. The patch for some drivers inside the kernel will follow (airo.c, wavelan.c, wavelan_cs). Patch for various other drivers (orinoco, hostap, prism54) have been sent already to their maintainers (one month ago) and basically waiting for this patch. Changelog : * - Add flags to frequency -> auto/fixed * - Document (struct iw_quality *)->updated, add new flags (INVALID) * - Wireless Event capability in struct iw_range * - Add support for relative TxPower (yick !) * - Change the way we get to spy_data method for added safety and hostap * - Remove spy #ifdef, they are always on -> cleaner code * - Allow any size GET request if user specifies length > max * - Start migrating get_wireless_stats to struct iw_handler_def * Based on patch from Pavel Roskin : * - Fix kernel data leak to user space in private handler handling I also added on my page a version of Wireless Tools that use RtNetlink instead of ioctls. This is not as clean as I would like, but is fully functional (if you have WE-19). I know that you were interested, so feel free to send feedback on that... Signed-off-by: Andrew Morton [PATCH] wireless-drivers-update-for-we-17.patch From: Jean Tourrilhes This patch complement the main WE-17 patch I just sent you. It updates a few driver to take advantage of WE-17. You should queue it along with the other patch. o Aironet driver : o iwspy data can be shared between eth0 and wifi0 if needed o allow arbitrarily large scan results (no longer limited) o export wireless event capabilities o Wavelan drivers : o export wireless event capabilities Signed-off-by: Andrew Morton [PATCH] defxx trivial updates From: "Maciej W. Rozycki" Here are a few obvious clean-ups I did to the driver. Signed-off-by: Maciej W. Rozycki Signed-off-by: Andrew Morton [PATCH] defxx device name fixes From: "Maciej W. Rozycki" This is a fix for the "fddi%d" device name reported literally due to the switch from init_fddidev() to alloc_fddidev(). Plus related updates to module information. Applies on top of the 2.4.27-defxx-sync2681 or 2.6.8.1-defxx-misc patches, respectively. Please apply. Signed-off-by: Maciej W. Rozycki Signed-off-by: Andrew Morton [PATCH] sparse: fix warnings in net/irda/* From: "Mika Kukkonen" CHECK net/irda/irlan/irlan_client.c net/irda/irlan/irlan_client.c:237:14: warning: assignment expression in conditional Signed-off-by: Andrew Morton [PATCH] de4x5 warning fix Ugh. drivers/net/tulip/de4x5.c: In function `mii_get_phy': drivers/net/tulip/de4x5.c:5092: warning: operation on `i' may be undefined Signed-off-by: Andrew Morton [PATCH] remove old version check from mac8390 This 'netdevice' define will end up in the 'tags' file. Its not used, so just remove it. [netdev] Remove no-op in-driver implementations of ->set_config() [netdrvr eth1394] use netdev_priv [netdrvr usb] use netdev_priv Update catc, pegasus, rtl8150, and gadget/ether to use netdev_priv() [netdrvr] netdev_priv for ewrk3, xircom_tulip_cb, wavelan_cs [netdrvr] netdev_priv for sundance, typhoon, yellowfin [netdrvr] use netdev_priv in dl2k, hamachi [netdrvr starfire] fix unregister_netdev call site [netdrvr starfire] use netdev_priv [PATCH] (1/27) eth1394 ethtool conversion [PATCH] (2/27) cris ethtool conversion [PATCH] (3/27) ixgb ethtool conversion [PATCH] (4/27) 3c509 ethtool conversion [PATCH] (5/27) smc91c92_cs ethtool conversion [PATCH] (6/27) tulip ethtool conversion [PATCH] (7/27) xircom ethtool conversion [PATCH] (8/27) wavelan ethtool conversion [PATCH] (9/27) wl3501_cs ethtool conversion [PATCH] (10/27) yellowfin ethtool conversion [PATCH] (11/27) typhoon ethtool conversion [PATCH] (12/27) sundance ethtool conversion [PATCH] (13/27) starfire ethtool conversion [PATCH] (14/27) ns83820 ethtool conversion [PATCH] (15/27) natsemi ethtool conversion [PATCH] (16/27) veth ethtool conversion [PATCH] (17/27) hamachi ethtool conversion [PATCH] (18/27) forcedeth ethtool conversion [PATCH] (19/27) ewrk3 ethtool conversion [PATCH] (20/27) eepro100 ethtool conversion [PATCH] (21/27) dl2k ethtool conversion [PATCH] (22/27) amd8111e ethtool conversion [PATCH] (23/27) gadget ethtool conversion [PATCH] (24/27) rtl8150 ethtool conversion [PATCH] (25/27) pegasus ethtool conversion [PATCH] (26/27) kaweth ethtool conversion [PATCH] (27/27) catc ethtool conversion JFS: Fix extent overflow bugs The code which handled adding a new extent when it is unable to grow an extent past the maximum size made an invalid assumption about when the root page would split. Signed-off-by: Dave Kleikamp [PATCH] USB: update of help text for hpusbscsi Signed-Off-By: Oliver Neukum Signed-off-by: Greg Kroah-Hartman [PATCH] USB: switching microtek to usb_kill_urb this reworks the microtek driver's disconnect method, now that usb_kill_urb is available. Signed-Off-By: Oliver Neukum Signed-off-by: Greg Kroah-Hartman [PATCH] USB: Fixes for ub in 2.4.9-rc1 from Oliver and Pat - Set the allocation size in REQUEST SENSE (Pat LaVarre) - Move add_timer invocations to safer places (Oliver Neukum) Signed-off-by: Greg Kroah-Hartman [PATCH] USB: Make usbcore use usb_kill_urb() This patch changes the only places in usbcore where usb_unlink_urb() is still used for synchronous unlinking; now they will use usb_kill_urb(). As it turns out, there were only a couple of changes needed. This still leaves all the drivers to audit! Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman [PATCH] USB: Suspend/resume/wakeup support for UHCI root hub ports This patch adds support for suspending, resuming, and remote wakeup detection on root hub ports to the UHCI driver. It doesn't add support for suspending or resuming the root hub itself (beyond what's already there) -- that will require considerably more work. But at least devices plugged directly into the computer will interact nicely with power management. Of lesser importance, the patch also simplifies some constant expressions. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman [PATCH] USB: correct interrupt interval for kaweth - overriding the media check interrupt interval Signed-Off-By: Oliver Neukum Signed-off-by: Greg Kroah-Hartman [PATCH] USB: usb audio is for oss only Doh. Fixed. [PATCH] USB: small rtl8150 patch this one make rtl8150 auto-load its register values at reset. Not doing so is known to cause improper setup when the device is being reseted frequently. Signed-off-by: Greg Kroah-Hartman [PATCH] USB: switching microtek to usb_kill_urb Am Dienstag, 31. August 2004 17:41 schrieb Alan Stern: > On Tue, 31 Aug 2004, Oliver Neukum wrote: > > Alan Stern > > > > > > @@ -822,9 +822,8 @@ > > > > usb_set_intfdata(intf, NULL); > > > > + usb_kill_urb(desc->urb); > > scsi_remove_host(desc->host); > > - usb_unlink_urb(desc->urb); > > - scsi_host_put(desc->host); > > > > usb_free_urb(desc->urb); > > kfree(desc); > > I think you still need the scsi_host_put(), to account for the fact that > scsi_host_alloc() sets the refcount to 1 initially. Right you are. Greg, please also apply this one. Signed-Off-By: Oliver Neukum Signed-off-by: Greg Kroah-Hartman [PATCH] USB: corrected digi_acceleport 2.6.9-rc1 fix for hang on disconnect - Fixed hang on disconnect in digi_acceleport USB serial driver. See http://bugme.osdl.org/show_bug.cgi?id=2459. Close after disconnect no longer tries to communicate with the device. Signed-off-by: Al Borchers Signed-off-by: Greg Kroah-Hartman [PATCH] USB: OHCI init cleanups This ought to fix the NS9750 init issue, and make the AMD756 case at least somewhat better. It makes the init go "by the book" in more ways, and formalizes one quirk. Various OHCI init/reset cleanups for different silicion environments: - Reset a bit more "by the book". * Define a new quirk flag for the SiS and OPTi problem seen earlier. Since 2.4 we've always worked around that quirk, even though we've not seen that on other chips; but it's "wrong" and doesn't work on some chips (notably NetSilicon NS9750). The quirk still seems to be needed for SiS, but either this test machine is too fast for the OPTi problem to show up, or the frame timing setup problem there came from a now-fixed bug. * Look at the HC state before resetting it; depending on whether it was previously owned by BIOS, SMM, an OS, or nobody, different USB signaling (and timings) might be needed. * Re-init the frame timings right after soft reset, rather than later (potentially too much later). * Restore a reset in the PCI startup code, so this logic more closely resembles the non-PCI paths (future code sharing). It also makes it easier to guarantee a 1-millisecond ceiling between reset and "go". An earlier reset is being done to help workaround BIOS-related problems on some boards, but we may need an even earlier one (as a PCI quirk, before IRQs get reconfigured). - Add an explicit #define to disable the BIOS/SMM handoff; it's not just HPPA, many embedded chips don't expect BIOS either. - There are reports of AMD 756 machines disliking the OHCI suspend patch of a few months back. Erratum #10 partly explains that, so now root hubs won't autosuspend on those Slot-A era chips. - Other minor fixes * We've got lots of non-PCI OHCI now too, so comments shouldn't be assuming all-is-pci! * Hey, it's unsafe to call hc_reset() in IRQ (after unrecoverable error); so just force a soft reset, don't do the whole thing. Tested on half a dozen different OHCI versions, but maybe some other versions of OHCI will be sensitive to one of these changes. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman [PATCH] USB: Add B&B Electronics VID/PIDs to ftdi_sio This patch adds VID/PIDs for a few FTDI-based USB serial devices from B&B Electronics to the ftdi_sio driver. Signed-off-by: Ian Abbott Signed-off-by: Greg Kroah-Hartman [PATCH] USB: "Lost sync on frames" error in konicawc module From: http://bugme.osdl.org/show_bug.cgi?id=3286 The kernel keeps printing "Lost sync on frames" error messages as soon as a program tries to access the webcam. No video data can be retrieved from the webcam. The following patch seems enough to solve the problem. (just inverting the order at which the old and new data blocks are sent to the user). Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman [PATCH] USB: Remove inappropriate unusual_devs.h entry A couple of months ago you applied a patch from Torsten Scherer to create a new unusual_devs.h entry. In further discussions with him I learned that the entry wasn't needed to access the device; the only reason for it was as a workaround for some old, buggy hotplug program on his system. Now Evan Fletcher reports that the entry actively prevents him from using his device. For me that's the last straw, so here's a patch to remove the entry. Torsten should be okay if he simply upgrades his hotplug package or removes the buggy program. On Mon, 30 Aug 2004, Evan Fletcher wrote: > Hi list, > > I have a Bytecc 5.25" External Enclosure, model ME-320U2F, that has > both USB 2.0 and Firewire connections > (http://www.byteccusa.com/product/enclosure/ME-320.htm). It used to > work fine on earlier Linux 2.6 kernels, but stopped working a few > revisions ago. > > I tracked the problem down to an entry in unusual_devs.h: > > /* : I don't know the name of the bridge > * manufacturer, but I've got an external USB drive by the Revoltec company > * that needs this. otherwise the drive is recognized as /dev/sda, but any > * access to it blocks indefinitely. > */ > UNUSUAL_DEV( 0x0402, 0x5621, 0x0103, 0x0103, > "Revoltec", > "USB/IDE Bridge (ATA/ATAPI)", > US_SC_DEVICE, US_PR_DEVICE, NULL, US_FL_FIX_INQUIRY), <...> > So, is there some way that this entry can be modified so that my DVD+R > works properly, and Mr. Scherer can still use his Revoltec external > disk? > > Thank you, > Evan Fletcher Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman [PATCH] HCD PCI probe: print actual, not ioremapped, address I think the USB HCD should print the actual PCI memory address, not the ioremapped address. AFAIK, there's no reason the ioremapped address has to have any fixed relationship to the actual address. Also, this makes it match what's in /proc/iomem. I also added a leading "0x". Example from ia64: - ehci_hcd 0000:00:01.2: irq 52, pci mem c000000080021000 + ehci_hcd 0000:00:01.2: irq 52, pci mem 0x80021000 USB HCD: print actual PCI mem address, not the ioremapped value. Signed-off-by: Bjorn Helgaas Signed-off-by: Greg Kroah-Hartman [PATCH] usb/tiglusb: insert set_current_state() before schedule_timeout() Insert set_current_state() so schedule_timeout() functions as expected. Signed-off-by: Nishanth Aravamudan Signed-off-by: Maximilian Attems Signed-off-by: Greg Kroah-Hartman [PATCH] usb/dabusb: insert set_current_state() before schedule_timeout() After discussing this patch with Mark Hollomon, I think it is much safer / better to leave the conditional check within the while loop. This way the mutex state is as expected and maintainability is not compromised. The previous patch should not be applied. Description: Inserts appropriate set_current_state() call so that schedule_timeout() functions as expected. Signed-off-by: Nishanth Aravamudan Signed-off-by: Maximilian Attems Signed-off-by: Greg Kroah-Hartman [PATCH] USB: Nag message for usb_kill_urb This patch is only for nuisance value. It puts a nag message in the system log every time usb_unlink_urb() is called for synchronous unlinking. My hope is this will speed the process of converting drivers to use usb_kill_urb(). Don't apply this if it generates too much noise, but otherwise go ahead. A little prodding never hurt anyone. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman [PATCH] USB: circular buffer for pl2303 Here is the patch adding a circular buffer to pl2303 updated to 2.6.9-rc1. Phil and I both tested this. (Phil tested a slightly different earlier version.) This fixes the carriage return newline problem Olaf Hering reported and helps Phil with hotsyncing his phone. This patch also fixes a problem that would sometimes leave a pl2303 port unable to send data, reporting "already writing", after closing the port while writing was in progress. This happened about 1/3 of the time in my tests with the stock 2.6.9-rc1 pl2303 driver. - Added a circular write buffer, protected by the existing spin lock. - Write_room and chars_in_buffer now report room and chars in the circular buffer. - Added a "bounce buffer" when transfering data from user space to the circular buffer--needed for locking. - Replaced (urb->status != -EINPROGRESS) with a private write_urb_in_use flag protected by the existing spin lock. Clear this flag when the urb is unlinked. - Free memory on failed startup. - These changes make ONLCR mapping work and fix a bug that would sometimes leave the port unable to write, reporting "already writing", after closing the port while writing was in progress. Signed-off-by: Al Borchers Signed-off-by: Greg Kroah-Hartman [PATCH] USB: close waits for drain in pl2303 Here is an additional patch for pl2303 in 2.6.9-rc1, to be applied after my previous circular buffer patch. This patch waits for the buffer to drain on close and then clears the buffer. In addition to the obvious features, this also fixes a bug where closing a port with a full buffer would accidentally disable writes when the port was re-opened. The original pl2303 could lose data that was still going out the port on close, and even this patch only solves the problem completely for data rates of 1200 bps and above. Waiting for data to drain from the circular buffer is easy, but the problem is waiting for data to drain from the 256 byte hardware buffer on the device. I don't know how much data is in the hardware buffer, so I just wait long enough for a potentially full hardware buffer to drain, but I don't want to wait that long for low data rates if the buffer isn't full. There is probably some way to query the pl2303 to find out how much data is in its hardware buffer, maybe snooping would reveal that. - Added a wait for data to drain from the driver write buffer when closing. - Added a wait for the data to drain from the device hardware buffer when closing. - Cleared the driver write buffer when closing. Signed-off-by: Al Borchers Signed-off-by: Greg Kroah-Hartman [CPUFREQ] speedstep-smi: only allow it to run on mobile Intel Pentium III speedstep-smi only makes sense on Intel mobile Pentium III systems. So, unify the distributed checks for speedstep_processor there, and disallow P4s. Signed-off-by: Dominik Brodowski Signed-off-by: Dave Jones [PATCH] export of SEQNUM to userspace (creates /sys/kernel) o /sys/kernel/hotplug_seqnum exports the current number o lib/kobject.c's sequence_num is renamed to hotplug_seqnum and exported by include/linux/kobject.h o the source file ksysfs.c in kernel/ creates on init the sybsystem "/sys/kernel/" in sysfs Signed-off-by: Greg Kroah-Hartman kobject: adjust hotplug_seqnum increment to keep userspace and kernel agreeing. ksysfs: don't build ksysfs if CONFIG_SYSFS is not enabled. Thanks to Kay Sievers for pointing this out. Signed-off-by: Greg Kroah-Hartman kobject: fix build error if CONFIG_HOTPLUG is not enabled. Thanks to Kay Sievers for pointing this out. Signed-off-by: Greg Kroah-Hartman USB: remove usbdevfs filesystem name, usbfs is the proper one to use. This has been publicised for years now, and the usvfs name will work just fine with a 2.4 kernel, so we are not breaking backwards compatibility. Signed-off-by: Greg Kroah-Hartman [PATCH] list_for_each_entry: drivers-usb-core-devices.c Make code more readable with list_for_each_entry. Compile tested. Patch incremental on the list_for_each() change. Signed-off-by: Domen Puncer Signed-off-by: Maximilian Attems Signed-off-by: Greg Kroah-Hartman [PATCH] list_for_each_entry: drivers-usb-serial-ipaq.c Use list_for_each_entry_safe to make code more readable. Compile tested. Signed-off-by: Domen Puncer Signed-off-by: Maximilian Attems Signed-off-by: Greg Kroah-Hartman [PATCH] list_for_each_entry: drivers-usb-host-hc_sl811.c Make code more readable with list_for_each_entry_safe. (Is this a non i386? I can't compile it.) Signed-off-by: Domen Puncer Signed-off-by: Maximilian Attems Signed-off-by: Greg Kroah-Hartman [PATCH] list_for_each_entry: drivers-usb-media-dabusb.c Use list_for_each_entry to make code more readable. Compile tested. Signed-off-by: Domen Puncer Signed-off-by: Maximilian Attems Signed-off-by: Greg Kroah-Hartman [PATCH] list_for_each_entry: drivers-usb-class-usb-midi.c Make code more readable with list_for_each_entry. Compile tested. Signed-off-by: Domen Puncer Signed-off-by: Maximilian Attems Signed-off-by: Greg Kroah-Hartman [PATCH] list_for_each_entry: drivers-usb-class-audio.c Make code more readable with list_for_each_entry. Compile tested. Signed-off-by: Domen Puncer Signed-off-by: Maximilian Attems Signed-off-by: Greg Kroah-Hartman [PATCH] USB: Centralize logical disconnects in the hub driver This patch takes some code that was only used in one place in the hub driver, and packages it up into a subroutine which is now called from several places. The routine does a logical disconnect -- for example, after issuing a port reset, if the device descriptors have changed (because of a firmware update perhaps) we logically disconnect the old device structure and create a new one. Or if a resume fails for any reason we can do the same thing. This touches some of David Brownell's suspend/resume code, obviously. (It also fixes a couple of small errors in there.) He has said it looks okay. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman [PATCH] prism54 Code cleanup (Patches submitted by Denis Vlasenko) There are neither functionality changes nor bug fixes. * 2004-08-14 Denis Vlasenko * Move assignment out of if() * Remove trailing space from printk * Eliminate not needed local 'u32 reg' * Add a comment about undoc bits * Add #define VEC_SIZE, use it as appropriate * Add some printks to reset error code path (our * current area of trouble) * Make printk text less confusing * Some not needed NULL assignments removed * mgt_commit_list(): tell which oid has failed [PATCH] prism54 remove module params * Remove unneeded module params. [PATCH] prism54 add WE17 support * Add support for WE17 from Jean Tourrilhes [PATCH] prism54 initial WPA support * Work based on initial patches from Jouni Malinen * Initial wpa_supplicant support work: * isl_ioctl.c (prism54_process_trap_helper): Start to use mlmeex, * start doing what's right for * DOT11_OID_AUTHENTICATEEX, * DOT11_OID_ASSOCIATEEX, * DOT11_OID_ASSOCIATEEX, and * DOT11_OID_REASSOCIATEEX * isl_ioctl.c: add temporary structure for wpa_supplicant requests, * isl_ioctl.c: add prism2_ioctl_set_encryption which can probably be removed later * isl_ioctl.c: add prism2_ioctl_set_generic_element (well tested) * isl_ioctl.c: add prism2_ioctl_mlme which should be unnecessary since * WE scan should be used by wpa_supplicant * isl_ioctl.c: add prism54_hostapd - this parses wpa_supplicant * requests and does the right job for each * isl_ioctl.c (prism54_set_wpa): changed to not use mgt_set/mgt_commit * as commit is unecessary. Added proper OID sets to enable/disable WPA. * This is called by wpa_supplicant at startup. This should eventually * be part of WE18. * isl_ioctl.c (prism54_ioctl): Links wpa_supplicant to prism54 * isl_ioctl.h: defined prism54_set_wpa to allow prism54_hostapd to use * isl_oid.h: add struct obj_attachment for OID OID_TYPE_ATTACH * oid_mgt.c: map OID DOT11_OID_ATTACHMENT to struct obj_attachment * oid_mgt.c (mgt_le_to_cpu, mgt_cpu_to_le): handle endianness for * obj_attachment * oid_mgt.c: add mgt_set_varlen, needed for mlmeex as it has a * variable size field. * oid_mgt.c: add mgt_unlatch_all, this can be used to force a commit * on OIDs: * MEDIUMLIMIT, BEACONPERIOD, DTIMPERIOD, ATIMWINDOW, * LISTENINTERVAL, FREQUENCY, EXTENDEDRATES * These OIDs are "latched". TODO: config mode handling. * oid_mgt.c (mgt_response_to_str): learn to parse OID_TYPE_ATTACH * oid_mgt.h: add mgt_set_varlen, and mgt_unlatch_all [PATCH] prism54 fix wpa_supplicant frequency parsing * This work fixes wpa_supplicant frequency parsing. iwlist eth0 * scan will now show channel and frequency. ALSA CVS update ENS1370/1+ driver Fixed AC3-passthru on ens1371/1373 boards. SRC is bypassed when the sample rate is 48k, so that the non-audio signal won't be broken. The other sample rates still need SRC. Signed-off-by: Takashi Iwai ALSA CVS update ICE1712 driver Allow the private EEPROM image for evaluation boards The driver may have a private EEPROM image instead of reading from the board (as well as ice1724 does). It'll be helpful for test boards. Signed-off-by: Takashi Iwai ALSA CVS update ES18xx driver Fixed a bug in setting the filter register. A fix from the kernel OSS driver. The original report/patch is from http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=204147 Signed-off-by: Takashi Iwai [ALSA] Added __GFP_NORETRY to avoid OOM-killer Memalloc module __GFP_NORETRY is added to the DMA buffer allocator to avoid triggering OOM-killer. Signed-off-by: Takashi Iwai [ALSA] Enable __GFP_NOWARN as default for buffer allocation Memalloc module __GFP_NOWARN is enabled for DMA buffer allocation regardless of its size. The DMA buffer allocation is not a critical task. Signed-off-by: Takashi Iwai [ALSA] Korg1212 misc fixes KORG1212 driver The DSP firmware download timeout has been increased; Some concurrent device settings has been fixed (I have shameless copied some code from RME9652); and One debug message was fixed. Signed-off-by: Haroldo Gamal Signed-off-by: Takashi Iwai [ALSA] AC97 96 kHz sample rate support Documentation,AC97 Codec Core,Intel8x0 driver Signed-off-by: Clemens Ladisch [ALSA] add missing ifdef for disabling MIDI Intel8x0 driver Signed-off-by: Signed-off-by: Clemens Ladisch [ALSA] suppress auto-loading of modules in module_init(). ALSA sequencer The auto-loading of sequencer modules is suppressed in module_init(). The recent module-init-tools may cause blocking. Signed-off-by: Takashi Iwai [ALSA] Fix latency in ens1371 driver ENS1370/1+ driver The high latency in prepare callback of ens1371 driver is fixed. The *_rate_set() functions are moved outside of spinlock, and cond_resched() is inserted in the busy probing loop. Signed-off-by: Takashi Iwai [ALSA] add AC97 quirk for Fujitsu-Siemens E4010 Intel8x0 driver Signed-off-by: Signed-off-by: Clemens Ladisch [ALSA] remove gameport/MIDI support Documentation,PCI drivers,Intel8x0 driver snd-intel8x0's gameport/MIDI code has quite a few problems: the port addresses cannot be detected reliably (or not at all with newer LPC bridge devices), joystick port address 0x208 isn't supported, the MIDI interrupt isn't detected, PnP isn't supported, changing the port addresses in the LPC bridge configuration doesn't affect the devices in the Super-I/O chip connected to the LPC bus, and registering this driver for the LPC bridge PCI device prevents other drivers using the LPC's PCI id from loading later. All these problems can be cured by removing the offending code and using the proper modules for these devices (ns558/snd-mpu401) instead. Signed-off-by: Clemens Ladisch [ALSA] add mixer quirk for LineX FM Transmitter USB generic driver The LineX FM Transmitter needs a mixer quirk entry to ignore control errors. Signed-off-by: Lonnie Mendez Signed-off-by: Clemens Ladisch [ALSA] [ac97] Added VIA shared type. AC97 Codec Core,VIA82xx driver Added a new shared type AC97_SHARED_TYPE_VIA for via82xx southbridge to share codecs between audio and modem drivers. Signed-off-by: Sasha Khapyorsky Signed-off-by: Takashi Iwai [ALSA] [ac97] Check ac97 codec id in quirk table AC97 Codec Core Added codec_id field to ac97_quirk struct so that the devices with the same PCI subsystem IDs but with different AC97 chips can be distinguished properly. Signed-off-by: Takashi Iwai [ALSA] ac97 quirk entry for Soltek SL-75DRV5 VIA82xx driver Added an ac97 quirk entry for Soltek SL-75DRV5. Since the PCI subsystem id is identical with ASRock K7VT2, codec_id is used additionally to tell between them. Signed-off-by: Takashi Iwai [ALSA] inverted EAPD support Documentation,AC97 Codec Core,Intel8x0 driver,CS46xx driver Since there are more than one (broken) implementation of EAPD bit on ac97 chips, the new scaps bit is added for the inverted EAPD. Also, AC97_TUNE_INV_EAPD is used to tune this behavior later by snd_ac97_tune_hardware(). The ac97 quirk entry for Sony S1XP is added to turn this on. Signed-off-by: Takashi Iwai [ALSA] detect errors reported by the hardware BT87x driver stop the PCM if the hardware reports FIFO/PCI errors Signed-off-by: Clemens Ladisch [ALSA] Added Compaq Evo W4000 quirk Intel8x0 driver Added an AC97 quirk entry for Compaq Evo W4000. Signed-off-by: Takashi Iwai [ALSA] [emu10k1] Audigy DSP support EMU10K1/EMU10K2 driver This patch will add better support for Audigy DSP. More gpr, instruction and tram. It will break binary compatibility for app which use emu10k1 hwdep. Signed-off-by: Peter Zubaj Signed-off-by: Takashi Iwai Add S3C2410 (Samsung ARM9 Mobile SoC) watchdog driver [PATCH] USB: Internal port numbers start at 0 This patch changes a couple of new routines in the suspend/resume code. Internally they use port numbers starting from 1, unlike every other routine in the hub driver. This changes the port numbers to origin-0, for consistency's sake. Of course, messages sent to the system log will continue to start counting from 1. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman [PATCH] USB: SN9C10x driver update Changes: - Add support for SN9C103 based devices. The audio capability is already supported but not released in this version. I will release it once someone donates two SN9C103 based devices. - Implement VIDIOC_G_CTRL for TAS5110C1B and TAS51130D1B - Replace "SN9C10[12]" strings with "SN9C10x" - Add red, green, blue gain controls to the SN9C103 - Memory offsets are now page-aligned - Fix typos in the documentation - Documentation updates - Setting bounds are checked by the core module - Add exposure control for TAS51130D1B Signed-off-by: Luca Risolia Signed-off-by: Greg Kroah-Hartman [PATCH] USB: EHCI SMP fix This addresses an SMP-only issue with the EHCI driver, where only one CPU should scan the schedule at a time (scanning is not re-entrant) but either the IRQ handler or a watchdog timer could end up starting it. Many thanks to Olaf Hering for isolating the failure mode, and testing this fix! Once once CPU starts scanning, any other might as well finish right away. This fix just adds a flag to detect that case. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman [PATCH] USB: Codemercs IO-Warrior support From: Steffen Zieger Here is a patch to get the kernel module from Codemerces to work. The module is available in source for the 2.4 and 2.6 series except the needed changes in hid-core.c. Codemercs distribute the needed changes as a complete file (version 2.6.4). This isn't working with 2.6.8.1. http://www.codemercs.com Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman [PATCH] USB Serial: Correct a use of out of range variable Bug found by Coverity: http://linuxbugs.coverity.com/external/editbugparent.php?viewbugid=2137&checkers%5B%5D=all&status%5B%5D=BUG&status%5B%5D=UNINSPECTED&status%5B%5D=UNKNOWN&status%5B%5D=DON%27T%20CARE&status%5B%5D=PENDING&product%5B%5D=all&component%5B%5D=all&file=&fn=&sortby=reverse_rank&before=&after=&curpage=2&bugid=-1&comment=&reason= Signed-off-by: Greg Kroah-Hartman [PATCH] USB Storage: change how INQUIRY is fixed up The usb-storage driver 'fixes up' the INQUIRY data returned by a device so that it reads SCSI rev 2 by intercepting the data in-flight. This was done to make various SCSI drivers (sd, sr, etc.) work with the device. However, this technique also has the unfortunate side-effect that nobody can see the real rev. -- not even sg users. This patch changes that. Now, the SCSI revision is changed in the slave_configure() function. Thus, the 'real' data is available to anyone who wants to issue an INQUIRY directly via any means. This also simplifies the code somewhat. Signed-off-by: Matthew Dharm Signed-off-by: Greg Kroah-Hartman [PATCH] i2c-algo-ite: remove iic_sleep() Removes unused function iic_sleep(). Signed-off-by: Nishanth Aravamudan Signed-off-by: Greg Kroah-Hartman [PATCH] use of MODULE_DEVICE_TABLE in i2c busses driver hello, since you say your are interested of using MODULE_DEVICE_TABLE in http://bugzilla.kernel.org/show_bug.cgi?id=3091 I did a patch (attach). Also I notice that some pci_device_id are marked __devinitdata that seem a bug if I read Linux 2.6.0-test3 changelog. To find them do a "grep pci_device_id /usr/src/linux/drivers/i2c/busses/* | grep __devinitdata" Signed-off-by: Greg Kroah-Hartman [PATCH] I2C/SMBus stub for driver testing * Greg KH [2004-08-24 16:44:32 -0700]: > > > Why not? It looks useful to me. Care to send me a patch adding > > > this to the main kernel tree? * Mark M. Hoffman [2004-08-25 10:25:02 -0400]: > Later today, sure. Well here it is, one day later because I really didn't want to do this with printk. I spent some time looking around and relayfs seems like a good fit. Do you think relayfs will ever get merged? Meanwhile... * * * * * This patch, applied to 2.6.9-rc1, adds an I2C/SMBus test stub that is useful for developing sensors drivers. Signed-off-by: Mark M. Hoffman Signed-off-by: Greg Kroah-Hartman [PATCH] I2C: minor lm85 fix Jean scribeth : > Except lm85, but this should be fixed Indeed, patch attached. Signed-off-by: Greg Kroah-Hartman [PATCH] I2C: Do not init global variables to 0 This trivial patch enforces the rule that global variables should not be explicitely initialized to 0 for all i2c chip drivers. Signed-off-by: Jean Delvare Signed-off-by: Greg Kroah-Hartman [PATCH] I2C: Fix macro calls in chip drivers I noticed that some I2C chip drivers (all written or reviewed by me, I feel ashamed to say) misuse macros. Passing function calls (simple_strtol in this case) to macros evaluating their argument up to 4 times is certainly not wise and obviously performs poorly. It is not critical in that it happens only when writing to the chips (setting limits), which doesn't happen that often. However I'd say it's worth fixing. Thus, the patch below fixes that, by moving the function calls outside of the macro calls. Signed-off-by: Jean Delvare Signed-off-by: Greg Kroah-Hartman [PATCH] w1: Added slave->ttl - time to live for the registered slave. Added slave->ttl - time to live for the registered slave. When slave was not found we will not remove it immediately but wait until ->ttl attempts were done. It prevents various debouncing effects(problems with pull-up, power). Signed-off-by: Evgeniy Polyakov Signed-off-by: Greg Kroah-Hartman [PATCH] kobject: hotplug_seqnum is not 64 bits on all platforms, so fix it. Thanks to Kay Sievers for pointing this out. Signed-off-by: Greg Kroah-Hartman [PATCH] ksyms: don't implement /sys/kernel/hotplug_seqnum if CONFIG_HOTPLUG is not enabled. Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman USB: make usb_unlink_urb() message only show up if CONFIG_DEBUG_KERNEL is enabled. Signed-off-by: Greg Kroah-Hartman [PATCH] W1: let W1 select NET. On Wed, 2004-08-25 at 23:41, Greg KH wrote: > On Wed, Aug 25, 2004 at 11:21:29PM +0400, Evgeniy Polyakov wrote: > > On Wed, 25 Aug 2004 10:49:12 -0700 > > Greg KH wrote: > > > > > On Fri, Aug 13, 2004 at 02:35:40PM +0400, Evgeniy Polyakov wrote: > > > > The patch below fixes this issue by letting W1 select NET. > > > > > > > > Patch was created by Adrian Bunk . > > > > > > Nah, I'm going to hold off on this, it's not really needed (who > > > doesn't build with NET enabled...) > > > > Hmmm, but someone really may want to build it without NET support. > > I have an idea(I thought it out exactly for the case when you do not > > apply it) to disable networking(netlink) support in compilation time if > > CONFIG_NET is not defined. > > And add some warning like: > > > > #ifndef CONFIG_NET > > #warning Netlink support is disabled. > > #endif > > That sounds like a good fix. Signed-off-by: Greg Kroah-Hartman [PATCH] USB: Add OTG support to g_file_storage This patch adds minimal USB On-The-Go support (mainly just an extra descriptor) to the File-Storage Gadget. The changes were based on the additions made to the Gadget Zero driver. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman [PATCH] USB: New submission procedure for unusual_devs.h As you requested, this patch updates the documented procedure for submitting new unusual_devs.h entries. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman [PATCH] USB: fix up usblp usb_unlink_urb() warning On Thursday 09 September 2004 08:38, Greg KH wrote: > On Thu, Sep 09, 2004 at 01:07:05AM -0400, Gene Heskett wrote: > > Greetings; > > > > I just had to reboot back to -mm2 after playing with some printer configs > > in cups, although the test pages worked, so I'm not sure what this all > > about, from var log/messages: > > > > Sep 8 23:13:42 coyote cups: cupsd -HUP succeeded > > Sep 8 23:13:43 coyote kernel: usb_unlink_urb() is deprecated for > > synchronous unlinks. Use usb_kill_urb() Sep 8 23:13:43 coyote kernel: > > Badness in usb_unlink_urb at drivers/usb/core/urb.c:456 Sep 8 23:13:44 > > coyote kernel: [] dump_stack+0x1e/0x20 Sep 8 23:13:44 coyote > > kernel: [] usb_unlink_urb+0x85/0xa0 Sep 8 23:13:44 coyote > > kernel: [] usblp_unlink_urbs+0x17/0x40 Sep 8 23:13:44 coyote > > kernel: [] usblp_release+0x38/0x60 Sep 8 23:13:44 coyote > > kernel: [] __fput+0x12a/0x140 > > Sep 8 23:13:44 coyote kernel: [] filp_close+0x57/0x80 > > Sep 8 23:13:44 coyote kernel: [] sys_close+0x61/0x90 > > Sep 8 23:13:44 coyote kernel: [] sysenter_past_esp+0x52/0x71 Signed-off-by: Greg Kroah-Hartman [PATCH] USB: Unusual_devs entry for Panasonic cameras Thanks to Tom Hughes for jogging my memory about this patch, which has been sitting here waiting for Greg's return. It adds an unusual_devs.h entry for the Panasonic DMC-LCx line of cameras, which incorrectly report the total number of blocks in response to READ CAPACITY rather than the highest available block number. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman USB: fix usb_unlink_urb() usage in pl2303 driver Signed-off-by: Greg Kroah-Hartman USB: fix usb_unlink_urb() usage in usb-serial core Signed-off-by: Greg Kroah-Hartman USB: fix usb_unlink_urb() usage in belkin_sa driver Signed-off-by: Greg Kroah-Hartman USB: fix usb_unlink_urb() usage in cyberjack driver Signed-off-by: Greg Kroah-Hartman USB: fix usb_unlink_urb() usage in whiteheat driver Signed-off-by: Greg Kroah-Hartman USB: fix usb_unlink_urb() usage in io_edgeport driver Signed-off-by: Greg Kroah-Hartman USB: fix usb_unlink_urb() usage in ir-usb driver Signed-off-by: Greg Kroah-Hartman USB: fix usb_unlink_urb() usage in ipaq driver Signed-off-by: Greg Kroah-Hartman USB: fix usb_unlink_urb() usage in digi_acceleport driver Signed-off-by: Greg Kroah-Hartman USB: fix usb_unlink_urb() usage in empeg driver Signed-off-by: Greg Kroah-Hartman USB: fix usb_unlink_urb() usage in mct_u232 driver Signed-off-by: Greg Kroah-Hartman USB: fix usb_unlink_urb() usage in omninet driver Signed-off-by: Greg Kroah-Hartman USB: fix usb_unlink_urb() usage in visor driver Signed-off-by: Greg Kroah-Hartman USB: fix usb_unlink_urb() usage in kl5kusb105 driver Signed-off-by: Greg Kroah-Hartman USB: fix usb_unlink_urb() usage in kobil_sct driver Signed-off-by: Greg Kroah-Hartman USB: fix usb_unlink_urb() usage in io_ti driver Signed-off-by: Greg Kroah-Hartman USB: fix usb_unlink_urb() usage in ftdi_sio driver Signed-off-by: Greg Kroah-Hartman USB: fix usb_unlink_urb() usage in keyspan_pda driver Signed-off-by: Greg Kroah-Hartman USB: fix usb_unlink_urb() usage in generic usb-serial driver Signed-off-by: Greg Kroah-Hartman [PATCH] export usb_set_device_state(), use in ohci This patch is mostly cleanup, but it all helps make PM_SUSPEND_DISK start to behave better. This exports the new usb_set_device_state() routine for the virtual root hubs, and uses it in OHCI during resume after power-off to replace some HC-private code doing almost the same thing. Note that all HCDs will likely need the same kind of suspend-to-disk support (though it's different when BIOS kicks in). Some systems even power-off during suspend-to-ram (to save extra power), which is why OHCI already has this logic! Related updates: - Use usb_set_device_state() immediately when an HC dies, making khubd handle disconnect processing instead of a workqueue. So now drivers won't self-deadlock in this should-be-rare path, when disconnect() calls flush_scheduled_work(). - Don't warn about "Unlink after no-IRQ" for the the root hub's status URB ... like when suspending an HCD that never enumerated a device. - Minor IRQ handler cleanup, including more accurate tracking of whether this driver ever returned IRQ_HANDLED (shared IRQs don't count). Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman [PATCH] USB: gadget_is_n9604 This adds recognition of one more UDC driver. (Driver is available separately.) Tell gadget drivers about the National 9603/9604 UDC. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman [PATCH] USB: ohci updates Small bugfixes, at least one of which gets rid of some rather random behavior from certain board init behaviors. OHCI updates: - Bugfix the code taking frame clock adjustments from the boot loader. A recent change had a bug which caused inconsistent failures on some OHCI configs, including amd756. Thanks to for tracking down the specifics. - From Lothar Wassmann two fixes: (a) don't let tick clock sign-extend, that can make unlinks take excessively long (could happen easily enough); (b) when re-activating schedules after suspend, use the right bitmask (rare/exotic) - When suspending the root hub, mark it as USB_STATE_SUSPENDED Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman [PATCH] USB: khubd looks at ports after probe Fix the hub probe logic so that when khubd wakes up, it will actually look at all ports on the new hub. This resolved a root hub enumeration issue, and I expect the "boot from USB disk" folk will like this too. The fix includes cleanup: centralizing the logic to make khubd look at a given hub, instead of cloning it three times (or in the case of hub probing, frankensteining it). This also adds a FIXME to the new routine centralizing disconnect processing: we also want "power down port but don't wake khubd" (for PM_SUSPEND_DISK as well as SRP). Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman Add scsi_target abstraction and place it in sysfs For some of the transport class attributes, we need to hang them off the SCSI target rather than the LUN (represented by scsi_device). To do this efficiently, we need to make the target visible in the sysfs hierarchy. The net effect of this change is to make an extra target component appear in all the SCSI sysfs paths: jejb@raven> ls -l /sys/class/scsi_device/0\:0\:5\:0/device lrwxrwxrwx 1 root root 0 Sep 7 12:10 /sys/class/scsi_device/0:0:5:0/device -> ../../../devices/parisc8/parisc8:0/pci0000:00/0000:00:13.0/host0/target0:0:5/0:0:5:0/ Signed-off-by: James Bottomley Add host and target transport class abstractions This patch makes a transport class be composed of up to three individual device classes representing potential interfaces on the scsi_device, scsi_target and Scsi_Host. A class only has to implement at least one of these, but may optionally implement more. Signed-off-by: James Bottomley Make the SPI transport parameters operate at the target level Technically, the transfer agreement governs the I_T nexus (the target) not the I_T_L nexus (the device), so make it operate of the scsi_target structure. Signed-off-by: James Bottomley [PATCH] USB: omap_udc supports 5910/1510 chips This removes the "don't run on OMAP 1510" constraint from the driver and teaches it how not to use registers only available on newer chips. It's effectively just a compile fix, though ... hasn't got any board support yet. Basic build fixes for the OMAP 1510/5910. This first generation chip doesn't include an OTG controller. The patch makes the driver stop using OTG registers, and adds some #defines that will be needed to support boards using those chips. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman PCI cleanups and convert to ethtool_ops *) Reorder MWI initialization *) Perform proper cleanup on probe failure *) Remove cruft, and avoid locking up NIC on reset Signed-off-by: David A. Dillow Add bus signalling host attribute to spi transport class This is just a simple illustration of host parameters: it adds a bus signalling type for LVD/SE/HVD Signed-off-by: James Bottomley [CPUFREQ] Work around AMD64 2nd identical PST errata AMD recently errata'd the definition of the PSB/PST for recent Athlon 64 and Opteron parts. The errata allows for a second, identical PST for those parts. The current powernow-k8 driver will not work in PST/PSB mode on those parts because it requires there be 1 and only 1 PST. From: Mark Langsdorf Signed-off-by: Dave Jones [PATCH] aic79xx hostraid support Patch ported to 2.6.8 by John A. Hull (john_hull@dell.com) to add support for the aic79xx hostraid family support. Signed-off-by: James Bottomley since AHD_HOSTRAID_BOARD wasn't actually used... a more minimal patch: [PATCH] Add BLIST_INQUIRY_36 to all USB blacklist entries This patch adds the BLIST_INQUIRY_36 flag to all the SCSI blacklist entries for USB devices. While it may not be strictly necessary for all of them, it doesn't hurt: Since the usb-storage driver doesn't use any of the INQUIRY data after the first 36 bytes, there's no reason to try reading any more of it. And some devices crash when we try to read more, even though they advertise that more bytes are available. The usb-storage driver does try to set the flag automatically, but the blacklist entries override that setting. Signed-off-by: Alan Stern Signed-off-by: James Bottomley [PATCH] update NCR5380 comments Signed-off-by: James Bottomley [PATCH] USB: maintainership of acm cdc I've discussed this with Vojtech. If I brake the probe method, I can also break the rest ;-) Signed-Off-By: Oliver Neukum Signed-off-by: Greg Kroah-Hartman - new cdc acm maintainer [PATCH] scsi_debug version 1.74 To check descriptor format sense data handling we need a source. Clean up some other problems and improve support for st. Changes: - add 'dsense' option to generate descriptor sense data format (default still fixed format) - correct unit attention generation (only INQUIRY, REQUEST_SENSE and REPORT_LUNS ignore it) - better information sent to log in "noisy" mode (i.e. opts=1) - correct and expand standard INQUIRY response, include version descriptors - filter MODE_SENSE command so that subpage!=0 generates error - add REWIND (SSC) command support (NOP) Signed-off-by: James Bottomley [PATCH] update dmx3191d to modern pci/scsi probing thanks to Mark Morschh\"auser for testing. Signed-off-by: James Bottomley [PATCH] first steps at BusLogic cleanup - switch to a normal lists.h list for all hbas - merge BusLogic_DetectHostAdapter and BusLogic_init - move scsi_remove_host into BusLogic_ReleaseHostAdapter instead of a second iteration over all hosts Signed-off-by: James Bottomley [PATCH] sg.c to warn about ambiguous data direction On Sat, Aug 28, 2004 at 02:39:45AM -0700, Jeremy Higdon wrote: > > Jeremy, > > You could use a (block scope) static and only print out > > the warning the first time it is detected. > > > > Doug Gilbert > > Yes, that's a good idea -- I'll add a rate limiter and also print > out the process name like James does in his recent deprecated > ioctl warning patch. I'll send a new patch out later this weekend. > Sorry for the churn. > > thanks > > jeremy Okay, I'm pretty happy with this. I get this kind of output: sg_write: data in/out 512/512 bytes for SCSI command 0x8--guessing data in; program java not setting count and/or reply_len properly printk: 11 messages suppressed. sg_write: data in/out 512/512 bytes for SCSI command 0x8--guessing data in; program java not setting count and/or reply_len properly printk: 4 messages suppressed. signed-off-by: jeremy@sgi.com Signed-off-by: James Bottomley [PATCH] qla2xxx gcc-3.5 fixes From: Adrian Bunk CC drivers/scsi/qla2xxx/qla_os.o drivers/scsi/qla2xxx/qla_os.c: In function `qla2x00_queuecommand': drivers/scsi/qla2xxx/qla_os.c:315: sorry, unimplemented: inlining failed in call to 'qla2x00_callback': function not considered for inlining drivers/scsi/qla2xxx/qla_os.c:269: sorry, unimplemented: called from here drivers/scsi/qla2xxx/qla_os.c:315: sorry, unimplemented: inlining failed in call to 'qla2x00_callback': function not considered for inlining drivers/scsi/qla2xxx/qla_os.c:269: sorry, unimplemented: called from here make[3]: *** [drivers/scsi/qla2xxx/qla_os.o] Error 1 ... CC drivers/scsi/qla2xxx/qla_rscn.o drivers/scsi/qla2xxx/qla_rscn.c: In function `qla2x00_cancel_io_descriptors': drivers/scsi/qla2xxx/qla_rscn.c:320: sorry, unimplemented: inlining failed in call to 'qla2x00_remove_iodesc_timer': function not considered for inlining drivers/scsi/qla2xxx/qla_rscn.c:257: sorry, unimplemented: called from here make[3]: *** [drivers/scsi/qla2xxx/qla_rscn.o] Error 1 Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: James Bottomley [PATCH] Disambiguate esp.c clones From: Joshua Kwan Debian's initial ramdisk creation scripts rely on the content of /proc/scsi to determine which module is needed for the ramdisk. Unfortunately, bad things happen when a bazillion different drivers use the _exact same name_ for /proc, namely the esp family. Give them all unique names. Signed-off-by: Andrew Morton Signed-off-by: James Bottomley [PATCH] scsi/mesh: replace schedule_timeout() with msleep() Description: Use msleep() instead of schedule_timeout() to guarantee the task delays for the desired time. Signed-off-by: Nishanth Aravamudan Signed-off-by: Maximilian Attems Signed-off-by: James Bottomley [PATCH] scsi/osst: replace schedule_timeout() with msleep() Replace schedule_timeout() with msleep() to guarantee the task delays as desired. Signed-off-by: Nishanth Aravamudan Signed-off-by: Maximilian Attems Signed-off-by: James Bottomley [PATCH] scsi/wd7000: replace schedule_timeout() with msleep() Use msleep() instead of schedule_timeout() to guarantee the task delays for the desired time. Signed-off-by: Nishanth Aravamudan Signed-off-by: Maximilian Attems Signed-off-by: James Bottomley [PATCH] scsi/sd: replace schedule_timeout() with msleep() Use msleep() instead of schedule_timeout() to guarantee the task delays for the desired time. Signed-off-by: Nishanth Aravamudan Signed-off-by: Maximilian Attems Signed-off-by: James Bottomley [PATCH] scsi/qla_init: replace schedule_timeout() with Replaces schedule_timeout() with msleep() to guarantee task delays as desired. Signed-off-by: Nishanth Aravamudan Signed-off-by: Maximilian Attems Signed-off-by: James Bottomley [PATCH] scsi/qla_os: replace schedule_timeout() with msleep() Use msleep() instead of schedule_timeout() to guarantee the task delays for the desired time. Signed-off-by: Nishanth Aravamudan incremental patch adds missing include. Signed-off-by: Domen Puncer Signed-off-by: Max Attems Signed-off-by: James Bottomley [PATCH] scsi/sata_sx4: replace schedule_timeout() with Use msleep() instead of schedule_timeout() to guarantee the task delays for the desired time. Signed-off-by: Nishanth Aravamudan Signed-off-by: Maximilian Attems Signed-off-by: James Bottomley [PATCH] Remove redundant freeing code from aic7770 ahc_alloc already frees the 'name' if ahc=NULL Spotted with the source checker from Coverity.com. Signed-off-by: Dave Jones Signed-off-by: James Bottomley [PATCH] plug leaks in aic79xx Spotted with the source checker from Coverity.com. Signed-off-by: Dave Jones Signed-off-by: James Bottomley [PATCH] Remove possible reuse of stale pointer in aic7xxx Spotted with the source checker from Coverity.com. Signed-off-by: Dave Jones Signed-off-by: James Bottomley [PATCH] plug leaks in aic7xxx_osm Spotted with the source checker from Coverity.com. Signed-off-by: Dave Jones Signed-off-by: James Bottomley [PATCH] refactor tmscsim inititalization code this one I still had in my pipe. This greatly streamlines the setup code. Signed-off-by: James Bottomley [PATCH] update notcq blacklist This patch adds the two devices from the private blacklist in tmscsim to the generic one. Signed-off-by: James Bottomley [PATCH] don't include "scsi.h" in scsi_module.c we only need here Signed-off-by: James Bottomley [PATCH] avoid obsolete APIs in ide-scsi Signed-off-by: James Bottomley [PATCH] avoid obsolete APIs in eata Signed-off-by: James Bottomley [PATCH] allow non-modular mptctl There's no reason to keep people from building it into their kernels statically. Signed-off-by: James Bottomley [PATCH] mesh is ppc32-only On Wed, Aug 25, Christoph Hellwig wrote: > mesh is only present on older 32bit pmac boards and doesn't compile > on ppc64. This applies also to the other pmac-only scsi driver: Signed-off-by: James Bottomley [PATCH] fix aic79xx module_init return value when no hardware So much rearranging to just propagate the pci_module_init return value.. Signed-off-by: James Bottomley [PATCH] PATCH [1/8] qla2xxx: PCI posting fixes Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley [PATCH] PATCH [2/8] qla2xxx: Dynamic resize of request-q Dynamically resize request-queue during initialization based on the amount of memory available to the ISP. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley qla2xxx: DMA pool/api usage From: Andrew Vasquez Rework driver DMA allocations to use the DMA pool APIs to minimize potential run-time allocation failures. Signed-off-by: Andrew Vasquez Fixed up rejections and replaced the schedule_timeout's in the patch with msleep Signed-off-by: James Bottomley [PATCH] PATCH [4/8] qla2xxx: Small fixes o Always set an TCQ modifier for each command submitted. o Always (re)-initialize NVRAM during execution. o Add pci_disable_device() calls to proper locations during pci-probe failure and pci-remove. o Do not begin processing until the DPC has been marked 'active'. o Fix off-by-one error while copying sense-data. o Fix bus-reset issue during back-door execution. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley [PATCH] PATCH [5/8] qla2xxx: Rework ISR registration Rework interrupt-handler registration in anticipation of future chip types. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley qla2xxx: 23xx/63xx firmware updates From: Andrew Vasquez Resync with latest released firmware -- 3.03.02 Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley [PATCH] PATCH [8/8] qla2xxx: Update version Update version number to 8.00.00b21-k. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley [PATCH] 3ware 5/6/7/8000 driver v1.26.02.000 - Remove deprecated SCSI_IOCTL_SEND_COMMAND interface. - Remove deprecated /proc/scsi/3w-xxxx interface. - Convert entire driver to pci_driver format. - Remove all mdelays, replace w/msleep to fix possible watchdog timer issues. - Make all register accesses macros. - Remove all prototypes from header file, reorder functions to eliminate all prototypes but one. - Add sysfs 'queue_depth' setting attribute. - Add sysfs 'stats' attribute. - Fix spinlocks everywhere, remove tw_lock spinlock. - Remove all bitfields, add bitmask access macros. - Remove un-needed scsi_eh_abort entrypoint. Controller does not support aborting invididual IO's, scsi_eh_reset sufficient. Signed-off-by: James Bottomley [PATCH] Fix up scsi_test_unit_ready() to work correctly with CD-ROMs Olaf Hering noticed that SG_IO was no-longer working correctly on some CD-ROMS. The reason is a change in behaviour induced by switching to the new scsi_test_unit_ready() API. Apparently the CD-ROM special case needs to ignore both UNIT_ATTENTION and NOT_READY for removable media. Signed-off-by: James Bottomley [PATCH] sg jiffy library calls [was: sg kill local jiffies Douglas Gilbert wrote: > It has been reported that the change to sg.c in lk 2.6.9-rc1-bk5 > to use library jiffy functions breaks sg (albeit under vmware). > Evidentally sg devices are no longer recognised after that change. > > Reverting that changeset removes the problem. Strange, it is not > obvious why. > > At some stage I must have detected negative time spans (yeh yeh it > never happens) and my versions returned 0 in this case; otherwise > the implementations look very similar. The following patch fixes the problem. It is against lk 2.6.9-rc1-bk7 (i.e. after "standard" jiffy_to_millisecs macros replaced sg versions). Change: - make sure a (large) user supplied timeout value does not result in a negative timeout passed to the midlevel Signed-off-by: James Bottomley [PATCH] USB: early usb handoff for 2.6 Apparently there is an issue w/ the IBM x440/x445's BIOS's USB Legacy support. Due to the delay in issuing SMI's across the IOAPICs, its possible for I/O to ports 60/64 to cause register corruption. The solution is to disable the BIOS's USB Legacy support early in boot(via PCI quirks) for x440/x445 systems. Originally written by Vojtech against SuSE's tree, this patch was then updated to disable EHCI by Aleksey Gorelov, cleaned up by Pete Zaitcev for 2.4 and finally tweaked and updated against 2.6 by me. I've lightly tested this version of the patch, but it differs little from what Aleksey, Pete and I have been testing for 2.4. Signed-off-by: John Stultz Signed-off-by: Greg Kroah-Hartman [PATCH] USB: Improve UHCI suspend/resume This patch fixes some problems with the suspend/resume handling in the UHCI driver: Don't try to resume ports that aren't already suspended. The controller won't permit Resume signals to be sent to a port if the port isn't enabled, so don't assume it will work. Port reset and port disable will terminate Resume signalling. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman scsi: normalize fixed and descriptor sense data From: Douglas Gilbert The patch only touches two files: scsi.h and scsi_lib.c It adds the proposed facility and then uses it in scsi_lib in roughly 4 locations. IMO there were 3 sense processing errors: - block SG_IO did not get passed back deferred errors [SG_IO is a __pass-through__ interface!!] - MEDIUM_ERRORs _do_ get processed for deferred sense errors in scsi_io_completion() which seems unintended [I did not fix this one.] - invalid command operation code handling in __scsi_mode_sense() was just wrong If people think this is a reasonable approach, then the rest of the scsi mid-level and upper level driver could be converted. As Kai pointed we may need some general routines to pick up the sense data "extras". The benefit of doing this conversion is that it may well highlight a lot more sense data processing errors (if the above is any guide). Changes: - add structure to receive normalized sense data from either fixed or descriptor format sense data - add scsi_normalize_sense() function to populate that structure - add scsi_sense_is_deferred() function so deferred errors can be ignored in many contexts - apply new mechanism to sense data processing within the scsi_lib.c file Patch reformatted by: Christoph Hellwig Signed-off-by: James Bottomley [PATCH] USB: Fix off-by-one error in the hub driver This one-liner fixes a simple mistake in a newly-added part of the hub driver. When a connect change takes place on a suspended port the code clears the suspend, but the port number it passes is origin-0 and it should be origin-1. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman fix undefined function msleep warning in osst Signed-off-by: James Bottomley fix printk warning in sg.c sizeof() != int Signed-off-by: James Bottomley ServeRAID driver ( ips ) Version 7.10.18 From: Hammer, Jack - Fix path/name for scsi_hosts.h include for 2.6 kernels - Fix sort order of 7k - Remove 3 unused "inline" functions Signed-off-by: James Bottomley Kobject Userspace Event Notification Implemetation of userspace events through a netlink socket. The kernel events layer provides the functionality to raise an event from a given kobject represented by its sysfs-path and a signal string to describe the type of event. Currently, kobject additions and removals are signalized to userspace by forking the /sbin/hotplug helper. This patch moves this special case of userspace-event out of the kobject core to the new kobject_uevent implementation. This makes it possible to send all hotplug messages also through the new netlink transport. Possible new users of the kernel userspace functionality are filesystem mount events (block device claim/release) or simple device state transitions (cpu overheating). To send an event, the user needs to pass the kobject, a optional sysfs-attribute and the signal string to the following function: kobject_uevent(const char *signal, struct kobject *kobj, struct attribute *attr) Example: kobject_uevent("overheating", &cpu->kobj, NULL); The message itself is sent over multicast netlink socket, which makes it possible for userspace to listen with multiple applications for the same messages. Signed-off-by: Robert Love Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman [PATCH] tmscsim.c build fix This must have had a ton of testing. Signed-off-by: Andrew Morton Signed-off-by: James Bottomley advansys build fix it uses TCQ defines but doesn't include scsi/scsi_tcq.h Signed-off-by: James Bottomley [PATCH] start removing queue from tmscsim So actually I have a patch that starts to remove internal queueing from tmscsim. This gets rid of internal queueing for those cases where we can just make the midlayer do the the work by returning erros from ->queuecommand (and cleans up the tmscsim queuecommand implementation singnificantly). Next step would get rid of the more complicated internal queueing where we need to make the scsi layer requeue by returning appropinquate DID_ values from ->scsidone. Signed-off-by: James Bottomley [CPUFREQ] Fix numerous typos in drivers/cpufreq/Kconfig Signed-off-by: Dave Jones [PATCH] sym2 2.1.18k 2.1.18k: - Relicence from dual BSD/GPL to pure GPL - Add my copyright to various files - Remove unnecessary MDELAY calls after printfs - Rename remaining MDELAY() to mdelay(), delete MDELAY and sym_mdelay macros - Restructure PCI initialisation to not disable chips that are part of Mylex RAID cards. - Make SYM_OPT_NVRAM_PRE_READ non-optional. Signed-off-by: James Bottomley [PATCH] aacraid: Detect non-committed array From: Mark Salyzyn at Adaptec In the case of this driver patch, we will report to the user via a syslogd kernel message that a foreign array has been ignored in non-intel environments; or intel environments where the BIOS fails to load to perform this set of housekeeping functions. There is a provision, via the commit variable, to change this behavior to accept the configuration instead. Signed-off-by: Mark Haverkamp Signed-off-by: James Bottomley [PATCH] USB: ohci init refactor Please merge, some recent changes made problems by making init take too long. This also adds a bit of support for detecting the funky resume states that happen with suspend-to-disk (like swsusp, pmdisk). Refactor controller initialization ... this is most of the patch by volume. - A time-critical section now runs with IRQs blocked, rather than being split over two separate routines. (I've recently seen init failures because of preemption in the middle of that 2msec timeout, presumably by khubd.) - Bus glue for PCI, LH7A404, OMAP, and SA-1100 now shares more init logic; that'll help shrink support for upcoming non-PCI patches too. - Move the root hub register macros to the header (for debug build issue) - More tweaks to the frame clock initialization, including slightly more helpful diagnostics on "init err". Better SWSUSP support. - Detects and handles some funky "resume after suspend-to-disk" cases. These need to go through full driver re-init. - Restore root hub to CONFIGURED state on resume. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman Fix qla2xxx mismerge From: Andrew Vasquez Signed-off-by: James Bottomley [PATCH] 3ware 5/6/7/8000 driver update - Make tw_check_bits() static. - Add MODULE_VERSION support. - Fix ioctl path to use dma_alloc/free_coherent() instead of pci_alloc/free_consistent(). - Remove error variable from ioctl code causing confusion. retval defaults to -EFAULT, any copy_to/from_user() that returns non zero returns -EFAULT. Signed-off-by: James Bottomley I2C: fix up __iomem marking for i2c bus drivers Signed-off-by: Greg Kroah-Hartman [PATCH] USB: Updated USB device locking This patch reintroduces the USB device locking code we tried out earlier. As before, it solves the problem of effectively locking all the devices while drivers are registered and unregistered by introducing an rwsem. Unlike the earlier attempt, this version does not ever try to acquire a lock re-entrantly. I trust that will eliminate the races and hang-ups you observed with the earlier version. There are also copious comments explaining exactly how things should work. The patch interacts slightly with the locktree() code introduced by David for suspend/resume support. It doesn't change the functionality at all; it just updates the routine to follow the new locking rules. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman [PATCH] USB: Add locking support for USB device resets This patch reintroduces the usb_lock_device_for_reset() routine, which is specially tailored to meet the needs of drivers that have to reset a device either during probe() or during normal operations. It updates a few drivers that do device resets, to make them use the new routine. It also adds a new field to struct usb_interface, to keep track of whether the interface is in the process of being bound to or unbound from a driver. This is necessary, because during binding we know the device is already locked so we don't want to try to acquire the lock again! With this patch in place, USB device resets should finally become reliable. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman [PATCH] I2C: More verbose debug in w83781d detection Quoting myself: > As for me, I will propose my extra-debug patch (slightly cleaned up) > for inclusion into the 2.6 kernel. It helped us once, so it could > prove to be valuable in the future as well. Here is the patch. It makes the w83781d (mis)detection more verbose so as to help debugging problems. The extra messages of course only show when I2C chip debugging is enabled. It additionally features some code refactoring, some CodingStyle cleanups and adds a missing white space in one debug message. Signed-off-by: Jean Delvare Signed-off-by: Greg Kroah-Hartman [PATCH] USB: SN9C10x driver updates SN9C10x driver updates. Changes: (+ new, - removed, * cleanup, @ bugfix, = sync with kernels) @ Create correct red,green,blue entries under /sys according to the detected bridge * Add and use defined symbols for I2C slave ids of TAS5110C1B and TAS51130D1B * Color fixes for PAS202BCB - from its maintainer - Signed-off-by: Luca Risolia Signed-off-by: Greg Kroah-Hartman [PATCH] I2C: Update Documentation/i2c/writing-clients This is a very small an update to Documentation/i2c/writing-clients. The changes are about i2c client driver ID. It used to say that chip driver writers should ask for a unique ID. It now explains that such an ID is not required and they can go without it. Until we get plain rid of it... The patch additionally features CodingStyle updates. We can't ask people to respect it and at the same time ignore it in our own docs. I have made a similar change to the i2c (the project) documentation, and will propose an update to Marcelo for Linux 2.4 (not sure he will accept it though). Signed-off-by: Jean Delvare Signed-off-by: Greg Kroah-Hartman [PATCH] kobject_uevent warning fix lib/kobject_uevent.c: In function `kobject_hotplug': lib/kobject_uevent.c:225: warning: long long int format, u64 arg (arg 3) Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman [PATCH] ksysfs warning fix kernel/ksysfs.c: In function `hotplug_seqnum_show': kernel/ksysfs.c:28: warning: long long unsigned int format, u64 arg (arg 3) Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman [PATCH] USB: add missing pci_disable_device for PCI-based USB HCD From: Kenji Kaneshige This patch adds pci_disable_device() into usb_hcd_pci_remove(). If the driver decides to stop using the device, it should call pci_disable_device() to deallocate any IRQ resources, disable PCI bus-mastering, etc. Signed-off-by: Kenji Kaneshige Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman [PATCH] USB: rtl8150.c ethernet driver : usb_unlink_urb ->usb_kill_urb While we are looking at this driver, here is a way to avoid one full page of annoying messages at shutdown/module unload. Signed-off-by: Eric Valette Signed-off-by: Greg Kroah-Hartman [PATCH] USB: Patch for 3 ub bugs in 2.6.9-rc1-mm4 Actual users of ub quickly found problems, so here's a patch to address some of them. #1: An attempt to mount a CF card, pull the plug, then unmount causes a message "getblk: bad sector size 512" and an oops. This is caused by trying to do put_disk from disconnect instead of using a reference count. The sd.c does it this way (it uses kref). #2: The hald fills /var/log/messages with block device errors. It seems that it happens because ub allowed opens of known offline devices, and then partition checking produced those errors. I hope taking code from sd.c should fix it. Also I replaced usb_unlink_urb with usb_kill_urb. Signed-off-by: Greg Kroah-Hartman [PATCH] USB: acm work around for misplaced this implements a work around for some devices which have correct extra descriptors, but misplace them. Signed-Off-By: Oliver Neukum Signed-off-by: Greg Kroah-Hartman [PATCH] USB: Descriptor listing bugfix for g_file_storage This patch repairs a mistake I made when adding OTG support to the file-storage gadget. All the descriptor entries were bumped up by one, which caused a problem during initialization. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman [PATCH] USB: remove ugly code from usb/serial/usb-serial.c. This patch removes ugly code from some function in usb/serial/usb-serial.c which is using a goto statement intead of a simple `return'. To be true, I'm not certain if there is a special reason to do that, if so ignore me. ;) Signed-off-by: Luiz Capitulino Signed-off-by: Greg Kroah-Hartman [PATCH] USB: missing check in usb/serial/usb-serial.c. This patch add a missing check in the call to bus_register() and not initialise `result' (which is not necessary). Signed-off-by: Luiz Capitulino Signed-off-by: Greg Kroah-Hartman [PATCH] USB: cdc-acm-usb-use-uninit-mem-bug.patch Attached is a patch for cdc-acm out of bounds access. Signed-off-by: Catalin(ux aka Dino) BOIE Signed-off-by: Greg Kroah-Hartman [PATCH] USB: Allow device resets for hubs This patch adds support for calling usb_reset_device() on hubs (other than root hubs). It uses some of the new routines added recently by David Brownell to shorten and simplify the code. The only place where this is called is if khubd encounters a serious error with a hub, so I don't expect it to turn up very often in ordinary use. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman [CPUFREQ] i386 Kconfig fixes i386 cpufreq Kconfig fixes: - /proc/acpi/processor/../performance is available for all ACPI perflib drivers - powernow-k8 depends on FREQ_TABLE - clarify the heavy dependency of SPEEDSTEP_CENTRINO on ACPI - remove the EXPERIMENTAL tag of SPEEDSTEP_CENTRINO_ACPI - allow to disable SPEEDSTEP_CENTRINO_TABLE Signed-off-by: Dominik Brodowski Signed-off-by: Dave Jones [CPUFREQ] x86_64 Kconfig fixes x86_64 cpufreq Kconfig fixes: - SPEEDSTEP_CENTRINO _needs_ the ACPI perflib as the tables are for Banias only, and the Banias is only 32bit - SPEEDSTEP_CENTRINO_TABLE won't be built in any longer as it only wastes space - /proc/acpi/processor/../performance is available for all ACPI perflib drivers Signed-off-by: Dominik Brodowski Signed-off-by: Dave Jones [CPUFREQ] arm Kconfig fixes arm cpufreq Kconfig enhancements: - don't force the deprecated 24_API on SA11x0 any more, as it will be removed ~2005-01-01 and different interfaces have been available for a long time - don't mark CPU_FREQ as being EXPERIMENTAL any longer - re-order it in the same way other arches are ordered Signed-off-by: Dominik Brodowski Signed-off-by: Dave Jones [CPUFREQ] core Kconfig fix cpufreq core Kconfig fix: - 24_API is a part of the userspace governor, so keep it directly below the userspace governor Signed-off-by: Dominik Brodowski Signed-off-by: Dave Jones [CPUFREQ] speedstep-centrino should only decode MSR on certain CPUs The encoding of the MSR only works as described in extract_clock() on certain EST-enabled CPUs. So, limit the actual MSR check to these CPUs. Signed-off-by: Dominik Brodowski Signed-off-by: Dave Jones [CPUFREQ] remove double calls to module_get/put in userspace governor The cpufreq core properly gets and puts the modules it calls, including governors. So there's no need to keep the racy in-module calls in cpufreq_userspace denoting otherwise. Signed-off-by: Dominik Brodowski Signed-off-by: Dave Jones [CPUFREQ][1/4] cpufreq "cpu group" awareness: add policy->cpus Save the "affected_cpu_map" used in SMT-aware drivers in struct cpufreq_policy->(cpumask_t) cpus, and use it wherever possible. In most cases, the ->get() function is only allowed to run on one CPU [the one passed as argument] to keep code simpler, and as that code path isn't executed often, and only root can do it anyway. Signed-off-by: Dominik Brodowski Signed-off-by: Dave Jones [CPUFREQ][2/4] cpufreq "cpu group" awareness: save sysdev for all CPUs Save a copy of each CPU's struct sys_device in drivers/cpufreq/cpufreq.c so that symlinks can be removed even outside the specific sys_device's ->remove() function. Signed-off-by: Dominik Brodowski Signed-off-by: Dave Jones [CPUFREQ][3/4] cpufreq "cpu group" awareness: do symlinks for other CPUs instead of registering kobjects Only register each "affected_cpu_mask" once, and do symlinks for those CPUs not directly registered to the driver model. Zwane Mwaikambo tested it, and here is the result: root@morocco cpu {0:0} pwd /sys/devices/system/cpu root@morocco cpu {0:0} tree . |-- cpu0 | |-- cpufreq | | |-- cpuinfo_cur_freq | | |-- ... | | -- scaling_setspeed | -- online -- cpu1 |-- cpufreq -> ../../../../devices/system/cpu/cpu0/cpufreq -- online Signed-off-by: Dominik Brodowski Signed-off-by: Dave Jones [CPUFREQ][4/4] cpufreq "cpu group" awareness: remove FIXME in speedstep-ich Remove the FIXME in speedstep-ich. arch/i386/kernel/cpu/cpufreq/speedstep-ich.c | 8 ++------ 1 files changed, 2 insertions(+), 6 deletions(-) Signed-off-by: Dominik Brodowski Signed-off-by: Dave Jones PCI: fix __iomem warnings in quirk code Signed-off-by: Greg Kroah-Hartman kevent: standardize on the event types This prevents any potential typos from happening. Signed-off-by: Greg Kroah-Hartman USB: fix hcd-pci's __iomem warnings Signed-off-by: Greg Kroah-Hartman USB: fix up __iomem warnings in the ehci driver. Signed-off-by: Greg Kroah-Hartman USB: fix up __iomem warnings in the ohci driver. Signed-off-by: Greg Kroah-Hartman USB: fix up some minor sparse warnings in the uhci driver. Signed-off-by: Greg Kroah-Hartman kevent: add block mount and umount support Send notification over the new netlink socket to let userspace know that the filesystem code claims/releases the superblock on an blockdevice. This way, userspace can get rid of constantly polling /proc/mounts to watch for filesystem changes. Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman [PATCH] w1_therm: more precise temperature calculation This patch will introduce new temperature calculation mechanism which allows to use up to 9bit resolution(currently 3 digits after point). Fixed timeout issues with multiple repeated reading. Signed-off-by: Evgeniy Polyakov Signed-off-by: Greg Kroah-Hartman [PATCH] USB: remove calls to usb_unlink_urb in class/audio.c Signed-off-by: Borislav Petkov Signed-off-by: Greg Kroah-Hartman [PATCH] USB: remove calls to usb_unlink_urb in class/bluetty.c Signed-off-by: Borislav Petkov Signed-off-by: Greg Kroah-Hartman [PATCH] USB: remove calls to usb_unlink_urb in class/cdc-acm.c Signed-off-by: Borislav Petkov Signed-off-by: Greg Kroah-Hartman [PATCH] USB: remove calls to usb_unlink_urb in class/usb-midi.c Signed-off-by: Borislav Petkov Signed-off-by: Greg Kroah-Hartman [PATCH] USB: remove calls to usb_unlink_urb() in image/hpusbscsi.c here's my next cleanup. I've changed the name of the goto label in order to remain consistent with naming. Signed-off-by: Borislav Petkov Signed-off-by: Greg Kroah-Hartman fix SPI transport attributes not showing up in sysfs There was a typo in the host patch that wrongly added a null into the target attributes. add channel to struct scsi_target this may be temporary depending on how the channel issue is resolved for qla1280 [PATCH] mark scsi_add_host __must_check it seems scsi_add_host() is one of those functions that a driver really has to check the return value of, but several forget to do this. Patch below marks it __must_check which will cause a warning in this case (with gcc 3.4 and later).. Signed-off-by: James Bottomley [PATCH] fix Scsi_Host leak in BusLogic Signed-off-by: James Bottomley [PATCH] kill useless spinlock wrappers in BusLogic Signed-off-by: James Bottomley [PATCH] remove abort,reset methods from host templates Due to the prototype changes they'd been giving warnings since before 2.6.0 was release, it's time to finally kill them. Signed-off-by: James Bottomley [PATCH] avoid obsolete "scsi.h" APIs in st > Date: Tue, 14 Sep 2004 20:18:00 +0200 > From: Christoph Hellwig > Subject: [PATCH] avoid obsolete "scsi.h" APIs in st > > no actual behaviour changes, just update to the less obsfucated 2.6+ > APIs. > Looks good to me but did not link when DEBUG was set to 1: one print_req_sense() conversion was missed. This is corrected in the patch at the end of this message. Signed-off-by: Kai Makisara Signed-off-by: James Bottomley scsi: add blacklist attribute indicating no ULD attach From: Jeremy Higdon Add blacklist attribute to disable ULD attachment to a lun, and use that attribute for SGI-branded Engenio UTM luns. Minor rejection fixes and Signed-off-by: James Bottomley [PATCH] add missing pci_disable_device for e1000 From: Kenji Kaneshige This patch adds pci_disable_device() into e1000_remove(). If your driver decides to stop using the device, it should call pci_disable_device() to deallocate any IRQ resources, disable PCI bus-mastering, etc. Signed-off-by: Kenji Kaneshige Signed-off-by: Andrew Morton [PATCH] pegasus.c fixes drivers/usb/net/pegasus.c: In function `pegasus_set_settings': drivers/usb/net/pegasus.c:961: warning: passing arg 2 of `mii_ethtool_sset' from incompatible pointer type drivers/usb/net/pegasus.c: In function `pegasus_get_msglevel': drivers/usb/net/pegasus.c:978: warning: unused variable `pegasus' drivers/usb/net/pegasus.c: In function `pegasus_set_msglevel': drivers/usb/net/pegasus.c:985: warning: unused variable `pegasus' Signed-off-by: Andrew Morton [PATCH] e100 - Use pci_device_name for syslog messages till registering netdevice [PATCH] e100 - use NET_IP_ALIGN to set rx data buffer alignment [PATCH] e100 driver version number update [PATCH] e1000 - use pci_device_name for syslog messages till registering netdevice. [PATCH] e1000 - Removed support for advanced TCO features [PATCH] e1000 Check value returned by from pci_enable_device [PATCH] e1000 - Fix VLAN filter setup errors (while running on PPC) [PATCH] e1000 - Polarity reversal workaround for 10F/10H links [PATCH] e1000 - Ethtool -- 82545 do not support WoL [netdrvr b44] ignore carrier lost errors some (?) hardware seems to be buggy and is reporting bogus carrier lost values. Both reference implementations from Broadcom indicate that this counter is not reliable and therefore ignore it. We should do the same. "Fixes" the carrier lost problem i've seen. Signed-off-by: Florian Schirmer [netdrvr b44] clean up SiliconBackplane definitions/functions there is a good amount of code to support SiliconBackplane functions which are unneeded or simply plain wrong. Lets get rid of it. Signed-off-by: Florian Schirmer [netdrvr b44] update MODULE_AUTHORS As prodded by David Miller. [PATCH] b44: use bounce buffers to workaround chip DMA bug/limitations Signed-off-by: Pekka Pietikainen scsi: add proper pci id table to aic7xxx From: Andi Kleen Patch updated by: Christoph Hellwig Signed-off-by: James Bottomley [PATCH] 2.6.9 aacraid: aac_count fix Changed the managing of aac device structures to a linked list so that there is no limit to how many adapters can be configured. Also, put the call to scsi_add_host earlier in the probe function, before devices are accessed. Signed-off-by: Mark Haverkamp Signed-off-by: James Bottomley [PATCH] SCSI QLA not working on latest *-mm SN2 On Thursday, September 16, 2004 1:56 pm, Andrew Vasquez wrote: > On Thu, 2004-09-16 at 13:05, Jesse Barnes wrote: > > On Thursday, September 16, 2004 12:56 pm, Paul Jackson wrote: > > > Andrew Vasquez has been looking at this, via private email with just > > > me (no progress yet). Figured I update the larger list with this much > > > ... > > > > It seems to be failing on one of the accesses to PCI_COMMAND in config > > space in qla2x00_reset_chip(). I'm checking now to see if we're > > accessing the card right after a reset but before the card has finished. > > That would cause a master abort, the symptom I'm seeing at least. > > Interesting, the only changes in reset_chip() are for PCI posting > issues. Relevant diff attached. Yeah, I think one of these is the culprit. Before I got your message, I fixed some of them in my tree already (see attached) and things seem to work. WRT_REG_WORD(®->hccr, HCCR_CLR_RISC_INT); + RD_REG_WORD(®->hccr); /* PCI Posting. */ WRT_REG_WORD(®->hccr, HCCR_CLR_HOST_INT); + RD_REG_WORD(®->hccr); /* PCI Posting. */ /* Reset ISP chip. */ WRT_REG_WORD(®->ctrl_status, CSR_ISP_SOFT_RESET); + RD_REG_WORD(®->ctrl_status); /* PCI Posting. */ In particular, are the above ok? If the chip is resetting, won't doing a read cause a machine check (or at the very least, a device select timeout, which will return all ones on friendlier platforms). WRT_REG_WORD(®->ctrl_status, CSR_ISP_SOFT_RESET); + RD_REG_WORD(®->ctrl_status); /* PCI Posting. */ Same here? Signed-off-by: James Bottomley [PATCH] SCSI QLA not working on latest *-mm SN2 (qla_dbg fixes) On Thu, 2004-09-16 at 14:09, Jesse Barnes wrote: > On Thursday, September 16, 2004 1:56 pm, Andrew Vasquez wrote: > > On Thu, 2004-09-16 at 13:05, Jesse Barnes wrote: > > > On Thursday, September 16, 2004 12:56 pm, Paul Jackson wrote: > > > > Andrew Vasquez has been looking at this, via private email with just > > > > me (no progress yet). Figured I update the larger list with this much > > > > ... > > > > > > It seems to be failing on one of the accesses to PCI_COMMAND in config > > > space in qla2x00_reset_chip(). I'm checking now to see if we're > > > accessing the card right after a reset but before the card has finished. > > > That would cause a master abort, the symptom I'm seeing at least. > > > > Interesting, the only changes in reset_chip() are for PCI posting > > issues. Relevant diff attached. > > Yeah, I think one of these is the culprit. Before I got your message, I fixed > some of them in my tree already (see attached) and things seem to work. > Hmm, seems we were a bit too over-aggressive in placement of the readw()s :( > WRT_REG_WORD(®->hccr, HCCR_CLR_RISC_INT); > + RD_REG_WORD(®->hccr); /* PCI Posting. */ > WRT_REG_WORD(®->hccr, HCCR_CLR_HOST_INT); > + RD_REG_WORD(®->hccr); /* PCI Posting. */ > > /* Reset ISP chip. */ > WRT_REG_WORD(®->ctrl_status, CSR_ISP_SOFT_RESET); > + RD_REG_WORD(®->ctrl_status); /* PCI Posting. */ > > In particular, are the above ok? If the chip is resetting, won't doing a read > cause a machine check (or at the very least, a device select timeout, which > will return all ones on friendlier platforms). > There are several more which deltas in qla_dbg.c which are suspect also. > WRT_REG_WORD(®->ctrl_status, CSR_ISP_SOFT_RESET); > + RD_REG_WORD(®->ctrl_status); /* PCI Posting. */ > > Same here? > Andrew, please add Jesse's patch along with the patch I'm attaching to your tree. I'll be sure to add the ia64 machine back into our test ring. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley some ncr53c8xx decrufting From: Christoph Hellwig kills lots of BSD glue and procfs mess Acked by: Matthew Wilcox Signed-off-by: James Bottomley scsi: Add reset ioctl capability to ULDs Currently, the only way to issue a SCSI reset of any type is to use the sg device. By adding extra ioctls to scsi_ioctl.c we enable this for all ULDs. The slight complication is that scsi_ioctl() is usually only called when the device has been checked not to be undergoing eh recovery. Resets may be issued in this scenario if the user opens the device O_NONBLOCK. Signed-off-by: James Bottomley [PATCH] (1/4) acenic - use netdev_priv Trivial, use netdev_priv Signed-off-by: Stephen Hemminger [PATCH] (2/4) acenic - eliminate MAX_SKB_FRAGS #if Since MAX_SKB_FRAGS is defined in both 2.4 and 2.6, it makes sense to eliminate this old #if code. Signed-off-by: Stephen Hemminger [PATCH] (3/4) acenic - __iomem warnings cleanup This cleans all the compile warnings and most of the sparse warnings for the acenic driver relating to io memory space. Remaining warnings are because tx_ring can be either in i/o or not depending on the version of the card. Not tested on old TIGON card. Signed-off-by: Stephen Hemminger [PATCH] (4/4) acenic - don't spin forever in hard_start_xmit If driver is stuck due to ring full and hardware or link error, don't spin forever in the hard_start_xmit routine. Signed-off-by: Stephen Hemminger [PATCH] swsuspend for ne2k-pci cards Author: Éric Brunet [netdrvr sis900] whitespace and codingstyle updates Big patch, but only contains whitespace and CodingStyle fixes to make the whole sis900.c file uniform. Some >80 lines where too difficult to split, so I let them alone, readability would be just as bad as is now. This patch depends on the previous one liner that adds the new PHY ID and is made against kernel 2.6.8 (as the previous). This patch is also available at: http://teg.homeunix.org/sis900.html [PATCH] via-velocity: wrong module name in Kconfig documentation Copy/paste abuse. [PATCH] Stop queue on close in hdlcdrv The stop method of a driver should ensure queueing is stopped ... [PATCH] move scsi_add_host back to where it belongs in aacraid looks like you applied a premature version of the last aacraid patch. This one moves the scsi_add_host back so it's not called before the driver is ready to accept queued commands. Signed-off-by: James Bottomley [PATCH] don't mark aacraid as experimental Signed-off-by: James Bottomley [PATCH] Allow LLDD's to fail slave alloc (non-existent slave) In the cases where an LLDD knows that a lun does not exist, if it fails slave_alloc(), the midlayer reports an error message indicating slave_alloc failed. This patch allows the LLDD to reject the slave_alloc() call if it knows the lun doesn't exist, and skips the reporting of the slave_alloc failure message. This avoids jumping through hoops in the LLDD to avoid error messages from slave_alloc. Also saves cycles in that the probe is also cancelled for the non-existent device. Signed-off-by: James Bottomley [PATCH] USB: remove call to usb_unlink_urb() in media/usbvideo.c Signed-off-by: Borislav Petkov Signed-off-by: Greg Kroah-Hartman [PATCH] USB: remove calls to usb_unlink_urb in media/stv680.c Signed-off-by: Borislav Petkov Signed-off-by: Greg Kroah-Hartman [PATCH] USB: remove calls to usb_unlink_urb in media/se401.c Signed-off-by: Borislav Petkov Signed-off-by: Greg Kroah-Hartman [PATCH] USB: remove call to usb_unlink_urb in media/ov511.c Signed-off-by: Borislav Petkov Signed-off-by: Greg Kroah-Hartman [PATCH] USB: remove calls to usb_unlink_urb in media/konicawc.c since usb_kill_urb is a void function, the checking of the return status had to go too. Signed-off-by: Borislav Petkov Signed-off-by: Greg Kroah-Hartman [PATCH] USB: remove calls to usb_unlink_urb in input/xpad.c Signed-off-by: Borislav Petkov Signed-off-by: Greg Kroah-Hartman [PATCH] USB: usb_unlink_urb removal from input/ati_remote.c Signed-off-by: Borislav Petkov Signed-off-by: Greg Kroah-Hartman [PATCH] USB: remove calls to usb_unlink_urb in input/wacom.c Signed-off-by: Borislav Petkov Signed-off-by: Greg Kroah-Hartman [PATCH] USB: remove calls to usb_unlink_urb in input/usbmouse.c Signed-off-by: Borislav Petkov Signed-off-by: Greg Kroah-Hartman [PATCH] USB: remove calls to usb_unlink_urb in core/message.c Signed-off-by: Borislav Petkov Signed-off-by: Greg Kroah-Hartman [PATCH] USB: remove usb_unlink_urb() calls in input/kbtab.c Signed-off-by: Borislav Petkov Signed-off-by: Greg Kroah-Hartman [PATCH] USB: usb_unlink_urb removal from input/hid-core.c Signed-off-by: Borislav Petkov Signed-off-by: Greg Kroah-Hartman [PATCH] USB: remove calls to usb_unlink_urb in input/mtouchusb.c Signed-off-by: Borislav Petkov Signed-off-by: Greg Kroah-Hartman [PATCH] USB: usb_unlink_urb removal from input/aiptek.c Signed-off-by: Borislav Petkov Signed-off-by: Greg Kroah-Hartman [PATCH] USB: remove calls to usb_unlink_urb in input/usbkbd.c Signed-off-by: Borislav Petkov Signed-off-by: Greg Kroah-Hartman [PATCH] USB: remove calls to usb_unlink_urb() in input/pid.c Signed-off-by: Borislav Petkov Signed-off-by: Greg Kroah-Hartman [PATCH] USB: remove calls to usb_unlink_urb in image/mdc800.c (v2) Signed-off-by: Borislav Petkov Signed-off-by: Greg Kroah-Hartman [PATCH] USB: remove calls to usb_unlink_urb in input/powermate.c Signed-off-by: Borislav Petkov Signed-off-by: Greg Kroah-Hartman [PATCH] USB: remove calls to usb_unlink_urb() in input/touchkitusb.c Signed-off-by: Borislav Petkov Signed-off-by: Greg Kroah-Hartman [PATCH] USB: oops, revert drivers/usb/core/message.c change. That patch was just not right... Signed-off-by: Greg Kroah-Hartman [PATCH] usb speedtch: no side-effects in BUG_ON It seems that people want BUG_ON to be like an assertion: harmless if removed. Signed-off-by: Duncan Sands Signed-off-by: Greg Kroah-Hartman [PATCH] usb speedtch: convert to using usb_kill_urb Unlike usb_unlink_urb, usb_kill_urb guarantees that completion handlers have finished running before it returns. The bunch of disconnect code that waited for completion handlers can now go away. Signed-off-by: Duncan Sands Signed-off-by: Greg Kroah-Hartman [PATCH] switch fusion to use everywhere Acked By: Moore, Eric Dean Signed-off-by: James Bottomley USB: fix incorrect usage of usb_kill_urb in rtl8150 driver. Signed-off-by: Greg Kroah-Hartman [PATCH] USB: Fix oops in usblp driver This bug was reported back in July, and I sent out a patch but apparently it never got to you. The usblp driver was calling usb_buffer_free() from usblp_cleanup(), which runs after disconnect() if a user process holds the device open. But once the usb_device is gone usb_buffer_free() will oops. The patch frees the buffers in usb_disconnect() instead. Recently Joost Witteveen reported the same oops and found that the patch solved it for him. So there shouldn't be problems with accepting it. Signed-off-by: Alan Stern Signed-off-by: Vojtech Pavlik Signed-off-by: Greg Kroah-Hartman [PATCH] USB: net2280 updates Net2280 patches to: - Make reset logic ensure endpoint toggle and halt bits only get cleared on endpoints other than ep0 to fix an extremely unlikely (but possible) state when a setup packet come in after we've checked the reset status but before calling ep_reset(). - Avoid a disconnect hang by exchanging SUSPEND_IMMEDIATELY (intended for use when the 8051 is the PCI host) with SUSPEND_REQUEST_INTERRUPT to suspend the NET2280. - Make rmmod of gadget drivers trigger disconnect; earlier changes to reset logic broke this. Signed-off-by: Alex Sanks Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman [PATCH] USB: host side fixes for pxa2xx/ethernet/rndis gadgets, like gumstix This fixes an interop glitch with PXA gadgets; please merge. This resolves an issue that's more or less specific to hosts trying to talk pxa255 based Linux devices using the Ethernet/RNDIS gadget driver. - Teaches "usbnet" about the product ID used by pxa255 based devices when they enable RNDIS, since it won't be using CDC Ethernet. - Forces usbcore config selection code to use non-RNDIS configurations, even when their class is vendor-specific (as in the pxa255 case). This makes gumstix devices, for example, talk with Linux 2.6.9 hosts AND with Windows ... previously only one would work. From: Craig Hughes Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman [PATCH] USB: Support system suspend in File-Storage Gadget This patch adds support for system-wide suspend to the File-Storage Gadget. Please apply. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman [PATCH] USB: Suspend update for dummy_hcd This patch fixes a few minor errors in the port suspend/resume handling code of the dummy_hcd driver. There are a couple of other small changes too, such as removing a BUG_ON(). Please apply. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman [PATCH] USB: Activate new hubs and resumed hubs the same way This patch makes the newly-probed hub pathway, the hub reset pathway, and the resumed hub pathway all use the same routine for activating the hub and scanning for port change events as soon as possible. It's a modified version of something originally written by David Brownell, updated to match the current source. Please apply. Signed-off-by: David Brownell Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman [PATCH] USB: Add Surecom USB Ethernet device ids to usbnet Add Surecom EP-1427X-2 device ids. Signed-off-by: David Hollis Signed-off-by: Greg Kroah-Hartman [PATCH] USB: Use list_for_each_entry etc. in UHCI driver This patch was developed largely by Domen Puncer. It makes the code in the UHCI driver more readable by utilizing list_for_each_entry and related macros. I merely made a couple of very small stylistic changes and converted one additional hunk of code. Signed-off-by: Domen Puncer Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman [PATCH] USB: Fix data toggle handling in the UHCI driver This patch fixes an error in the way the UHCI driver computes data-toggle updates when unlinking a bulk or interrupt URB that hasn't transferred any data. Thanks to Thierry Chantry for finding this bug and testing the patch. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman [PATCH] i2c: Add Intel VRD 10.0 and AMD Opteron VID support This patch adds support for Intel VRD 10.0 and AMD Opteron VID calculations. It is based on the lm_sensors project CVS, r1.6. Signed-off-by: Mark M. Hoffman Signed-off-by: Greg Kroah-Hartman [PATCH] I2C: Cleanup lm78 init This patch cleans the init part of the lm78 driver. * Do not reset the chip. * Get rid of useless code, which was accidentally left in when we removed the limit initialization from the driver. * Do not enable monitoring if it is already enabled (it wouldn't hurt, but since we can avoid it at no cost...) Similar changes were applied to the Linux 2.4 driver, which I successfully tested on my own LM78 chip. Signed-off-by: Jean Delvare Signed-off-by: Greg Kroah-Hartman [PATCH] i2c/i2c-mpc: replace schedule_timeout() with msleep_interruptible() Properly orders set_current_state() and add_wait_queue(). Uses msleep_interruptible() in place of schedule_timeout() to guarantee the task delays as expected. Uses set_current_state() instead of direct assignment of current->state. Signed-off-by: Nishanth Aravamudan Signed-off-by: Greg Kroah-Hartman [ALSA] Fix the OSS PCM emulation - O_NONBLOCK write ALSA<-OSS emulation This patch fixes the OSS PCM write() in O_NONBLOCK mode. The previous code had not returned partial written bytes. Signed-off-by: Jaroslav Kysela [ALSA] Added support for AudioTrak Prodigy 192 cards ICE1712 driver,ICE1724 driver Signed-off-by: Kouichi ONO Signed-off-by: Jaroslav Kysela [ALSA] add UA-1000 sample rate detection USB generic driver Instead of assuming 48 kHz, the driver now detects the current sample rate setting. Signed-off-by: Clemens Ladisch [ALSA] mark snd_card_dummy_new_mixer() as static Generic drivers Signed-off-by: Jaroslav Kysela [ALSA] [ac97 core] added AC97_SCAP_DETECT_BY_VENDOR flag AC97 Codec Core,Intel8x0 driver This patch adds a AC97_SCAP_DETECT_BY_VENDOR flag for Xbox. If the flag is set, the AC97 codec is detected only by reading of a reasonable vendor ID. It seems that Xbox has accessible only vendor/device ID registers for reading. Also, a new xbox parameter for snd-intel8x0 has been introduced to let user force this behaviour. Signed-off-by: Jaroslav Kysela [ALSA] copy_to_user() return value checking in snd_seq_read() ALSA sequencer Here's a patch that ensures the copy_to_user() return value gets checked and acted upon if it is != 0 (that is, if we failed to copy all data) in snd_seq_read(). Signed-off-by: Jesper Juhl Signed-off-by: Jaroslav Kysela [ALSA] Added missing header file for AudioTrak Prodigy 192 cards ICE1712 driver Signed-off-by: Kouichi ONO Signed-off-by: Jaroslav Kysela [ALSA] Fix driver name for nforce and clean-up Intel8x0-modem driver Driver name is always ICH-MODEM as defined in alsa-lib config. Cosmetic cleanups: unused include files, MODULE_DEVICE update. Signed-off-by: Sasha Khapyorsky Signed-off-by: Takashi Iwai [ALSA] show codec name in card description AC97 Codec Core,ATIIXP driver,Intel8x0 driver,VIA82xx driver Include the AC97 codec name in the card longname of motherboard controllers. (to enhance the chance of getting useful bug reports :) Signed-off-by: Clemens Ladisch [ALSA] adjust intel8x0 joystick documentation Documentation Signed-off-by: Clemens Ladisch [ALSA] enhance Kconfig help texts ARM,ALSA Core,Generic drivers,ISA,PARISC,PCI drivers,PCMCIA Kconfig,PPC USB add module names and references to other documentation files add more help for generic options Signed-off-by: Clemens Ladisch [ALSA] remove 'ALSA' from Kconfig USB menu name USB make ISA, PCI and USB device look the same in {q,x,menu}config Signed-off-by: Thierry Vignaud Signed-off-by: Clemens Ladisch [ALSA] fix ALI M5451 description PCI drivers modify ali5451 and intel8x0 help texts to better distinguish between M5451 and M5455 AC97 controllers Signed-off-by: Clemens Ladisch [ALSA] Fixes for PCM/control 32bit emulation PCM Midlevel,IOCTL32 emulation - Size mismatch of control element struct due to packed attribute is removed. - A typo in PCM syncptr definition is fixed. - Suppress the mmap of PCM status/control records on 32bit emulation mode since the record size doesn't match. Signed-off-by: Takashi Iwai [ALSA] Support for capture of 16,32,64 channels on emu10k1 device 2 EMU10K1/EMU10K2 driver This patch changes default constraint on 'EFX voices mask' control and allow capture of 1, 2, 4, 8, 16, 32, 64 channels instead of 1, 2, 4, 8. Signed-off-by: Peter Zubaj Signed-off-by: Takashi Iwai [ALSA] Remove delay() to improve latency ES1968 driver - Removed mdelay() in ac97 codec handling. - Improved the clock measurement routine to allow the longer sleep time. Now it invokes schedule_timeout() instead of a long mdelay(). Signed-off-by: Takashi Iwai [ALSA] Improved clock measurement Intel8x0 driver Improved the clock measurement routine to allow the longer sleep time. Now it invokes schedule_timeout() instead of a long mdelay(). Signed-off-by: Takashi Iwai [ALSA] Fixed the obsolete description in comments IOCTL32 emulation Signed-off-by: Takashi Iwai [ALSA] Fix auto-loading of sequencer modules ALSA sequencer Allow auto-loading of sequencer modules except for module init time (which may cause blocking). Signed-off-by: Takashi Iwai [ALSA] Fix iomem variable type Documentation,ALSA Core,MPU401 UART,OPL3,CS46xx driver,YMFPCI driver ATIIXP driver,ATIIXP-modem driver,CS4281 driver,Intel8x0 driver Intel8x0-modem driver,RME32 driver,RME96 driver,au88x0 driver KORG1212 driver,MIXART driver,NM256 driver,RME HDSP driver RME9652 driver,PPC Tumbler driver The type of iomem variables is changed to void __iomem *. Signed-off-by: Takashi Iwai [ALSA] Added support of Mediastation ICE1712 driver The support for Lionstracs Mediastation is added. The model name is 'mediastation'. Signed-off-by: Takashi Iwai [ALSA] rme32 segfault fix RME32 driver - disables buffer prefill in halfduplex mode, which fixes segmentation fault of rme32 for playback in halfduplex mode Signed-Off-By: Martin Langer Signed-off-by: Takashi Iwai [ALSA] [hdsp] Fix for 64bit architectures RME HDSP driver Fixed the loading of firmware data and the handling of meter mmap on 64bit architectures. Signed-off-by: Takashi Iwai [ALSA] Fix SPDIF rate setting for old ICHs Intel8x0 driver Force to set SPDIF rate when PCMOUT is used on ICH[1-3]. ICH4, NFORCE and ALI uses a separate DMA for SPDIF. Signed-off-by: Takashi Iwai [ALSA] use card-specific driver name au88x0 driver use CARD_NAME_SHORT as driver name to allow different configuration file aliases in alsa-lib Signed-off-by: Clemens Ladisch [ALSA] remove 'Rawmidi' part from sequencer port names ALSA sequencer Signed-off-by: Clemens Ladisch [ALSA] don't stop capture on errors BT87x driver don't stop capture on errors because there's too much broken hardware out there Signed-off-by: Clemens Ladisch [PATCH] Put symbolic links between drivers and modules in the sysfs tree This functionality is essential for us to work out which drivers are supplied by which modules. We use this in turn to work out which modules are necessary to find the root device (and hence what initrd/initramfs needs to insert). If you look at debian at the moment, it uses a huge mapping table on /proc/scsi/* to do this. If we implement the sysfs feature, we can simply go from /sys/block/ to the actual device to the driver and then to the module with no need of any fixed tables. Signed-off-by: James Bottomley Signed-off-by: Greg Kroah-Hartman [PATCH] USB: add support for symlink from usb and usb-serial driver to its module in sysfs Signed-off-by: Greg Kroah-Hartman [PATCH] PCI: add "struct module *" to struct pci_driver to show symlink in sysfs for pci drivers. Signed-off-by: Greg Kroah-Hartman remove old ifdefs aic79xx From: janitor@sternwelten.at Patches to remove some old ifdefs. remove most of the #include kill compat cruft like #define ahd_pci_set_dma_mask pci_set_dma_mask Signed-off-by: Maximilian Attems Signed-off-by: James Bottomley remove old ifdefs aic7xxx From: janitor@sternwelten.at Patches to remove some old ifdefs. remove most of the #include kill compat cruft like #define ahd_pci_set_dma_mask pci_set_dma_mask Signed-off-by: Maximilian Attems Signed-off-by: James Bottomley [PATCH] add .module to qla1280 template This was missing. It needs to be added so the module tracking actually works correctly for the driver. Signed-off-by: James Bottomley complete the bus_addr_t removal from aic7xxx Signed-off-by: James Bottomley [PATCH] QLogic ISP2x00: remove needless busyloop From: Bjorn Helgaas There's no need to wait for an isp2x00 to recognize a fabric if there's no isp2x00. Probably nobody will notice the unnecessary slowdown on real hardware, but it's a significant delay on a simulator. Signed-off-by: Bjorn Helgaas Signed-off-by: Andrew Morton Signed-off-by: James Bottomley [driver model] Change symbol exports to GPL only in drivers/base/bus.c. Signed-off-by: Patrick Mochel Signed-off-by: Greg Kroah-Hartman [driver model] Change sybmols exports to GPL only in class.c Signed-off-by: Patrick Mochel Signed-off-by: Greg Kroah-Hartman [driver model] Change symbol exports to GPL only in core.c Signed-off-by: Patrick Mochel Signed-off-by: Greg Kroah-Hartman [driver model] Change symbol exports to GPL only in driver.c Signed-off-by: Patrick Mochel Signed-off-by: Greg Kroah-Hartman [driver model] Change symbol exports to GPL only in firmware.c Signed-off-by: Patrick Mochel Signed-off-by: Greg Kroah-Hartman [driver model] Change symbol exports to GPL only in platform.c. Signed-off-by: Patrick Mochel Signed-off-by: Greg Kroah-Hartman [driver model] Change symbol exports to GPL only in sys.c Signed-off-by: Patrick Mochel Signed-off-by: Greg Kroah-Hartman [sysfs] Change symbol exports to GPL only in bin.c Signed-off-by: Patrick Mochel Signed-off-by: Greg Kroah-Hartman [sysfs] Change symbol exports to GPL only in dir.c Signed-off-by: Patrick Mochel Signed-off-by: Greg Kroah-Hartman [sysfs] Change symbol exports to GPL only in file.c. Signed-off-by: Patrick Mochel Signed-off-by: Greg Kroah-Hartman [sysfs] Change symbol exports to GPL only in group.c. Signed-off-by: Patrick Mochel Signed-off-by: Greg Kroah-Hartman [sysfs] Change symbol exports to GPL only in symlink.c. Signed-off-by: Patrick Mochel Signed-off-by: Greg Kroah-Hartman [driver core] Change symbol exports to GPL only in power/main.c Signed-off-by: Patrick Mochel Signed-off-by: Greg Kroah-Hartman [driver core] Change symbol exports to GPL only in power/resume.c Signed-off-by: Patrick Mochel Signed-off-by: Greg Kroah-Hartman [driver core] Change symbol exports to GPL only in power/suspend.c. Signed-off-by: Patrick Mochel Signed-off-by: Greg Kroah-Hartman [PATCH] don't mark the initio 9100 driver broken Users report it just works fine, it has basic EH and compiles without warnings even on ppc64. Signed-off-by: James Bottomley [PATCH] remove internal queueing from inia100 The driver had some trivial internal queueing for srb allocation failure in ->queuecommand that can be done at the midlayer easily. Signed-off-by: James Bottomley [PATCH] Add SPI-5 constants to scsi.h On Tue, Sep 21, 2004 at 01:04:38PM +0100, Christoph Hellwig wrote: > On Tue, Sep 21, 2004 at 12:50:59PM +0100, Matthew Wilcox wrote: > > > > Add the new constant names from SPI-5 to > What about having a section ala > > /* > * Old SCSI2 names, don't use in new code > */ > #define ABORT ABORT_TASK_SET > #define BUS_DEVICE_RESET TARGET_RESET > > instead of intermixing them with the rest of the defines? Sure... Signed-off-by: James Bottomley Remove duplicate IDENTIFY from scsi.h Signed-off-by: James Bottomley [PATCH] fix inia100 dma mapping warnings - always use the midlayer provided field to save the dma handle for unmapping - merge the unmapping into the main completion handler Signed-off-by: James Bottomley [PATCH] PCI: fix up usb quirk __init marks Lukas Hejtmanek wrote: > > Unable to handle kernel paging request at virtual address 0000ffff > printing eip: > c0402097 > *pde = 00000000 > Oops: 0002 [#1] > PREEMPT > Modules linked in: yenta_socket pcmcia_core i830 ehci_hcd uhci_hcd rtc > CPU: 0 > EIP: 0060:[] Tainted: P VLI > EFLAGS: 00010246 (2.6.9-rc2-mm2) > EIP is at quirk_usb_early_handoff+0x0/0x3e > eax: 0000ffff ebx: c035d954 ecx: c6866000 edx: 00020000 > esi: c6866000 edi: c035da4c ebp: ceede380 esp: c7f4bed8 > ds: 007b es: 007b ss: 0068 > Process pccardd (pid: 3386, threadinfo=c7f4a000 task=c5ea2d70) > Stack: c01d2076 c6866000 c6866000 ceede380 00000000 c01d20ba c6866000 c035d81c > c035da4c c01d01ce 00000000 c6866000 00000000 00000000 c01d0214 ceede380 > 00000000 c686642c ceede380 ceede394 c7f4a000 cfbdd0de ceede380 00000000 > Call Trace: > [] pci_do_fixups+0x49/0x4b Well quirk_usb_early_handoff() should be __devinit, not __init. There are a few other things in there which look hotpluggy, and are marked __init. The whole thing needs a review. Signed-off-by: Greg Kroah-Hartman [PATCH] scsi_mid_low_api.txt update - initiator device -> initiator port - add scsi_activate_tcq() + scsi_deactivate_tcq() Signed-off-by: James Bottomley fusion dead code removal From: Christoph Hellwig This patch (ontop of the patch to use ) removes lots of dead code from the fusion driver, mostly related to the orphaned dmp and target drivers. Acked By: Moore, Eric Dean also modified not to back out MPTSTM code Signed-off-by: James Bottomley [PATCH] aacraid: dynamic dev update Here is the patch with Christoph's comments addressed. Description from Mark Salyzyn: The main purpose of this patch is to move the array's cached request sense packets into a per-adapter structure rather than leaving it global (before ID 1,0,0,0 shares 2,0,0,0 cached sense). SAS pressed this change as we needed to allocate the sense packets dynamically. Signed-off-by Mark Haverkamp Signed-off-by: James Bottomley [PATCH] tmscsim: back out bogus eeprom reading changes Signed-off-by: James Bottomley merge a100u2w source files From: Christoph Hellwig looking at the a100u2w driver the split between the inia100.c and i60uscsi.c source files is hindering work badly. So I'm attaching below a new a100u2w.c that is a merge of those two, but no code changes at all (yet) - just the comment headers and includes of the two merged, then rest of i60uscsi.c, then rest of inia100.c. Signed-off-by: James Bottomley NTFS: Implement extent mft record deallocation. Signed-off-by: Anton Altaparmakov Fix a100u2w compile error Signed-off-by: James Bottomley Add refcounting to scsi command allocation The USB bug reported in: http://bugme.osdl.org/show_bug.cgi?id=3466 Looks to be because we allow device and host removal while some commands are in-flight. This can be fixed by taking and releasing a ref on the scsi_device when the commands are allocated and freed. Signed-off-by: James Bottomley qla1280: ISP1020/1040 support From: Christoph Hellwig This patch adds support for the older ISP1020/1040 chips to the qla1280 driver. In fact it does not add much support but enables the work merged earlier. It's been tested to work nicely on x86 and alpha machines by multiple people, it unfortunately doesn't work on SGI mips systems yet, but I'm pretty sure that's due to bugginess in the pci code for those plattforms. Signed-off-by: James Bottomley tmscsim: remove redundant code From: Guennadi Liakhovetski Signed-off-by: Guennadi Liakhovetski Signed-off-by: James Bottomley [PATCH] initio: remove obsolete APIs, cleanup This patch has the usual cleanups for the initio driver: - remove scsi.h APIs - add missing statics - remove the trivial internal queuing for the srb allocation failure case but while doing that I noticed that the two source files use completely different headers, and the interface between the two files often casted to generic types just to cast it back to a separate defintion of the same type again. In one case the structures were even mismatching, but because we allocated the bigger defintion and only passed pointers around it actually worked.. Thanks to Rodrigo Severo for testing this patch. Signed-off-by: James Bottomley [PATCH] a100u2w: cleanups - mark all functions static - don't use scsi.h obsolete symbols - add my copyright boilerplate (more for last years work then the trivial nitpicks here) - comment formatting fixes - remove dead wood from a100u2w.h Signed-off-by: James Bottomley I2C: change i2c-elektor.c driver from using pci_find_device() Signed-off-by: Greg Kroah-Hartman I2C: convert scx200_acb driver to not use pci_find_device Signed-off-by: Greg Kroah-Hartman [PATCH] USB Gadget: Ethernet/RNDIS gadget, minor updates Helps battery recharge, and gives this a new version string since it's changed a lot since St. Patrick's Day. Just minor updates: - use usb_gadget_vbus_draw() when changing configs, so that USB can be used to recharge batteries (or whatever); and report power use. bMaxPower is now 100 mA except with OTG (where it's 8mA). - rename /proc/rndis/000 as /proc/driver/rndis-000, and only have it when a new CONFIG variable is set (added by a later patch) - minor fixes to make some debug-only rndis messages compile - version is now "Equinox 2004". Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman [PATCH] USB: OHCI support for PXA27x here's a patch from Nico to add PXA27x OHCI support. Please merge; it applies on top of your current BK with some offsets, but I can't build that tree for ARM because of some #include lossage. OHCI driver for the Intel PXA27x processor Signed-off-by: Nicolas Pitre Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman [PATCH] USB Gadget: debug files now Kconfigured This adds a new Kconfig option, so now all the usb peripheral controllers have the same way to enable debug files (or more typically, disable them). Several of the USB peripheral controller drivers have a /proc/driver/udc file that's handy when debugging, but probably not wanted otherwise. This patch adds CONFIG_USB_GADGET_DEBUG_FILES, and uses it to replace some driver-internal defines. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman [PATCH] USB storage: delayed device scanning This patch started life as as366, got some modifications, and lives now as as366b. It implements a delay in SCSI-layer device scanning for usb-storage devices at insertion time. Many devices work better with this delay. We believe we can remove several US_FL_FIX_INQUIRY unusual_devs.h entries with this patch. (That's a hint, Phil!) The delay is adjustable via a sysfs parameter which is global to the usb-storage module. The default is 5 seconds. Signed-off-by: Alan Stern Signed-off-by: Matthew Dharm Signed-off-by: Greg Kroah-Hartman [PATCH] USB Storage: ignore bogus residue values This patch allows usb-storage to ignore the reported residue values when required by some devices. A few devices are included... I know more are waiting to be merged into unusual_devs.h In case anyone is curious... yes, these are broken devices. Signed-off-by: Alan Stern Signed-off-by: Matthew Dharm Signed-off-by: Greg Kroah-Hartman [PATCH] USB Storage: revert GetMaxLUN strictness This is patch as384. It reverts some of our sanity checks on the GetMaxLUN part of the Bulk-only protocol. Apparently, this is one area where vendors can't even get close to correct. So, in the face of any sort of error, we assume a single LUN. We also include some comments so we don't make this mistake again. Signed-off-by: Alan Stern Signed-off-by: Matthew Dharm Signed-off-by: Greg Kroah-Hartman [PATCH] usb-serial: Moves the search in device list out of usb_serial_probe(). Move the search in `usb_serial_driver_list' out of usb_serial_probe(). Note that: 1) The `found' variable is not necessary; 2) If the device does have a probe function, I'm calling usb_match_id() again. I'm uncertain if this is the better thing to do. Signed-off-by: Luiz Capitulino Signed-off-by: Greg Kroah-Hartman [PATCH] usb-serial: create_serial() return value trivial fix. create_serial() only returns NULL if there is no memory enough to a new `usb_serial' structure, thus, the right error code to return is -ENOMEM. Signed-off-by: Luiz Capitulino Signed-off-by: Greg Kroah-Hartman [PATCH] usb-serial: return_serial() trivial cleanup. return_serial() trivial cleanup: 1) CodingStyle fix; 2) The `return' is not necessary, we are at the end of a function which don't return nothing (void). Signed-off-by: Luiz Capitulino Signed-off-by: Greg Kroah-Hartman [PATCH] usb-serial: usb_serial_register() cleanup. usb_serial_register() cleanup 1) CodingStyle in the call of usb_serial_bus_register() 2) The goto and the duplicate `return retval' are not necessary Signed-off-by: Luiz Capitulino Signed-off-by: Greg Kroah-Hartman [PATCH] usb-serial: Add module version information. Add module version information for drivers/usb/serial/usb-serial.c. Signed-off-by: Luiz Capitulino Signed-off-by: Greg Kroah-Hartman [PATCH] USB: remove calls to usb_unlink_urb in net/catc.c Signed-off-by: Borislav Petkov Signed-off-by: Greg Kroah-Hartman [PATCH] USB: remove calls to usb_unlink_urb in misc/legousbtower.c another trivial one. Signed-off-by: Borislav Petkov Signed-off-by: Greg Kroah-Hartman [PATCH] USB: remove _some_ calls to usb_unlink_urb in misc/auerswald.c here's a more controversial one. Firstly, auerchain_unlink_urb:1180 is a wrapper for usb_unlink_urb so i don't think we should change that. Secondly, auerswald_int_release returns an int which is the error code returned by usb_unlink_urb. usb_kill_urb is a void, however, so I've removed the error checking. For the sake of debugging, the dbg-line announcing the name of the function is probably enough. Signed-off-by: Borislav Petkov Signed-off-by: Greg Kroah-Hartman [PATCH] module.h build fix From: Ingo Molnar Forward-declare the structures before using them, rather than relying on previous inclusions. akpm: The breakage was introduced by bk-driver-core.patch Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman [PATCH] I2C: Store lm83 and lm90 temperatures in signed Back when I wrote the lm83 and lm90 drivers, I decided to use unsigned variables to store temperature values as mirrored from the chipset registers. I wonder why, since the registers use signed values themselves. The patch below changes the variables back to signed types, so as to simplify the conversions made by the driver, making them faster and easier to understand. Additionally, the lm90 driver was lacking boundary checkings and proper rounding when writing temperature limits to the chipset, so I added these. I also reworded the comments about internal temperature values representation for all chipsets. Tested to work fine on my (LM90-compatible) ADM1032 chip. lm83 patch untested, but it is more simple and directly copied from the lm90, so I am confident it works fine too. Signed-off-by: Jean Delvare Signed-off-by: Greg Kroah-Hartman [PATCH] i2c: sensors chip driver updates This patch modifies some sysfs file names for sensors chip drivers in accordance with the standard interface proposed here [1] and refined here [2]. The lm_sensors userspace tools have been modified to accept both the new and old names. This patch was tested for some drivers, and at least compile tested for the rest. [1] http://archives.andrew.net.au/lm-sensors/msg08477.html [2] http://archives.andrew.net.au/lm-sensors/msg18391.html Signed-off-by: Mark M. Hoffman Signed-off-by: Greg Kroah-Hartman [PATCH] i2c: kill some sensors driver macro abuse This patch kills a specific kind of ugly and ultimately useless macro abuse found in many sensors chip drivers. Compile tested only. Signed-off-by: Mark M. Hoffman Signed-off-by: Greg Kroah-Hartman [PATCH] USB: Fixes for ub in 2.4.9-rc2-mm2 - Do retries for a memory key which was handed out on Kernel Summit 04. - Add missing del_timer. - Add shifts for a 2KB block size device, from Pat LaVarre. Signed-off-by: Pete Zaitcev Signed-off-by: Greg Kroah-Hartman [PATCH] usb: extract sensible strings from buggy string descriptors The Freebox is a USB modem popular in France. It returns bogus string descriptors: while the string part is there, the length and type bytes are both zero. This patch detects that case and tries to recover a sensible string by scanning for printable Latin characters. This not only causes the modem to spring to life (because usbnet gets a valid MAC address) - it also means you get the correct Product and Manufacturer strings in sysfs and elsewhere. This patch is in the "mostly harmless" category. Signed-off-by: Duncan Sands Signed-off-by: Greg Kroah-Hartman [PATCH] USB: export inteface and configuration strings to sysfs this patch adds exporting of configuration and interface strings to sysfs. both configuration and interface strings are present on my Nokia 7610 phone, which can be connected via USB, and I thought it would be a good idea to make them easily accessible via sysfs: [root@cs181035096 usb1]# cat 1-1/manufacturer 1-1/product Nokia 7610 [root@cs181035096 usb1]# grep "" `find . -name configuration` ./1-1/configuration:First and Last and Always [root@cs181035096 usb1]# grep "" `find . -name interface` ./1-1/1-1:1.6/interface:CDC Data Interface ./1-1/1-1:1.5/interface:CDC Comms Interface ./1-1/1-1:1.3/interface:PC Suite Services ./1-1/1-1:1.1/interface:SYNCML-SYNC The first two interfaces are for accessing the GPRS modem, they are recognized and supported perfectly by the cdc_acm driver. The last two are CDC OBEX interfaces, for which there is no driver currently, but I plan to write one. This would allow userspace to do really nifty things, for example accessing the phone filesystem, and exchanging contacts and calendar entries via SyncML. Pretty much the same thing that Nokia PC Suite does. But the software needs to distinguish between the two OBEX interfaces (which is syncml and which is file transfer? the only way to know is to read the strings), and that"s why this patch was written. Signed-off-by: Alex Kanavin Signed-off-by: Greg Kroah-Hartman [PATCH] usb/file_storage: replace schedule_timeout() with msleep_interruptible() Use msleep_interruptible() instead of schedule_timeout() so that the task delays as expected. Signed-off-by: Greg Kroah-Hartman [PATCH] usb/ati_remote: add set_current_state() Add set_current_state() before schedule_timeout() so that if the while-loop iterates multiple times, schedule_timeout() delays as expected. Without the addition, schedule_timeout() will return immediately. Signed-off-by: Greg Kroah-Hartman [PATCH] usb/kaweth: reorder set_current_state() and schedule_timeout() Reorder set_current_state() and schedule_timeout() for a minor cleanup. The reorder allows removing two of the set_current_state() calls. Signed-off-by: Greg Kroah-Hartman [PATCH] usb/hid-core: add set_current_state() before schedule_timeout() Add set_current_state() before schedule_timeout() so that the task delays as expected. Without the addition, schedule_timeout() will return immediately on subsequent iterations of the while-loop. Signed-off-by: Greg Kroah-Hartman [PATCH] usb/mdc800: cleanup set_current_state() around wait queues This patch cleans up the wait queue usage in this driver. The state is no longer set until just before the task sleeps, which removes a few set_current_state()s. Correspondingly, the state doesn't need to be set back to TASK_RUNNING outside of the while-loops, as schedule_timeout() takes care of it. Signed-off-by: Greg Kroah-Hartman [PATCH] usb/uss720: replace schedule_timeout() with msleep_interruptible() Use msleep_interruptible() instead of schedule_timeout() to guarantee the task delays as expected. Signed-off-by: Greg Kroah-Hartman [PATCH] w1: schedule_timeout() issues. Need to set current state and check signals. Signed-off-by: Evgeniy Polyakov Signed-off-by: Greg Kroah-Hartman [PATCH] USB: handle usb host allocation failures gracefully It looks like a host (like ohci or whatever) could try to allocate a new usb_device structure with usb_alloc_dev and get back a valid pointer even if the allocation of its private data failed. I first saw this in the 2.4 sources, but it looks like 2.6 has the same problem. This patch attempts to fix it by freeing dev if the ->allocate() routine fails, and then returns NULL instead of a potentially dangerous dev pointer. Signed-off-by: Jesse Barnes Signed-off-by: Greg Kroah-Hartman [PATCH] USB: OHCI autodetects "need" for init reset quirk Ther recent QUIRK_INITRESET update turns out to need support for some ALi and ServerWorks chips, as well as the original SiS and OPTi cases. Rather than trying to maintain a quirk table (for what I still think must be a subtle init sequence bug), this patch kicks it in automatically when the frame clock init problem is detected. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman [PATCH] Driver Core: Handle NULL arg for put_device() Since get_device() accepts a NULL argument, put_device() should do so, too. Signed-off-by: Hannes Reinecke Signed-off-by: Greg Kroah-Hartman [PATCH] kobject: add add_hotplug_env_var() Add a (non-inlined) add_hotplug_env_var() function to and lib/kobject.c. There's a lot of boilerplate code involved in setting environment variables in a hotplug method, so we should have a convenience function to consolidate it (and avoid subtle bugs). Signed-off-by: Roland Dreier Signed-off-by: Greg Kroah-Hartman [PATCH] USB: use add_hotplug_env_var() in core/usb.c Use the new add_hotplug_env_var() function in drivers/usb/core/usb.c. In addition to cleaning up the code, this fixes a (probably harmless) bug here: for each value added to the environment, the code did length += sprintf(...); and then scratch += length; which means that we skip the sum of the lengths of all the values we've put so far, rather than just the length of the value we just put. This is probably harmless since we're unlikely to run out of space but if nothing else it's setting a bad example.... I've tested this on a system with USB floppy and CD-ROM; hotplug gets the same environment with the patch as without. Signed-off-by: Roland Dreier Signed-off-by: Greg Kroah-Hartman [PATCH] add ability to set device queue depth to mptfusion This patch lets you override the default queue depth for SCSI devices attached through the mptfusion driver. I moved some common code that I needed out of mpt_slave_configure() into its own function. New patch with some style issues fixed. I went ahead and moved the logical "and" to the end of the line from the start of the next line. I agreed with Matthew's reasoning on the comparison with 0. Thanks for reviewing, Christoph. signed-off-by: Jeremy Higdon Signed-off-by: James Bottomley NTFS: Splitt runlist related functions off from attrib.[hc] to runlist.[hc]. Signed-off-by: Anton Altaparmakov NTFS: Add vol->mft_data_pos and initialize it at mount time. Signed-off-by: Anton Altaparmakov NTFS: Rename init_runlist() to ntfs_init_runlist(), ntfs_vcn_to_lcn() to ntfs_rl_vcn_to_lcn(), decompress_mapping_pairs() to ntfs_mapping_pairs_decompress() and adapt all callers. Signed-off-by: Anton Altaparmakov NTFS: Forgot to lock the mft bitmap when clearing the bit in ntfs_extent_mft_record_free(). Signed-off-by: Anton Altaparmakov NTFS: Add fs/ntfs/runlist.[hc]::ntfs_get_nr_significant_bytes(), ntfs_get_size_for_mapping_pairs(), ntfs_write_significant_bytes(), and ntfs_mapping_pairs_build(), adapted from libntfs. Signed-off-by: Anton Altaparmakov NTFS: Rename ntfs_merge_runlists() to ntfs_runlists_merge(). Signed-off-by: Anton Altaparmakov NTFS: - Add fs/ntfs/lcnalloc.h::ntfs_cluster_free_from_rl() which is a static inline wrapper for ntfs_cluster_free_from_rl_nolock() which takes the cluster bitmap lock for the duration of the call. - Make fs/ntfs/lcnalloc.c::ntfs_cluster_free_from_rl_nolock() not static and add a declaration for it to lcnalloc.h. Signed-off-by: Anton Altaparmakov NTFS: Add fs/ntfs/attrib.[hc]::ntfs_attr_record_resize(). Signed-off-by: Anton Altaparmakov megaraid 2.20.4: Fix a data corruption bug From: Bagalkote, Sreenivas Fixes a data corruption issue. Because of a typo in the driver, IO packets were wrongly shared by the IOCTL path. This caused the whole IO command to be replaced by an incoming IOCTL command. Signed-off-by: James Bottomley [libata] add sata_uli driver for ULi (formerly ALi) SATA Contributed by Peer Chen , updated to latest libata by me. [libata sata_uli] add dev_select hook [PATCH] WE-17 typo fix Felix R. found a typo in the WE-17 patch I sent you and is pending in your tree (more correctly, an overzealous search&replace). The patch below fix this mistake. I would appreciate you adding this patch to your tree ;-) [PATCH] e1000 update -- fix MODULE_PARM, module_param, module_param_array [PATCH] rx checksum support for gige nForce ethernet [PATCH] sata_nv: enable hotplug event on successfull init only Wait for successfull completion of nv_init_one() before hotplug events are enabled. Signed-off-by: Francois Romieu [PATCH] sata_nv: wrong failure path and leak - wrong branching: the driver does not want to iounmap() an address that it has just failed to set; - return a sensible error status code instead of a success code; - leak plugged: host was never freed if a late error heppened. Signed-off-by: Francois Romieu [PATCH] sata_nv: housekeeping for goto labels - each label used in a goto contains a part of the operation that must be issued. This way both the no-error and the error paths can be checked separately; - probe_ent does not need to be NULL-initialized. Signed-off-by: Francois Romieu [PATCH] igxb speedup The interrupt routine will call both those functions even if the first doesn't have any work to do. Signed-off-by: Andrew Morton [PATCH] e1000 sparc64 dma_mapping build fix drivers/net/e1000/e1000_main.c: In function `e1000_probe': drivers/net/e1000/e1000_main.c:389: error: `DMA_64BIT_MASK' undeclared (first use in this function) drivers/net/e1000/e1000_main.c:389: error: (Each undeclared identifier is reported only once drivers/net/e1000/e1000_main.c:389: error: for each function it appears in.) drivers/net/e1000/e1000_main.c:392: error: `DMA_32BIT_MASK' undeclared (first use in this function) Signed-off-by: Andrew Morton [PATCH] net/de2104x: replace schedule_timeout() with msleep() Any comments would be appreciated. Description: Use msleep() instead of schedule_timeout() to guarantee the task delays as expected. Signed-off-by: Nishanth Aravamudan [PATCH] ixgb: fix endianness issue for tx cleanup This patch fixes tx cleanup so that it works correctly on big endian machines. This time I remembered to update the version string. Signed-off-by: Jesse Brandeburg [PATCH] e100: fix NAPI race with watchdog While polling in NAPI mode, we were occassionally getting interrupts re-enabled by the watchdog trying to generate a software interrupt. Fix is to add a spinlock around that shared hardware register to allow a read-modify-write operation. This was nasty nasty. I don't like the spinlock in the hot path but i see no other way. Comments are welcome. Updates the driver version as well. Signed-off-by: Jesse Brandeburg [PATCH] e100: whitespace and DPRINTKS This is a short patch to add a couple of new DPRINTKS and fix some whitespace issues. Signed-off-by: Jesse Brandeburg NTFS: Implement the equivalent of memset() for an ntfs attribute in fs/ntfs/attrib.[hc]::ntfs_attr_set() and switch fs/ntfs/logfile.c::ntfs_empty_logfile() to using it. Signed-off-by: Anton Altaparmakov NTFS: Remove unnecessary casts from LCN_* constants. Signed-off-by: Anton Altaparmakov NTFS: Implement fs/ntfs/runlist.c::ntfs_rl_truncate_nolock(). Signed-off-by: Anton Altaparmakov merge initio source files From: Christoph Hellwig Signed-off-by: James Bottomley ST34555N misbehaves on tagged INQUIRY commands - add to blacklist From: Guennadi Liakhovetski Signed-off-by: James Bottomley [PATCH] suspending I/Os to a device Add a device blocked state and API to the mid-layer Use the new device blocked API in the fc transport class to invoke a user settable delay on cable pulls. Signed-off-by: James Bottomley PPC32: remove bogus eXecute permissions Signed-off-by: Eugene Surovegin NTFS: Add MFT_RECORD_OLD as a copy of MFT_RECORD in fs/ntfs/layout.h and change MFT_RECORD to contain the NTFS 3.1+ specific fields. Signed-off-by: Anton Altaparmakov NTFS: Add some debugging checks to fs/ntfs/inode.c::ntfs_truncate() and fix a typo in fs/ntfs/layout.h. Signed-off-by: Anton Altaparmakov [WATCHDOG] s3c2410_wdt.c-wdog-fix-memrelease.patch fix the release of the memory resource at exit from the code, and tidy up the static variables at the start. Signed-of-by: Ben Dooks Signed-of-by: Wim Van Sebroeck USB: Generic USB ATM/DSL core and completed SpeedTouch driver This can now load the firmware and initialise the modem for itself, with no need for any userspace help (except for putting the firmware in /lib/firmware in the first place). The core packet I/O code is split out into a separate file where it can be used by drivers for some of the other similar modems. Signed-off-by: David Woodhouse Signed-off-by: Greg Kroah-Hartman [PATCH] janitor: net/sis900: pci_find_device to pci_get_device Replace pci_find_device with pci_get_device/pci_dev_put to plug race with pci_find_device. Compile tested. Signed-off-by: Scott Feldman [PATCH] janitor: net/tulip: pci_find_device to pci_dev_present Replace pci_find_device with pci_dev_present. Compile tested. Signed-off-by: Scott Feldman [PATCH] prism54 remove TRACE * Remove TRACE to please the janitors [PATCH] prism54 Bug in timeout scheduling * Bug in loop around schedule_timeout * We must rearm the task * * Make timeout message meaningful [PATCH] prism54 print firmware version * Print firmware version * * As per convention, make errno return negative [PATCH] prism54 bug initialization/mgt_commit * Change mgt_commit from void to int * (and pass a return code) * We call this from device initialization, * therefore we need to know that it has succeeded * If it hasn't, we do not have a working device and * should pass a non-zero value upwards [PATCH] ns83820: add vlan tag hardware acceleration support I was poking about in the National Semi 83820 driver, and I happened to notice that the chip supports vlan tag add/strip assist in hardware, but the driver wasn't making use of it. This patch adds in the driver support to use the vlan tag add/remove hardware, and enables the drivers use of the kernel vlan hwaccel interface. Signed-off-by: Neil Horman [PATCH] USB: fix oops with latest ub driver in -mm tree On Fri, 1 Oct 2004 11:39:17 -0700 Greg KH wrote: > Pete, any ideas? Oh, it also happens on my UP laptop. >[...] > kernel BUG at kernel/timer.c:413! I have a suspicion. Actually, it was pointed to me by a kind soul before, but I forgot who he was, unfortunately. I'm not sure if this is the problem, but please try it if you can. It should apply on top of "latest". I really hate that word, but in this case I haven't got a version number. Signed-off-by: Greg Kroah-Hartman [PATCH] tmscsim: remove superflous global host list It's only used to "verify" the host pointer in the interrupt handler, which better had to be correct or else 90% of the drivers would break. Signed-off-by: James Bottomley [PATCH] tmscsim: use mid-layer's decision for tag support Signed-off-by: Guennadi Liakhovetski Signed-off-by: James Bottomley [PATCH] tmscsim: remove internal command queue Signed-off-by: James Bottomley [PATCH] get rid of obsolete APIs in u14-34f Signed-off-by: James Bottomley [PATCH] aacraid: Add get container name functionality Description from Mark Salyzyn: This patch to aacraid overrides the default naming for an array with the programmed array name when set. The array name can be set in the BIOS, or the management applications. Signed-off-by: Mark Haverkamp Signed-off-by: James Bottomley ncr53c8xx: remove integrity checking The comments read like it's a precursor to mid layer domain validation. Anyway, it's never been compiled. Signed-off-by: James Bottomley ncr53c8xx: move driver local quirks up to scsi blacklist Signed-off-by: James Bottomley mcr53c8xx: remove INQUIRY snooping and believe the mid-layer flags Signed-off-by: James Bottomley add device_configure to the transport classes This allows attributes to be picked out of the INQUIRY fields and placed into transport specific capability flags Signed-off-by: James Bottomley ncr53c8xx: Convert to using transport classes Convert the driver to export period offset and width. Pick up domain validation on targets for free Signed-off-by: James Bottomley USB: Reformat usb-atm code and rework SpeedTouch firmware loading. Now it's all from a single kernel thread started directly by the probe routine, and it checks it can find _all_ the firmware it wants before starting to poke at the modem. Signed-off-by: David Woodhouse Signed-off-by: Greg Kroah-Hartman NTFS: Add a helper function fs/ntfs/aops.c::mark_ntfs_record_dirty() which marks all buffers belonging to an ntfs record dirty, followed by marking the page the ntfs record is in dirty and also marking the vfs inode containing the ntfs record dirty (I_DIRTY_PAGES). Signed-off-by: Anton Altaparmakov NTFS: Switch fs/ntfs/index.h::ntfs_index_entry_mark_dirty() to using the new helper fs/ntfs/aops.c::mark_ntfs_record_dirty() and remove the no longer needed fs/ntfs/index.[hc]::__ntfs_index_entry_mark_dirty(). Signed-off-by: Anton Altaparmakov USB: Fix assertion logic in USB ATM core. We assert something we believe to be _true_, not false. Signed-off-by: David Woodhouse Signed-off-by: Greg Kroah-Hartman [Bluetooth] Improve connection hash handling The connection hash counts the ACL and SCO links together at the moment and this is not a useful behaviour. Separate the counters and put the calling of the notifier before the TX tasklet is enabled. Signed-off-by: Marcel Holtmann [Bluetooth] Fix race when unlinking incoming connections When the user space applications don't call accept() it can happen that incoming connections stay in the accept queue and block further connection attempts until the server is restarted. On a disconnect it is necessary that the connection is removed from the accept queue. This can't be the job of a cleanup function. Signed-off-by: Marcel Holtmann [PATCH] PCI: remove pci_find_subsys() calls from cpufreq code. Signed-off-by: Greg Kroah-Hartman [PATCH] PCI: remove pci_find_subsys() calls from acpi code. Signed-off-by: Greg Kroah-Hartman [PATCH] PCI: make pci_find_subsys() static, as it should not be used anymore Use pci_get_subsys() if you want this functionality. Signed-off-by: Greg Kroah-Hartman [PATCH] PCI: update the pci.txt documentation about pci_find_device and pci_find_subsys going away Signed-off-by: Greg Kroah-Hartman [PATCH] PCI: make pci_find_class() warn if in interrupt like all other find/get functions do. Signed-off-by: Greg Kroah-Hartman [PATCH] PCI: add pci_get_class() to make a safe pci_find_class() like call. Signed-off-by: Greg Kroah-Hartman [PATCH] PCI: clean up the comments in search.c to be correct. Signed-off-by: Greg Kroah-Hartman [PATCH] PCI: remove pci_find_class() usage from arch specific files. Signed-off-by: Greg Kroah-Hartman [PATCH] PCI: remove pci_find_class() usage from all drivers/ files Signed-off-by: Greg Kroah-Hartman [PATCH] PCI: delete the pci_find_class() function as it's unsafe in hotpluggable systems. Signed-off-by: Greg Kroah-Hartman [PATCH] PCI: fix improper pr_debug() statement Thanks to Joe Perches for pointing this out. Signed-off-by: Greg Kroah-Hartman [PATCH] scx200: pci_find_device() removal. Remove pci_find_device() in arch/i386/kernel/scx200.c. Signed-off-by: Evgeniy Polyakov Signed-off-by: Greg Kroah-Hartman [PATCH] PCI: mark proc_bus_pci_dir static Signed-off-by: Greg Kroah-Hartman [PATCH] PCI: update Documentation/power/pci.txt That document was wrong on some things, misleading on others; this fixes some of the issues I noticed. However it probably needs to say that drivers for devices that implement the PCI PM spec "should" always use pci_set_power_state() to reduce the power usage. If I get ambitions I might submit a patch to the PCI core to print a nag message for drivers that don't do that. Updates the PCI PM docs, better matching the specs and code. - List both D3 states (D3hot, D3cold) up front. - Clarify that suspend() methods should disable I/0 (including DMA) and IRQs; it's not optional. - More accurately describe resume(); there are common cases where device re-initialization isn't appropriate. The previous text said re-init was always required; that's false. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman [PATCH] PCI: Reorder some initialization code to allow resources to be proper allocated. On Tuesday, August 31, 2004, Linus Torvalds wrote: > That list per se obviously looks ok by me, although I'd worry that some > other fs_initcall depends on the ACPI stuff having been run (ie while the > abover ordering is great, I worry that some _other_ part doesn't fit in > the above ordering). Doing a quick check finds "chr_dev_init()", for > example, which will do fbmem_init(), which might depend on the ACPI/PnP > stuff having run already. > > So it _might_ be safer to make this ordering more explicit, rather than Yes, I agree. The problem is there isn't a straightforward method for it. It possibly is hard to get it. > depending on the different phases of the initcalls. But I'd happily be > proven wrogn with some simple argument for why this is guaranteed to be > ok.. For example, maybe ACPI and PnP is linked before chr/mem.c, in which > case it should all be ok. Original PCI assign resources code is the last 'subsys_initcall' according to the makefile, so move some code of it to 'fs_initcall' (just below 'subsystem_initcall') should be ok. As you said, ACPI and PnP is linked before chr/mem.c. The method requires all other 'fs_initcall' don't touch PCI resources, since 'pcibios_assign_resources' is a 'fs_initcall' and maybe don't run, but it looks ok currently. Again, I will be appreciated if we can find a solution to make the ordering explicit. Signed-off-by: Greg Kroah-Hartman [PATCH] PCI list_for_each: arch-i386-pci-i386.c Replace for with more readable list_for_each. Compile tested. Signed-off-by: Domen Puncer Signed-off-by: Maximilian Attems Signed-off-by: Greg Kroah-Hartman [PATCH] PCI list_for_each: arch-alpha-kernel-pci.c Change for loops with list_for_each(). Signed-off-by: Domen Puncer Signed-off-by: Maximilian Attems Signed-off-by: Greg Kroah-Hartman [PATCH] PCI list_for_each: arch-ia64-pci-pci.c Change for loops with list_for_each_entry(). Signed-off-by: Domen Puncer Signed-off-by: Maximilian Attems Signed-off-by: Greg Kroah-Hartman [PATCH] PCI list_for_each: arch-ia64-sn-io-machvec-pci_bus_cvlink.c s/for/list_for_each/ Signed-off-by: Domen Puncer Signed-off-by: Maximilian Attems Signed-off-by: Greg Kroah-Hartman [PATCH] PCI list_for_each: arch-ppc64-kernel-pci.c s/for/list_for_each/ Signed-off-by: Domen Puncer Signed-off-by: Maximilian Attems Signed-off-by: Greg Kroah-Hartman [PATCH] PCI list_for_each: arch-ppc64-kernel-pci_dn.c s/for/list_for_each/ Signed-off-by: Domen Puncer Signed-off-by: Maximilian Attems Signed-off-by: Greg Kroah-Hartman [PATCH] PCI list_for_each: arch-ppc-kernel-pci.c s/for/list_for_each/ Signed-off-by: Domen Puncer Signed-off-by: Maximilian Attems Signed-off-by: Greg Kroah-Hartman [PATCH] PCI list_for_each: arch-sparc-kernel-pcic.c s/for/list_for_each/ Signed-off-by: Domen Puncer Signed-off-by: Maximilian Attems Signed-off-by: Greg Kroah-Hartman [PATCH] PCI pci_dev_b to list_for_each_entry: drivers-pci-setup-bus.c list_for_each & pci_(dev|bus)_[bg] replaced by list_for_each_entry. Signed-off-by: Domen Puncer Signed-off-by: Maximilian Attems Signed-off-by: Greg Kroah-Hartman [PATCH] add-pci_fixup_enable-pass.patch From: Bjorn Helgaas Nick Piggin's USB driver stopped working when I removed the unconditional PCI ACPI IRQ routing stuff. He has verified that the attached patch fixes it. I sort of hate to add another pass of PCI fixups, so I'm open to alternate solutions if anybody suggests one. Add a "pci_fixup_enable" pass of PCI fixups. These are run at the end of pci_enable_device() to fix up things like IRQs that are not set up until then. Some VIA boards require a fixup after the IRQ is set up. Found by Nick Piggin, initial patch by Bjorn Helgaas, reworked to fit into current -mm by Nick. Signed-off-by: Nick Piggin Signed-off-by: Bjorn Helgaas Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman [PATCH] PCI: get rid of pci_find_device() from arch/i386/* Signed-off-by: Greg Kroah-Hartman [PATCH] PCI: remove pci_find_device() usages from drivers/pci/* yeah, I ignored the ppc64 hotplug pci driver, they can fix it up themselves... Signed-off-by: Greg Kroah-Hartman [PATCH] PCI Hotplug: add host bridges to RPA hotplug subsystem The following patch implements the registration of PCI Host Bridges as hotplug slots. Only host bridges that are dynamically removable will be registered. The hotplug slots directory goes from looking like this: # ls /sys/bus/pci/slots . 0000:00:02.2 0001:00:02.4 0002:00:02.2 30000000 .. 0000:00:02.4 0001:00:02.6 0002:00:02.4 control 0000:00:02.0 0001:00:02.2 0002:00:02.0 0002:00:02.6 to this: # ls /sys/bus/pci/slots . 0000:00:02.0 0001:00:00.0 0001:00:02.6 0002:00:02.2 30000000 .. 0000:00:02.2 0001:00:02.2 0002:00:00.0 0002:00:02.4 control 0000:00:00.0 0000:00:02.4 0001:00:02.4 0002:00:02.0 0002:00:02.6 This work is precursory to the DLPAR module changes that implement addition/removal of these bridges. Please apply if there are no objections. Signed-off-by: John Rose Signed-off-by: Greg Kroah-Hartman [WATCHDOG] s3c2410_wdt.c-wdog-fix3.patch This patch fixes the following problems: - debug is now configurable from cmdline (see previous emails) - re-worked the open call - moved clock enable to before we setup watchdog (some units on the s3c2410 don't like their registers changing without the clock enabled) - fixed bug in having two timer counts, one unused - fixed semaphore initialisation, so opens no longer blow up [PATCH] PCI: warn of missing pci_disable_device() As mentioned in Documentaion/pci.txt, pci device driver should call pci_disable_device() when it decides to stop using the device. But there are some drivers that don't use pci_disable_device() so far. This patch adds warning messages that are displayed if the device is removed without properly calling pci_disable_device(). 'WARN_ON(1)' is commented out for now because I guess many people (including some distros) enables 'CONFIG_DEBUG_KERNEL'. People might be surprised if many stack dumps are displayed on their console. Signed-off-by: Kenji Kaneshige Signed-off-by: Greg Kroah-Hartman [PATCH] PCI Hotplug: change bus speed patch Greg, Here is a patch (against 2.6.8-rc2) that fixes the following things: 1) adds code to lower bus speed if the adapter card added run at a lower speed that the current bus speed; 2) checks for any devices on the same bus - not just those that sit on slots controlled by the same shpc; 3) cleans up the code in the check bus speed area in board_added() by creating two functions to handle common code. Signed-off-by: Dely Sy Signed-off-by: Greg Kroah-Hartman [PATCH] PCI: fix __iomem * warnings for PCI msi core code. Signed-off-by: Greg Kroah-Hartman [WATCHDOG] s3c2410_wdt.c-wdog-fix4.patch This patch moves the tmr_margin assignment until after the check for a correct timeout value. (Plus another minor cosmetic thing.) [PATCH] PCI Hotplug: fix __iomem warnings in the compaq pci hotplug driver Signed-off-by: Greg Kroah-Hartman [PATCH] PCI Hotplug: fix __iomem warnings in the ibm pci hotplug driver Signed-off-by: Greg Kroah-Hartman [PATCH] PCI Hotplug: Bug fixes for shpchp driver Can you please apply the following patch that has bug fixes for shpchp driver? One bug was writing 1's to RsvdZ in Slot Status register causing hot-plugging of PCI-X cards not working in some slots. The other fix is for getting the correct bus number. Signed-off-by: Dely Sy Signed-off-by: Greg Kroah-Hartman [PATCH] PCI Hotplug: fix the rest of the drivers for __iomem and other sparse issues. Signed-off-by: Greg Kroah-Hartman [PATCH] PCI: Fix one missed pci_find_device Just noticed this in my update to the latest mm kernel... Signed-off-by: Greg Kroah-Hartman [PATCH] ibmasm: fix __iomem warnings Signed-off-by: Greg Kroah-Hartman [PATCH] PCI Hotplug: RPA dynamic addition/removal of PCI Host Bridges The following patch implements the RPA PCI Hotplug and DLPAR driver changes for the dynamic addition/removal of PCI Host bridges (PHBs). These operations are initiated in the same way as existing slot DLPAR operations, which is by writing the firmware (drc) name of the PHB to: /sys/bus/pci/slots/control/[add,remove]_slot The "kernel" entry points for these operations are: pcibios_remove_root_bus() ppc64-specific, submitted to ppc64 list on 8/19, not yet accepted http://ozlabs.org/ppc64-patches/patch.pl?id=241 init_phb_dynamic() ppc64-specific, submitted to ppc64 list on 9/16, not yet accepted http://ozlabs.org/ppc64-patches/patch.pl?id=292 pci_remove_bus() generic, submitted and accepted by Greg http://www.uwsg.iu.edu/hypermail/linux/kernel/0408.3/0595.html Signed-off-by: John Rose Signed-off-by: Greg Kroah-Hartman [PATCH] PCI Hotplug: acpiphp extension fixes This patch fixes an off by one error that one of the IBM machines that uses the acpiphp_ibm driver. The slots were numbered starting at 0 in BIOS instead of starting at 1 like the pci hotplug subsystem names them. So this patch provides a lookup to translate the Linux slot numbers to the internal ACPI numbers. Signed-off-by: Vernon Mauery Signed-off-by: Greg Kroah-Hartman [WATCHDOG] s3c2410_wdt.c-wdog-fix5.patch Changed nowayout handling so that it uses the "Kconfig" value. [PATCH] PCI: Changed pci_find_device to pci_get_device for acpi.c Another simple patch to complete the /i386 conversion to pci_get_device. I was able to compile and boot this patch to verify it didn't break anything (on my T22). Signed-off-by: Hanna Linder Signed-off-by: Greg Kroah-Hartman [PATCH] PCI Hotplug: quirk fix missed out in last patch This patch contains a fix that was missed out in the last patch I sent you regarding fixes for writing 1's to RsvdZ in Slot Status register causing hot-plugging of PCI-X cards not working in some slots. Signed-off-by: Dely Sy Signed-off-by: Greg Kroah-Hartman [PATCH] PCI: add missing checks in drivers/pci/probe.c. I noticed drivers/pci/probe.c::pci_scan_bus_parented() has some functions which the return value is not checked. The patch bellow adds the check for device_register(), class_device_register(), class_device_create_file() and sysfs_create_link(). (hope the error label names are not too ugly). Signed-off-by: Luiz Capitulino Signed-off-by: Greg Kroah-Hartman [PATCH] PCI: Create new function to see if a pci device is present This is needed to help get rid of the pci_find_device() usage in the tree. Signed-off-by: Hanna Linder Signed-off-by: Greg Kroah-Hartman [PATCH] PCI: change cyrix.c driver to use pci_dev_present Signed-off-by: Hanna Linder Signed-off-by: Greg Kroah-Hartman [PATCH] PCI: minor pci.ids update Here is another patch (against 2.6.9-rc2, not sure if that has the latest version of the PCI db) that removes the vendor names from Intel IXP and Radisys ENP entries, as per Martin's suggestion. Signed-off-by: Greg Kroah-Hartman [PATCH] PCI: remove driver private PCI state, 1 arg for pci_{save,restore}_state This is the second (and hopefully final) iteration of the interface change we talked about a while ago. The patch applies cleanly against 2.6.9-rc2-mm4. This removes the second argument (buffer for storing PCI state) from pci_{save,restore}_state since pci_dev contains such a buffer now. Fixed all callers. Three drivers used to pass a buffer of 256 bytes, one only 48(!). The rest was correct. Changes were compile tested, except for Alpha. Signed-off-by: Roger Luethi Signed-off-by: Greg Kroah-Hartman [PATCH] pci hotplug/shpchp: replace schedule_timeout() with msleep_interruptible() Use msleep_interruptible() instead of schedule_timeout() to guarantee the task delays as expected. Signed-off-by: Nishanth Aravamudan Signed-off-by: Greg Kroah-Hartman [PATCH] pci hotplug/pciehp: replace schedule_timeout() with msleep_interruptible() Use msleep_interruptible() instead of schedule_timeout() to guarantee the task delays as expected. Signed-off-by: Nishanth Aravamudan Signed-off-by: Greg Kroah-Hartman [PATCH] pci hotplug/cpqphp: replace schedule_timeout() with msleep_interruptible() Use msleep_interruptible() instead of schedule_timeout() to guarantee the task delays as expected. Signed-off-by: Nishanth Aravamudan Signed-off-by: Greg Kroah-Hartman [PATCH] pci hotplug/cpqphp_ctrl: replace schedule_timeout() with msleep_interruptible() Use msleep_interruptible() instead of schedule_timeout() to guarantee the task delays as expected. Signed-off-by: Nishanth Aravamudan Signed-off-by: Greg Kroah-Hartman [PATCH] PPC64: Add pcibios_remove_root_bus From: John Rose The following patch creates pcibios_remove_root_bus(), which performs the ppc64-specific actions for removal of PCI Host Bridges. This call is invoked by the RPA DLPAR driver upon PHB removal. Signed-off-by: John Rose Signed-off-by: Paul Mackerras Signed-off-by: Greg Kroah-Hartman PCI Hotplug: Oops, didn't mean to apply the msi pci express patch, so revert it Signed-off-by: Greg Kroah-Hartman [PATCH] PPC64: RPA dynamic addition/removal of PCI Host Bridges From: John Rose The following patch implements the ppc64-specific bits for dynamic (DLPAR) addition of PCI Host Bridges. The entry point for this operation is init_phb_dynamic(), which will be called by the RPA DLPAR driver. Among the implementation details, the global number aka PCI domain for the newly added PHB is assigned using the same simple counter that assigns it at boot. This has two consequences. First, the PCI domain associated with a PHB will not persist across DLPAR remove and subsequent add. Second, stress tests that repeatedly add/remove PHBs might generate some large values for PCI domain. If we decide at a later point to hash an OF property to PCI domain value, this can be easily fixed up. Also, the linux,pci-domain property is not generated for the newly added PHBs at the moment. Because there doesn't seem to be an easy way to dynamically add single properties to the OFDT, and because the userspace dependency on this property is being questioned, I've ignored it for now. If we decide on a solution for this at a later point, it can also be easily fixed up. Signed-off-by: John Rose Signed-off-by: Paul Mackerras Signed-off-by: Greg Kroah-Hartman [PATCH] PCI: remove pci_module_init() usage from drivers/pci/hotplug/* Signed-off-by: Greg Kroah-Hartman [PATCH] PCI: clean up pci_dev_get() to be sane Signed-off-by: Greg Kroah-Hartman [PATCH] PCI Hotplug: RPA DLPAR - remove error check Here's a really long explanation for a really short patch! :) As an unfortunate side effect of runtime addition/removal of PCI Host Bridges, the RPA DLPAR driver can no longer depend on the success of ioremap_explicit() (and therefore remap_page_range()) for the case of DLPAR adding an I/O Slot. Without addressing this, an attempt to add the first child slot of a newly added PHB will fail when __ioremap_explicit() determines the mappings for that range to already exist. For a little context, __ioremap_explicit() creates mappings for the range of a newly added slot. Here's why these calls will be expected to fail in some cases. Keep in mind that at boot-time, the PPC64 kernel calls ioremap() for the entire range spanned by each PHB. Consider the following scenarios of DLPAR-adding an I/O slot. 1) Just after boot, one removes an I/O slot. At this point the range associated with the parent PHB is fragmented, and the child range for the slot in question is iounmap()'ed. One then re-adds the slot, at which point remap_page_range()/ioremap_explicit() restores the mappings that were previously removed. 2) One adds a new PHB, at which point the ppc64-specific addition ioremaps the entire PHB range. One then performs a DLPAR-add of a child slot of that PHB. At this point, mappings already exist for the range of the slot to be added. So remap_page_range()/ioremap_explicit() will fail at this point. The problem is, there's not a good way to distinguish between cases 1 and 2 from the perspective of the DLPAR driver. Because of that, I believe the correct solution to be: - Removal of relevant error prints from iounmap_explicit(), which is only used for DLPAR. - Removal of error code checks from the RPA driver Signed-off-by: John Rose Signed-off-by: Greg Kroah-Hartman [PATCH] PCI: remove all usages of pci_dma_sync_sg as it's obsolete. Signed-off-by: Greg Kroah-Hartman [PATCH] PCI: remove all usages of pci_dma_sync_single as it's obsolete. Signed-off-by: Greg Kroah-Hartman [PATCH] PCI: fix up pci_register_driver() to stop lying in its return value. It shouldn't return 1, it needs to return either -ERROR or 0. Signed-off-by: Greg Kroah-Hartman [PATCH] PCI: audit all callers of pci_register_driver() to work properly. No, pci_register_driver() does not return the number of pci devices found, sorry. No, if pci_register_driver() fails, you do not need to call pci_unregister_driver(). Signed-off-by: Greg Kroah-Hartman [PATCH] PCI: pci_module_init() is identical to pci_register_driver() so just make it a #define It needs to stay this way until all usages of pci_module_init() are purged from the tree. Signed-off-by: Greg Kroah-Hartman [PATCH] PCI: remove pci_module_init() usage from drivers/usb/* Signed-off-by: Greg Kroah-Hartman [PATCH] PCI: CONFIG_PCI=n build fix With CONFIG_PCI=n: arch/i386/kernel/cpu/cyrix.c: In function `init_cyrix': arch/i386/kernel/cpu/cyrix.c:285: `cyrix_55x0' undeclared (first use in this function) arch/i386/kernel/cpu/cyrix.c:285: (Each undeclared identifier is reported only once arch/i386/kernel/cpu/cyrix.c:285: for each function it appears in.) Make pci_dev_present() a macro. It doesn't make sense to require that pci_device_id's be in scope when CONFIG_PCI=n Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman [PATCH] PCI: pci_dev_put() build fix With CONFIG_PCI=n: arch/i386/kernel/cpu/mtrr/main.c: In function `have_wrcomb': arch/i386/kernel/cpu/mtrr/main.c:86: warning: implicit declaration of function `pci_dev_put Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman [PATCH] USB: Fix hiddev devfs oops From: Herbert Xu There is a long-standing devfs_unregister oops in hid/hiddev. It's caused by hid calling hiddev_exit before unregistering itself which in turn calls hiddev_disconnect. hiddev_exit removes the directory which contains the hiddev devices. Therefore it needs to be called after the hiddev devices have been disconnected. Signed-off-by: Herbert Xu Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman Fix up 3w-xxxx after NULL removal mismerge Looks like there were also several other NULL<->0 replacements necessary in the new code. Signed-off-by: James Bottomley remove config_compat from Megaraid From: "Bagalkote, Sreenivas" Signed-off-by: James Bottomley [PATCH] fix acenic hotplug From: Anton Blanchard Now that the acenic has been converted to the hotplug API a number of uses of __init and __initdata have to be changed to __devinit and __devinitdata. Acked-by: Jes Sorensen Signed-off-by: Anton Blanchard Signed-off-by: Andrew Morton [ALSA] Fix the variable types in struct RME HDSP driver The variable types are declared explicitly like u32 and u64 to avoid ambiguity. Signed-off-by: Takashi Iwai [ALSA] more au88x0 eq cleanups au88x0 driver cleanup au88x0 equalizer code by factoring out a sign_invert function that ensures all negative integers become positive. Signed-off-by: Jeff Muizelaar Signed-off-by: Takashi Iwai [ALSA] Fix HDSP meter ioctl RME HDSP driver Fixes and clean up of GET_PEAK_RMS ioctl. Signed-off-by: Takashi Iwai [ALSA] Fix DXS entry for GA-7VAX VIA82xx driver From: 1 1 I have tested my MB GA-7VAX and want to say you that you should use VIA_DXS_ENABLE instead VIA_DXS_NO_VRA. On the maximum volume output level with VIA_DXS_NO_VRA there is abnormal loud noise, and with VIA_DXS_ENABLE there are much less noises. And I have detected unused code section. Signed-off-by: Andrew Morton Signed-off-by: Takashi Iwai [ALSA] Aureon S/PDIF input fixes ICE1712 driver Fix GPIO pin directions and use RXP1 instead of RXP0 as S/PDIF source on CS8415A Signed-off-by: Peter Christensen Signed-off-by: Takashi Iwai [ALSA] Aureon S/PDIF input fixes ICE1712 driver GPIO directions changed * GPIO>22 not configured as they do not exist * GPIO22 set to output (CS8415A CS pin) * GPIO21 set to input. (SPI MISO pin) Init sequence of CS8415A changed: * SWCLK is set to 1 (OMCK output to RMCK pin) * MUX2:0 is set to 001 (S/PDIF input on RXP1) * SODEL is set to 1 (MSB of SDOUT data occurs if the second OSCLK period after the OLRCK edge) * SOLRPOL is set to 1 (SDOUT data is for the right channel with OLRCK is high) Signed-off-by: Peter Christensen Signed-off-by: Takashi Iwai [ALSA] Fix drain/drop of linked PCM streams PCM Midlevel This patch fixes the dead-locking of linked PCM streams when drain/drop is called. The counter field is added to pcm group struct to handle link/unlink more easily. When the PCM streams are linked, start/drain/drop are operated to all linked streams. The drain will wait until draining of all linked streams are finished. The XRUN triggers stopping of all linked streams and changes the state of all of them to XRUN even if only one of them is actually in XRUN. Signed-off-by: Takashi Iwai NTFS: - Move ntfs_{un,}map_page() from ntfs.h to aops.h and fix resulting include errors. - Move typedefs for runlist_element and runlist from ntfs.h to runlist.h and fix resulting include errors. Signed-off-by: Anton Altaparmakov [ALSA] snd-usb-usx2y 0.7.3 USB generic driver,USB USX2Y Use usb_kill_urb() instead of deprecated usb_unlink_urb() Signed-off-by: Karsten Wiese Signed-off-by: Takashi Iwai NTFS: Remove unused {__,}format_mft_record() from fs/ntfs/mft.c. Signed-off-by: Anton Altaparmakov [ALSA] Replace with usb_kill_urb() USB generic driver Use usb_kill_urb() instead of deprecated usb_unlink_urb() for sync'ed URBs. Signed-off-by: Takashi Iwai [ALSA] Fix peakmeter ioctl on big-endian RME HDSP driver Fixed the data transfer of peakmeter ioctl on big-endian architectures. Signed-off-by: Takashi Iwai [ALSA] Clean up ice1712 chip struct ICE1712 driver Clean up of ice1712 chip struct. The board-specific data are moved to spec union. Signed-off-by: Takashi Iwai [ALSA] Adds AC'97 support to Aureon cards. ICE1712 driver This patch adds support of the STAC9744 chip located on Aureon cards, enabling volume control for analogue input channels. It also adds the posibility of listening to both the analogue inputs and the digital audio. Signed-off-by: Peter Christensen Signed-off-by: Takashi Iwai [ALSA] Add reset_workaround module option Documentation,NM256 driver - The workaround for some laptops like Dell Latitude LS can be specified via reset_workaround module option, too. - The check of reset_workaround is merged into the quirk table. - The spinlock in AC97 reset callback is removed. Signed-off-by: Takashi Iwai [ALSA] add overclocking option for the analog input PCI drivers,BT87x driver adds CONFIG_SND_BT87X_OVERCLOCK to enable sample rates up to 1792000 Hz when recording from the analog input Signed-off-by: Clemens Ladisch [ALSA] Add (experimental) CM9761 support AC97 Codec Core CM9761 support patch is added. At least, SPDIF and 4.0 output seems working. Signed-off-by: Takashi Iwai [ALSA] Fix SPDIF support on ICH4/5/6 Intel8x0 driver Fixed SPDIF support on ICH4/5/6. The driver name of these chipsets is set as 'ICH4' to tell from the older ICHs. Signed-off-by: Takashi Iwai [ALSA] Fix AC97 master mute ICE1712 driver Instead of muting the AC97 chip and thus eliminating the possibility of recording, muting is done by setting front playback to DAC only instead of DAC+AUX. Signed-off-by: Peter Christensen Signed-off-by: Takashi Iwai [ALSA] Fix AC3 playback on SB Live EMU10K1/EMU10K2 driver Fix the AC3 playback on SB Live! (Audigy has been working fine.) Signed-off-by: Takashi Iwai ALSA CVS update USB generic driver add Edirol UA-25 support Signed-off-by: Clemens Ladisch [ALSA] Fix / clean up OPL3 for CS4281 Documentation,OPL3,CS4281 driver Moved cs4281-specific code into cs4281 driver from opl3. The ugly type-casting is removed now. The opl3 instance can be created via snd_opl3_new() (followed by snd_opl3_init()) to allow the driver to set its own command and private_data/private_free. snd_opl3_create() is kept for compatibility as it was. Signed-off-by: Takashi Iwai [ALSA] fix DAC slot assignment AC97 Codec Core write the DAC slot assignment bits to the extended ID register where they belong instead of overwriting the SPSA bits in the extended status register Signed-off-by: Clemens Ladisch [ALSA] fix description of SPSA=3 in the proc file AC97 Codec Core Signed-off-by: Clemens Ladisch [ALSA] fix snd_opl3_init documentation Documentation Signed-off-by: Clemens Ladisch [ALSA] Clean up bitmap EMU10K1/EMU10K2 driver Clean up the declaration of bitmap with DECLARE_BITMAP(). Signed-off-by: Takashi Iwai [ALSA] Fix dead blocking during module_init() ALSA sequencer,ALSA<-OSS sequencer Fixed the auto-loading of modules during module_init(). Signed-off-by: Takashi Iwai [ALSA] Fix pci_restore_state() ALSA Core Fixed pci_save_state() call with the new API. Signed-off-by: Takashi Iwai NTFS: - Modify fs/ntfs/mft.c::__mark_mft_record_dirty() to use the helper mark_ntfs_record_dirty() which also changes the behaviour in that we now set the buffers belonging to the mft record dirty as well as the page itself. - Update fs/ntfs/mft.c::write_mft_record_nolock() and sync_mft_mirror() to cope with the fact that there now are dirty buffers in mft pages. Signed-off-by: Anton Altaparmakov [ALSA] Add KERN_ERR to error messages ALSA Core Added KERN_ERR prefix to error messages in snd_assert() and snd_runtime_check() macros. Signed-off-by: Takashi Iwai [ALSA] Fix typo ALSA sequencer Fixed a typo for snd_seq_autoload_lock() in the last change (only for the case without CONFIG_KMOD). Signed-off-by: Takashi Iwai [ALSA] Added dxs quirk for QDI Kudoz 7X/600-6AL VIA82xx driver Added the default dxs_support entry for QDI Kudoz 7X/600-6AL. Signed-off-by: Takashi Iwai [ALSA] Fix ac97 codec reset and clean up CS46xx driver - Fixed AC97 codec RESET for duel codecs (only for CONFIG_SND_CS46XX_NEW_DSP) - Clean up the codec detection routine Signed-off-by: Takashi Iwai [ALSA] Fix compilation (sync with parisc tree) PARISC Harmony driver Sync with parisc tree - fix compilations, module description fixes. Signed-off-by: Takashi Iwai [ALSA] Fix Aureon CCS init sequence ICE1712 driver - Fix Aureon 5.1 Sky GPIO write mask bits - Fix 192kHz bit Signed-off-by: Peter Christensen Signed-off-by: Takashi Iwai [ALSA] Fix the detection of secondary codec CS46xx driver Fixed the detection of secondary codec. Signed-off-by: Takashi Iwai USB: SpeedTouch / ATM update: - Continue polling even if we receive a 'line down' interrupt. The Rev 4 modems give that one but not 'line up'. - Make the warn() on debugging assertions actually conditional :) - Keep a reference count on the module while its thread is running. - Provide empty exit function for usb_atm.ko so it's unloadable. - Handle firmware which is in /usr so only turns up later. Signed-off-by: David Woodhouse Signed-off-by: Greg Kroah-Hartman [NET]: Allow CONFIG_NET=n on ppc64. Signed-off-by: Olaf Hering Signed-off-by: David S. Miller [Bluetooth] Let the CAPI free the SKB in the error case If the CAPI send_message() function returns with anything else than CAPI_NOERROR then there is no need to free the SKB. The CAPI will take care of it by itself. Signed-off-by: Marcel Holtmann [SKBUFF] move common code to hdlc_type_trans Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller [Bluetooth] Add module parameter for disabling ISOC transfers Some USB host controllers don't like the way Bluetooth USB dongles uses the isochronous transfers for the SCO audio support. This patch makes it possible to disable them without recompiling the driver. Signed-off-by: Marcel Holtmann [Bluetooth] Add security manager flags and options This patch adds the initial flags and options for the upcoming kernel based Bluetooth security manager. Signed-off-by: Marcel Holtmann [Bluetooth] Stop TX task before notifying the driver When notifying the driver of a changed voice setting the TX task must be stopped first. Otherwise the driver don't have a chance to switch the settings if needed. Signed-off-by: Marcel Holtmann [ACPI] Notify SMM of cpufreq http://marc.theaimsgroup.com/?l=acpi4linux&m=109428989121089&w=2 Signed-off-by: Dominik Brodowski [ARM] Convert system ticker timer to sysdev model. Machine support files are now expected to provide a sys_timer structure which encapsulates everything to do with the kernels system timer, and provides elegant with the system device model. In addition, it provides the relevant power management hooks. [ARM] Move OS timer suspend/resume from pm.c to time.c This makes OS timer suspend/resume part of the system device power management model. [ARM] Separate out footbridge DC21285 and ISA timer implementations. EXPORT_SYMBOL(acpi_os_write_port); EXPORT_SYMBOL(acpi_fadt_is_v1); NTFS: Update fs/ntfs/inode.c::ntfs_write_inode() to also use the helper mark_ntfs_record_dirty() and thus to set the buffers belonging to the mft record dirty as well as the page itself. Signed-off-by: Anton Altaparmakov NTFS: Fix warnings on x86-64. (Randy Dunlap with slight modification from me) Fix printk arg type warnings on x86-64 (and OK on x86-32) (gcc 3.3.3): fs/ntfs/dir.c:1272: warning: long long unsigned int format, long unsigned int arg (arg 6) fs/ntfs/dir.c:1388: warning: long long unsigned int format, long unsigned int arg (arg 5 Signed-off-by: Randy Dunlap Signed-off-by: Anton Altaparmakov NTFS: Add fs/ntfs/mft.c::try_map_mft_record() which fails with -EALREADY if the mft record is already locked and otherwise behaves the same way as fs/ntfs/mft.c::map_mft_record(). Signed-off-by: Anton Altaparmakov scsi: fix host transport allocations Spotted by: The allocation in scsi_host_alloc() is completely innefective because the host has only just been allocated and is set to the blank transport template (with zero size for host attributes). On the current model, the host attribute storage must be allocated later in scsi_add_host() when the driver has had an opportunity to set the transport template. This is getting a bit cumbersome, so it might also be better simply to move the transport template from the host structure into the host template structure instead. Signed-off-by: James Bottomley [IA64-SGI] Remove Altix I/O code (ready for re-org). Signed-off-by: Patrick Gefre Signed-off-by: Tony Luck [IA64-SGI] Add in Altix I/O code Signed-off-by: Patrick Gefre Signed-off-by: Tony Luck [IA64] qla1280.c Mod for Altix I/O add code. Changes inside CONFIG_IA64_GENERIC CONFIG_IA64_SGI_SN2 Need to include sn/io.h for generic builds (sn_+pci_set_vchan def) Remove rrb alloc - now done in PROM Remove endian setting - now done in PROM Change arg 2 for sn_pci_set_vchan() Acked-by: Jes Sorenson Signed-off-by: Patrick Gefre Signed-off-by: Tony Luck [IA64-SGI] Fix issue with gemini TIO systems Signed-off-by: Patrick Gefre Signed-off-by: Tony Luck [IA64-SGI] Redundant BUG check Signed-off-by: Patrick Gefre Signed-off-by: Tony Luck 53c700: update driver for host spi class Since currently the host class isn't initialised until scsi_add_host(), we have to make sure we don't set the spi_signalling() attribute until after this has been run. Signed-off-by: James Bottomley [IA64-SGI] Fix a possible memory leak. Fix a possible memory leak. Change the name of the 'new_sn_irq_info' variable to 'tmp_sn_irq_info' since we're not really allocating a new kernel sn_irq_info, we just getting new target information from the PROM and replacing it in the kernel's sn_irq_info for the given irq Signed-off-by: Patrick Gefre Signed-off-by: Tony Luck [IA64-SGI] make pci_root_ops non static add extern for pci_root_ops delete our version of the pci_root_ops code make pci_root_ops non static Ack-by: Matthew Wilcox Ack-by: Jesse Barnes Ack-by: Grant Grundler Signed-off-by: Patrick Gefre Signed-off-by: Tony Luck NTFS: Modify fs/ntfs/mft.c::write_mft_record_nolock() so that it only writes the mft record if the buffers belonging to it are dirty. Otherwise we assume that it was written out by other means already. Signed-off-by: Anton Altaparmakov [PATCH] libata: PCI IDE legacy mode fix In PCI IDE legacy mode ap->port_no is incorrectly set to zero for the second port. Fix it by adding ->hard_port_no to struct ata_probe_ent and struct ata_port (per Jeff's suggestion) and teaching ata_piix.c to use it instead of ->port_no. Signed-off-by: Bartlomiej Zolnierkiewicz NTFS: Attempting to write outside initialized size is _not_ a bug so remove the bug check from fs/ntfs/aops.c::ntfs_write_mst_block(). It is in fact required to write outside initialized size when preparing to extend the initialized size. Signed-off-by: Anton Altaparmakov NTFS: Map the page instead of using page_address() before writing to it in fs/ntfs/aops.c::ntfs_mft_writepage(). Signed-off-by: Anton Altaparmakov NTFS: Provide exclusion between opening an inode / mapping an mft record and accessing the mft record in fs/ntfs/mft.c::ntfs_mft_writepage() by setting the page not uptodate throughout ntfs_mft_writepage(). Signed-off-by: Anton Altaparmakov [PATCH] tmscsim: remove remaining INQUIRY sniffing Signed-off-by: James Bottomley [PATCH] psi240i build fix drivers/scsi/psi240i.c:713: unknown field `abort' specified in initializer drivers/scsi/psi240i.c:713: warning: initialization from incompatible pointer type drivers/scsi/psi240i.c:714: unknown field `reset' specified in initializer drivers/scsi/psi240i.c:714: warning: initialization from incompatible pointer typ Signed-off-by: Andrew Morton Signed-off-by: James Bottomley [PATCH] get rid of obsolete APIs in BusLogic Signed-off-by: James Bottomley [PATCH] get rid of obsolete APIs in nsp32 Signed-off-by: James Bottomley [PATCH] fdomain: reduce usage of global variables preparation for supporting more than HBA instance Signed-off-by: James Bottomley [PATCH] Adding PCI ID tables to aic7xxx and aic79xxx Adding proper PCI ID tables to aic7xxx and aic79xx. Signed-off-by: James Bottomley [ARM] Fix Integrator timer implementation. [PATCH] PATCH: netpoll with xircom_cb I have a headless computer with xircom pcmcia card and needed netconsole on it. After looking around in other drivers I concocted this patch. It survived light testing. I have no documentation for the hw, so it maybe totally bogus. NTFS: Big cleanup of mft record writing code. - Clear the page uptodate flag in fs/ntfs/aops.c::ntfs_write_mst_block() to ensure noone can see the page whilst the mst fixups are applied. - Add the helper fs/ntfs/mft.c::ntfs_may_write_mft_record() which checks if an mft record may be written out safely obtaining any necessary locks in the process. This is used by fs/ntfs/aops.c::ntfs_write_mst_block(). - Modify fs/ntfs/aops.c::ntfs_write_mst_block() to also work for writing mft records and improve its error handling in the process. Now if any of the records in the page fail to be written out, all other records will be written out instead of aborting completely. - Remove ntfs_mft_aops and update all users to use ntfs_mst_aops. - Modify fs/ntfs/inode.c::ntfs_read_locked_inode() to set the ntfs_mst_aops for all inodes which are NInoMstProtected() and ntfs_aops for all other inodes. - Rename fs/ntfs/mft.c::sync_mft_mirror{,_umount}() to ntfs_sync_mft_mirror{,_umount}() and change their parameters so they no longer require an ntfs inode to be present. Update all callers. - Cleanup the error handling in fs/ntfs/mft.c::ntfs_sync_mft_mirror(). - Clear the page uptodate flag in fs/ntfs/mft.c::ntfs_sync_mft_mirror() to ensure noone can see the page whilst the mst fixups are applied. - Remove the no longer needed fs/ntfs/mft.c::ntfs_mft_writepage() and fs/ntfs/mft.c::try_map_mft_record(). - Fix callers of fs/ntfs/aops.c::mark_ntfs_record_dirty() to call it with the ntfs inode which contains the page rather than the ntfs inode the mft record of which is in the page. Ooops. Yes, I know, I should have split this up into smaller changes... Signed-off-by: Anton Altaparmakov NTFS: - Fix two race conditions in fs/ntfs/inode.c::ntfs_put_inode(). - Fix race condition in fs/ntfs/inode.c::ntfs_put_inode() by moving the index inode bitmap inode release code from there to fs/ntfs/inode.c::ntfs_clear_big_inode(). (Thanks to Christoph Hellwig for spotting this.) - Fix race condition in fs/ntfs/inode.c::ntfs_put_inode() by taking the inode semaphore around the code thst sets ni->itype.index.bmp_ino to NULL and reorganize the code to optimize it a bit. (Thanks to Christoph Hellwig for spotting this.) Signed-off-by: Anton Altaparmakov [PATCH] smc91x: Revert 1.1923.3.58: "m32r: modify drivers/net/smc91x.c for m32r" From: Nicolas Pitre This change is flaky. Also conflicting with planned update of the driver. Signed-off-by: Nicolas Pitre Signed-off-by: Andrew Morton [PATCH] smc91x: Assorted minor cleanups From: Nicolas Pitre - turn #if THROTTLE_TX into C code - adjust some debug messages - factorize code a litle - fix warnings with gcc-3.4.1 - etc. Signed-off-by: Nicolas Pitre Signed-off-by: Andrew Morton [PATCH] smc91x: set the MAC addr from the smc_enable function From: Nicolas Pitre This is a pre-requisite for patch 05. Also a good thing to do. Signed-off-by: Nicolas Pitre Signed-off-by: Andrew Morton [PATCH] smc91x: fold smc_setmulticast() into smc_set_multicast_list() From: Nicolas Pitre This allows for access to the chip to be entirely factorized, and proper locking to be added over an extremely small critical area. Also a prerequisite for patch 05. Signed-off-by: Nicolas Pitre Signed-off-by: Andrew Morton [PATCH] smc91x: simplify register bank usage From: Nicolas Pitre Let's avoid all that crap of preserving the bank to restore it all the time if that's not necessary. The rule is simple: bank 2 is the only allowed bank when the chip is active and unlocked. Anything that needs to change the bank to something other than bank 2 must lock against any concurrent access and return to bank 2 before unlocking. Signed-off-by: Nicolas Pitre Signed-off-by: Andrew Morton [PATCH] smc91x: move TX processing out of IRQ context entirely From: Nicolas Pitre When large amount of packets are sent, the most likely source of throttling (when THROTTLE_TX_PKTS is off) is the completion of on-chip buffer allocation that triggers an IRQ. Instead of pushing data to the chip in IRQ context, we now schedule a tasklet which has the big advantage of being interruptible by the RX packet IRQ giving the RX processing the ultimate priority over anything else. This is really important especially on the SMC91C111 which has only 4 packet buffers total regardless of packet size and has a tendency of suffering from RX overruns. This change allows RX packets to be pulled immediately upon arrival instead of having to wait for a (possibly much larger) TX packet to be entirely pushed onto the chip. The THROTTLE_TX_PKTS logic is also a bit more efficient as it now looks for a packet already been transmitted before stopping the queue therefore decreasing unnecessary TX idle periods while still keeping most buffers free for RX packets. Signed-off-by: Nicolas Pitre Signed-off-by: Andrew Morton [PATCH] smc91x: use a work queue to reconfigure the phy from smc_timeout() From: Nicolas Pitre This way we can reconfigure the phy and sleep as needed. Also removed unnecessary locking from smc_phy_powerdown() since the chip is not active anymore when this is called. Signed-off-by: Nicolas Pitre Signed-off-by: Andrew Morton [PATCH] smc91x: fix possible leak of the skb waiting for mem allocation From: Nicolas Pitre Free the pending TX skb inside smc_reset() rather than doing it where smc_reset() is called. Worse, some places just didn't care. Also do it when closing the driver. Signed-off-by: Nicolas Pitre Signed-off-by: Andrew Morton [PATCH] smc91x: display pertinent register values from the timeout function From: Nicolas Pitre If ever that function is called, this will certainly help track the reason for it. Signed-off-by: Nicolas Pitre Signed-off-by: Andrew Morton [PATCH] smc91x: straighten SMP locking From: Nicolas Pitre Fix SMP locking, and add special cases for SMP in order to preserve UP's slightly better efficiency and reliability. Signed-off-by: Nicolas Pitre Signed-off-by: Andrew Morton [PATCH] smc91x: cosmetics From: Nicolas Pitre Update version string, some coments, rename a variable, etc. Nothing really worrying... Signed-off-by: Nicolas Pitre Signed-off-by: Andrew Morton [PATCH] m32r: trivial fix of smc91x.h From: Hirokazu Takata Fix LED control. Signed-off-by: Hayato Fujiwara Signed-off-by: Hirokazu Takata Signed-off-by: Andrew Morton [PATCH] smc91x: fix SMP lock usage From: Nicolas Pitre Well, there is no such thing as a spin_trylock_irq() in the kernel. Signed-off-by: Nicolas Pitre Signed-off-by: Andrew Morton [PATCH] smc91x: more SMP locking fixes From: Nicolas Pitre This fixes remaining locking problems on SMP. Thanks to Hirokazu Takata for testing. Signed-off-by: Nicolas Pitre Signed-off-by: Andrew Morton [PATCH] smc91x: fix compilation with DMA on PXA2xx From: Nicolas Pitre This is required for DMA on PXA to compile with the latest changes in mainline. Also moved away from the PCI DMA flags. Signed-off-by: Nicolas Pitre Signed-off-by: Andrew Morton [PATCH] smc91x: receives two bytes too many From: Nicolas Pitre The logic about proper packet size was a bit confused. Fix comments and the code where appropriate. Thanks to Stuart Juengst for spotting this. Signed-off-by: Nicolas Pitre Signed-off-by: Andrew Morton [PATCH] smc91x: release on-chip RX packet memory ASAP From: Nicolas Pitre We are desperately in need of on-chip memory so free it as soon as we have fetched its content. Suggested by Marc Singer. Signed-off-by: Nicolas Pitre Signed-off-by: Andrew Morton [libata] add AHCI driver [libata ahci] fix several bugs * PCI IDs from test version didn't make it into mainline... doh * do all command setup in ->qc_prep * phy_reset routine that does signature check * check SATA phy for errors * reset hardware from scratch, in case card BIOS didn't run * implement staggered spinup by default * adding additional debugging output [libata ahci] more updates * allocate DMA areas in better order * remove unneeded hooks [PATCH] per-port LED control for sata_vsc signed-off-by: Jeremy Higdon [libata] do not memset() SCSI request buf in a get-reference style function fixes INQUIRY command handling for ATAPI. Signed-off-by: Bartlomiej Zolnierkiewicz [PATCH] Export ata_scsi_simulate() for use by non-libata drivers This patch modifies libata-scsi for easier sharing of the various ata_id_* functions and the ata_scsi_simulate() function with non-libata drivers. Signed-off-by: Mark Lord Signed-off-by: Jeff Garzik [libata piix] Fix PATA UDMA masks piix_pata_cbl_detect() handles cable detection just fine. Signed-off-by: Bartlomiej Zolnierkiewicz NTFS: Modify fs/ntfs/aops.c::mark_ntfs_record_dirty() to no longer take the ntfs inode as a parameter as this is confusing and misleading and the ntfs inode is available via NTFS_I(page->mapping->host). Adapt all callers to this change. Signed-off-by: Anton Altaparmakov NTFS: Modify fs/ntfs/mft.c::write_mft_record_nolock() and fs/ntfs/aops.c::ntfs_write_mst_block() to only check the dirty state of the first buffer in a record and to take this as the ntfs record dirty state. We cannot look at the dirty state for subsequent buffers because we might be racing with fs/ntfs/aops.c::mark_ntfs_record_dirty(). Signed-off-by: Anton Altaparmakov merge scsiiom.c into tmscsim.c From: Christoph Hellwig Also reapplied sparse fixes on top of the initial patch. Signed-off-by: James Bottomley [PATCH] tmscsim: use block-layer tags Now uses the generic block layer tag handling routines (via the SCSI API). Signed-off-by: Guennadi Liakhovetski Signed-off-by: James Bottomley SCSI: Fix problems with non-power-of-two sector size discs We can't support them, but the system should disable them cleanly and continue when they're detected (at the moment it dumps a stack trace). The fix (hack) is to set them to zero size and 512 byte sectors. This means they're still amenable to ioctls (like to reformat them with a useful block size) but cannot be read from or written to. Signed-off-by: James Bottomley [PATCH] e1000: modified ethtool_set_pauseparam to use e1000_setup_link for flow control settings for fiber serdes link [PATCH] e1000: remove unused function e1000_enable_mng_pass_thru [PATCH] e1000: fix set ringparam for ethtool returning error code on bad input [PATCH] e1000: driver version update [PATCH] e1000: white space corrections [PATCH] amd8111e iomem annotations * trivial iomem annotations * couple of missing dev->priv -> netdev_priv(dev). Signed-off-by: Al Viro [PATCH] PCI Hotplug: rpaphp safe list traversal Hoping you will accept this fix. The bug can cause a crash upon hotplug remove. The bug involves unsafe traversal of a list while deleting list members. The fix uses list_for_each_safe() rather than list_for_each(). Also threw in an initialization to get rid of a compiler warning. Signed-off-by: John Rose Signed-off-by: Greg Kroah-Hartman [PATCH] typhoon.c missing include DMA_32BIT_MASK is declared in linux/dma-mapping.h; not all platforms get it from already included headers, so we need explicit include here (fixes breakage at least on alpha and sparc64). Signed-off-by: Al Viro [PATCH] netconsole support for b44 [PATCH] b44poll - whitespace [PATCH] Let LLD specify INQUIRY length That sounds like a good suggestion. Even better, instead of adding a new field we can simply use the existing inquiry_length. This patch changes scsi_probe_lun() to use the value in sdev->inquiry_length for the first INQUIRY attempt, if that value is nonzero. Subsequent attempts are based, as before, on the blacklist flags and the Additional Length field in the INQUIRY data. The patch also contains a fairly extensive reorganization of the subroutine. All the code that was duplicated for sending the INQUIRY command twice has been consolidated. The routine now makes up to three passes: In the first pass, the transfer length is the value initially found in sdev->inquiry_length if that has been set, otherwise it is the current conservative 36 bytes. If the first pass succeeds, the routine retrieves the blist flags for the device and checks the Additional Length field. The blist flags take precedence over sdev->inquiry_length, which in turn takes precedence over the Additional Length. If it turns out there is more data available than we transferred the first time, a second pass tries to get it. If the second pass succeeds the INQUIRY data may have changed, so the blist flags are looked up again and the Additional Length is checked again. If not, a third pass tries to get the data back, using the same transfer length as the first pass. Finally, the value stored in sdev->inquiry_length is set to the amount actually transferred or the size computed from the Additional Length, whichever is smaller. Although the net change in the source file size is small, the new routine has more comments and less code. Overall I think it's an improvement. Signed-off-by: Alan Stern Signed-off-by: James Bottomley [PATCH] pcnet32: use unsigned 1-bit fields [PATCH] 3c59x: style change in vortex_ethtool_ops declaration Style change suggested during patch review. Signed-off-by: John W. Linville [PATCH] net/tokenring/olympic.c: remove unused variable Recent changes in Linus' tree removed all uses of a variable, resulteing in the following warning: <-- snip --> ... CC drivers/net/tokenring/olympic.o drivers/net/tokenring/olympic.c: In function `olympic_arb_cmd': drivers/net/tokenring/olympic.c:1404: warning: unused variable `i' ... <-- snip --> The following patch removes this unused variable: Signed-off-by: Adrian Bunk NTFS: Move the static inline ntfs_init_big_inode() from fs/ntfs/inode.c to inode.h and make fs/ntfs/inode.c::__ntfs_init_inode() non-static and add a declaration for it to inode.h. Fix some compilation issues that resulted due to #includes and header file interdependencies. Signed-off-by: Anton Altaparmakov NTFS: Simplify setup of i_mode in fs/ntfs/inode.c::ntfs_read_locked_inode(). Signed-off-by: Anton Altaparmakov NTFS: Add helpers fs/ntfs/layout.h::MK_MREF() and MK_LE_MREF(). Signed-off-by: Anton Altaparmakov NTFS: Modify fs/ntfs/mft.c::map_extent_mft_record() to only verify the mft record sequence number if it is specified (i.e. not zero). Signed-off-by: Anton Altaparmakov NTFS: Add fs/ntfs/mft.[hc]::ntfs_mft_record_alloc() and various helper functions used by it. Signed-off-by: Anton Altaparmakov kevent: add __bitwise kobject_action to help the compiler check for misusages Signed-off-by: Greg Kroah-Hartman USB: add endian markups to the ub driver. Signed-off-by: Greg Kroah-Hartman [PATCH] b44: replace MODULE_PARM Replace MODULE_PARM with module_param Signed-off-by: Stephen Hemminger [PATCH] b44: use netdev_priv Replace uses of dev->priv with netdev_priv Signed-off-by: Stephen Hemminger [PATCH] ns83820: use module_param Replace MODULE_PARM with module_param Signed-off-by: Stephen Hemminger [PATCH] eql: use netdev_priv Use netdev_priv where possible. Signed-off-by: Stephen Hemminger [PATCH] dummy: use netdev_priv Can use netdev_priv in dummy device. Signed-off-by: Stephen Hemminger [PATCH] tg3: use module_param get rid of deprecated use of MODULE_PARM Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik [PATCH] tg3: use netdev_priv use netdev_priv Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik [PATCH] tg3: make driver only data static Several data structures should have been marked static because the are local to this driver. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik [PATCH] slip: use module_param Replace MODULE_PARM with module_param (also make slip_maxdev static). Signed-off-by: Stephen Hemminger [PATCH] slip: use netdev_priv Replace dev->priv with netdev_priv(dev) Signed-off-by: Stephen Hemminger [PATCH] skfp: remove assignment expression in conditional (sparse)(v2) Fix sparse warning: drivers/net/skfp/hwmtm.c:1904:20: warning: assignment expression in conditional Signed-off-by: Randy Dunlap [PATCH] REQUEST_SENSE support for ATAPI It is quite different from your patch: * uses ata_qc_issue() * supports both DMA and PIO * ->sense_buffer[] mangling dropped for now Now libata works with ATAPI devices (yeah!)... ...unless PIO is used, then it fails in mysterious way. Signed-off-by: Bartlomiej Zolnierkiewicz [libata] arbitrary size ATAPI PIO support Signed-off-by: Bartlomiej Zolnierkiewicz [PATCH] 64bit fix in cycx_x25.c comparing u32 with ~0UL is wrong Signed-off-by: Al Viro [PATCH] cyclom iomem annotations __iomem added where needed in cyclom code cycx_setup() gets physical address as an explicit argument instead of abusing hw->dpmbase Signed-off-by: Al Viro [PATCH] hd6457x iomem annotations Signed-off-by: Al Viro [PATCH] dscc4 iomem annotations Signed-off-by: Al Viro [PATCH] bunch of trivial iomem annotations in drivers/net Signed-off-by: Al Viro [PATCH] rrunner iomem annotations Signed-off-by: Al Viro [PATCH] via-velocity iomem annotations Signed-off-by: Al Viro [PATCH] tulip iomem annotations, switch to io{read,write} Signed-off-by: Al Viro [PATCH] winbond840 iomem annotations, switch to io{read,write} Signed-off-by: Al Viro [PATCH] forcedeth iomem annotations Signed-off-by: Al Viro [PATCH] yellowfin iomem annotations, switch to io{read,write} Signed-off-by: Al Viro [PATCH] hp100 iomem annotations Signed-off-by: Al Viro kconfig.debug: mention that DEBUG_SLAB can slow down machine quite a bit I experienced x3 slowdown due to this option being set. Please add this small warning to DEBUG_SLAB help text. Signed-off-by: Sam Ravnborg kconfig: OVERRIDE: save kernel version in .config file Omit .config file timestamp in the file if the environment variable "KCONFIG_NOTIMESTAMP" exists and is non-null. Signed-off-by: Randy Dunlap Signed-off-by: Sam Ravnborg kbuild: Allow install of external modules to custom path Currently, a ``make modules_install'' for an external module will install that module into /lib/modules/$(uname -r)/extra. Allow to override this default by specifying INSTALL_MOD_DIR. Signed-off-by: Andreas Gruenbacher Signed-off-by: Sam Ravnborg kbuild: fix 'htmldocs' and friends with O= The following patch fixes up 'htmldocs' and related to work when trees are being built with O=. I fixed it all up by passing the srctree as an env-var to docproc (and thus what it calls) and then pull that out when needed. Signed-off-by: Tom Rini Signed-off-by: Sam Ravnborg kbuild: Create Makefile in output dir for *config targets Upon request from Andi Kleen the Makefile is now created for *config targets also. So the MAkefile in the output directory is present when it is expected (after kernel configuration). Also tell user the Makefile is generated. Signed-off-by: Sam Ravnborg kbuild: use two double-quotes for localversion Modifies LOCALVERSION definition such that it uses patsubst instead of subst to remove surrounding double quotes from CONFIG_LOCALVERSION. This helps syntax-highlighting editors. From: Tejun Heo Signed-off-by: Sam Ravnborg kbuild: explicit enable framepointer Newer gcc versions automatically turns on -fomit-frame-pointer when -O2 is specified thus breaking CONFIG_FRAME_POINTER option. Explicitly specifying -fno-omit-frame-pointer fixes it. From: Tejun Heo Signed-off-by: Sam Ravnborg kbuild: Add cc-option-align gcc version >= 3.00 shifted from -malign-* to -falign-*. $(cc-option-align) will based on current gcc version specify the right prefix for the align option. Documented in Documentation/makefiles.txt Signed-off-by: Sam Ravnborg kbuild: make gcc -align options .config-settable With all alignment options set to 1 (minimum alignment), I've got 5% smaller vmlinux compared to one built with default code alignment. Original implementation altered to use cc-option-align by sam. From: Denis Vlasenko Signed-off-by: Sam Ravnborg NTFS: 2.1.21 release Signed-off-by: Anton Altaparmakov [PATCH] cciss: SCSI API updates This patch updates our SCSI support to no longer use deprecated APIs. Signed-off-by: James Bottomley [WATCHDOG] v2.6.9-rc3 i8xx_tco.c-stop_reboot-patch Fix for Bugzilla Bug 132719: "watchdog i8xx_tco causing machine to reboot." USB SpeedTouch / ATM: Make it work on 64-bit hosts. Reduce size of struct udsl_control to make it fit in skb->cb, by dropping the cell_header and generating it later instead of storing it. Signed-off-by: David Woodhouse Signed-off-by: Duncan Sands Signed-off-by: Greg Kroah-Hartman USB SpeedTouch cleanup. - Don't free pages with kfree() - Clean up debugging messages - Print name of firmware file loaded. Signed-off-by: Duncan Sands Signed-off-by: David Woodhouse Signed-off-by: Greg Kroah-Hartman NTFS: Update Documentation/filesystems/ntfs.txt with instructions on how to use the Device-Mapper driver with NTFS ftdisk/LDM raid. This removes the linear raid problem with the Software RAID / MD driver when one or more of the devices has an odd number of sectors. Signed-off-by: Anton Altaparmakov [PATCH] sparse __iomem annotations for qla2xxx this also found a real bug, qla2xxx isn't iounmapping at host removal at all currently - and if the right cpp macro would have been set it'd be too late. Signed-off-by: James Bottomley [PCMCIA] 01-unused_bulkmem_code.diff Most of drivers/pcmcia/bulkmem.c is unused by the Linux kernel PCMCIA subsystem and/or in-kernel PCMCIA device drivers. Remove this unused code as well as references to it. [PCMCIA] 02-move_bulkmem.diff The rest of drivers/pcmcia/bulkmem.c is only used by code relevant for 16-bit PCMCIA devices. So, link it with ds instead of with cs. The newly created module pcmcia.ko contains a MODULE_ALIAS() for the name "ds" so that backwards compatibility is ensured. [PCMCIA] 03-remove_ftl_memory.diff Remove both include/pcmcia/ftl.h and include/pcmcia/memory.h as they are unused. [PCMCIA] 04-obsolete_kconfig.diff Add a new CONFIG_PCMCIA_OBSOLETE option. [ACPI] firmware wakeup address is physical, not virtual (David Shaohua Li) http://bugzilla.kernel.org/show_bug.cgi?id=3390 [PCMCICA] 05-obsolete_parts_of_cs.diff Some parts of cs.c are not used by any PCMCIA socket or card driver or the PCMCIA subsystem itself. Mark them CONFIG_PCMCIA_OBSOLETE. Also, define pcmcia_get_window static as it was supposed to be. [PCMCIA] 06-Kconfig_PCMCIA.diff After noting three things, namely 1.) CardBus cards work without ds a.k.a. pcmcia loaded, 2.) ds a.k.a pcmcia cannot be built as module if pcmcia_core is built in, and 3.) some commenting in drivers/pcmcia/Kconfig was obsolete [to use 32-bit cards, you don't need pcmcia-cs], I wrote this patch which introduces more config options for fine- grained tuning of what to built as what and what not to built. In future, 16-bit-specific code in pcmcia_core may be surrounded by CONFIG_PCMCIA. Also, I'll try to remove the dependency of yenta_socket on cardbus. [PATCH] cciss: fixes for clustering This patch changes our open specifically for clustering software. We must allow root to access any volume or device with a LUN ID. We also modified our revalidate function for this reason. If a logical is reserved, we must register it with the OS with size=0. Then the backup system can call BLKRRPART after breaking the reservation to set the device to the correct size. We also must register a controller with no logical volumes for the online utilities to function. This is the way we've done it since the 2.2 kernel. Which doesn't neccesarily make it right, but we have legacy apps to consider. Signed off by: Mike Miller Signed-off-by: James Bottomley [PCMCIA] 01-lookup_bus.diff pcmcia_lookup_bus is only called from ds.c, and doesn't need to know about a handle -- just about the struct pcmcia_socket. [PCMCIA] 02-adjust_resource_info.diff pcmcia_adjust_resource_info is only called from ds.c and doesn't need to know about a valid handle. [PCMCIA] 03-replace_cis.diff pcmcia_replace_cis doesn't need to know about the handle or a sub- function, as the cis can only be replaced as a whole. Also, remove bogus entries in cs_internal.h [PCMCIA] 04-get_firstnext_tuple.diff Add wrappings around pcmcia_get_{first,next}_tuple, and use the new pccard_get_first,next_tuple calls wherever possible. [PCMCIA] 05-get_tuple_data.diff Add a wrapping around pcmcia_get_tuple_data, and use pccard_get_tuple_data wherever possible. [ACPI] add module parameters: processor.c2=[0,1] processor.c3=[0,1] to disable/enable C2 or C3 blacklist entries for R40e and Medion 41700 http://bugme.osdl.org/show_bug.cgi?id=3549 from Andi Kleen [PCMCIA] 06-parse_tuple.diff Add a wrapper around pcmcia_parse_tuple, and use pccard_parse_tuple in ds.c [PCMCIA] 07-read_tuple.diff Rename the "internal" read_tuple to pccard_read_tuple, and update it to better calling conventions. [PCMCIA] 08-validate_cis.diff Add a wrapper around pcmcia_validate_cis, and use pccard_validate_cis in ds.c SCSI: fix Suspend I/O block/unblock path From: James.Smart@Emulex.Com urther testing is showing that we are having some i/o threads prematurely die with the following message: "rejecting I/O to device being removed" Signed-off-by: James Bottomley [PCMCIA] 09-pcmcia_compat.diff Move the compatibility pcmcia_* functions which take a "handle" as argument to a new file, pcmcia_compat.c, which is built into "ds" a.k.a. "pcmcia.ko". This makes sense as only 16-bit PCMCIA drivers have a valid handle. [PCMCIA] 10-get_window.diff Change calling conventions to pcmcia_get_window, and use this function directly in ds.c, but keep the existing wrappers pcmcia_get_{first,next}_window in pcmcia_compat.c [PATCH] USB Storage: Unusual_dev patch for Finepix 1300 and 1400's. There are several cameras (1300s and 1400s) with the same bcdDevice number (1000). Most of them are 8070 devices, but some of them are UFI devices (similar to 8070 devices but don't clear the sense data after an INQUIRY or REQUEST SENSE). Furthermore if the devices that truely do act like 8070 devices are overridden to be UFI, they find more than one LUN. Specifiying UFI and SINGLE_LUN seems to satisfy all kinds of devices that claim device number 1000. From: Pavel Machek Signed-off-by: Phil Dibowitz Signed-off-by: Greg Kroah-Hartman [PATCH] USB Storage: unusual_devs patch for new tekom entry Stephan Fuhrmann sent in the entry for a device needing the new RESIDUE flag. Here is an appropriate tested patch. From: Stephan Fuhrmann Signed-off-by: Phil Dibowitz Signed-off-by: Greg Kroah-Hartman [PATCH] USB Storage: unusual_devs patch for winward music disk The following is needed for Winward Music Disk. I narrowed the range of the original patch which was sent by Stephan Walter. From: Stephan Walter Signed-off-by: Phil Dibowitz Signed-off-by: Greg Kroah-Hartman [PATCH] USB Storage: Remove unusual_dev entry for IBM Storage Key This removes the 0a16/8888/0100 unusual_devs entry for an IBM USB Storag key. It does not appear to be needed and caused issues for Buddha Henry , who has tested with this patch and his device works properly. Signed-off-by: Phil Dibowitz Signed-off-by: Greg Kroah-Hartman [PATCH] USB Storage: Remove unusual_devs entries for Genesys Drives Here's a patch to remove the three Genesys disk entries in unusual_devs. They don't appear to be needed anymore because: 1. The inquiries now request the right amount of data 2. MODE_XLATE, according to Alan, isn't used in 2.6 Signed-off-by: Phil Dibowitz Signed-off-by: Greg Kroah-Hartman [PATCH] USB Storage: Fix Kyocera order This removes a duplicate entry and fixes order. Trivial. Signed-off-by: Phil Dibowitz Signed-off-by: Greg Kroah-Hartman [PCMCIA] 11-configuration_info.diff Add a wrapper around pcmcia_get_configuration_info, and use pccard_get_configuration_info in ds.c aic7xxx and aic79xx: fix sleeping while holding a lock From: Luben Tuikov Fix sleeping while holding a lock on host removal and on killing the DV thread. Signed-off-by: Luben Tuikov Signed-off-by: James Bottomley [PATCH] USB Storage: new unusual_devs entry Here's another USB mass storage device that incorrectly reports the total number of disk blocks. Please apply. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman [PATCH] USB Storage: unusual_dev modification The following patch changes the 0x059f/0xa601/0x0200 per the report from Torsten Eriksson. It adds comments to the uncommented entry and changes the subclass. Signed-off-by: Phil Dibowitz Signed-off-by: Greg Kroah-Hartman [PCMCIA] 12-reset_card.diff pcmcia_reset_card doesn't need to know about the handle, but add a wrapper for backwards compatibility anyways. [PCMCIA] 13-get_status.diff Add a wrapper around pcmcia_get_status, and use pccard_get_status in ds.c [PCMCIA] 14-access_configuration.diff Add a wrapper around pcmcia_access_configuration_register, and use pccard_access_configuration_register in ds.c [PCMCIA] 15-get_firstnext_region.diff pcmcia_get_{first,next}_region are tricky: they're used only by ds.c, but to keep backwards compatibility proper wrappers are needed (for the moment). However, match_region() doesn't work without knowing about ds.c's handle, it seems... but wait: while (list != NULL) { if (!(handle->Attributes & INFO_MTD_CLIENT) || (strcmp(handle->dev_info, list->dev_info) == 0)) { *match = list->info; return CS_SUCCESS; } list = list->info.next; } as ds.c's handle doesn't have INFO_MTD_CLIENT, the if always succeeds -- allowing is to simplify it for ds.c. However, this means we need special functions for ds.c. It's not too large, fortunately. [PATCH] USB: USB CDC OBEX driver Also, as the full patch isn't going in, can you please apply this tiny part of it? Somehow the header descriptor was omitted from the CDC ACM driver, but it's present on my phone (thus giving me the "ignoring extra header" error when it's plugged in) and in the CDC spec (section 5.2.3.1). Signed-off-by: Alex Kanavin Signed-Off-By: Oliver Neukum Signed-off-by: Greg Kroah-Hartman [PATCH] USB: usb/serial RM vendor/product id for ftdi_sio Hello, this is a small patch of the USB ftdi_sio driver against linux-2.6.8.1. I only added a new vendor and product id for the RM-CANview, a CAN fieldbus interface: http://www.rmcan.com/site/en/products/gateways/usb/index.htm Thanks Heinz Signed-off-by: Heinz-Juergen Oertel Signed-off-by: Greg Kroah-Hartman [ARM PATCH] 2131/1: Add _iomem to the IO string functions Patch from Ben Dooks This patch stops mtd from generating problems of casting pointers to ints, due to the memcpy_fromio and related functions all taking `unsigned long` for their IO addresses. Replace `unsigned long` with `void __iomem *` Compiled clean on arch-s3c2410 Signed-off-by: Ben Dooks [PATCH] arbitrary size ATAPI PIO support bugfixes * sg was incorrectly used instead of qc->sg in __atapi_pio_bytes() * due to obvious typo qc->curbytes wasn't zeroed in ata_qc_new_init() Signed-off-by: Bartlomiej Zolnierkiewicz [PATCH] make ATAPI PIO work If "BSY=0, DRQ=0" condition happens on ATAPI just complete the command as this condition happens for: * the end of the PIO transfer (ie. REQUEST_SENSE seems to return only 18 of 96 requested bytes) * unsupported ATAPI commands (ie. REPORT_LUNS) Signed-off-by: Bartlomiej Zolnierkiewicz [PATCH] USB: remove calls to usb_unlink_urb in net/usbnet.c Signed-off-by: Borislav Petkov Signed-off-by: Greg Kroah-Hartman [PATCH] USB: remove calls to usb_unlink_urb() in net/pegasus.c Signed-off-by: Borislav Petkov Signed-off-by: Greg Kroah-Hartman [PATCH] USB: remove calls to usb_unlink_urb() in net/kaweth.c Hi there Greg, here's another one. Signed-off-by: Borislav Petkov Signed-off-by: Greg Kroah-Hartman [ARM PATCH] 2144/1: S3C2410 - s3c2440 fixes and clock updates Patch from Ben Dooks Fixes the following problems and ommisions: - added variable for base crystal rate - moved clock variables into clock.c - fixed bug in identifying s3c2440 cpus - added initial support for new uart registration - removed base blocks from include/asm/arch/hardware.h Signed-off-by: Ben Dooks [ARM PATCH] 2145/1: S3C2410 - GPIO ID register update Patch from Ben Dooks Update the include/asm-arm/arch-s3c2410/regs-gpio.h with GSTATUS1 register information Signed-off-by: Ben Dooks Add fake '__builtin_warning()' for the gcc case. Allows us to do compile-time sparse warnings of our own. [NETFILTER]: Clean up ip_conntrack stats Signed-off-by: Pablo Neira Signed-off-by: Patrick McHardy USB: add bulk_in_size for usb-serial devices. Don't know why I didn't do it before... Signed-off-by: Greg Kroah-Hartman [NETFILTER]: Change MASQUERADE to Use Device Address Directly Instead of doing a dubious route lookup, just use the first IP address of the (dynamic) interface. Also, reset assured bit so after masq connections can be cleaned up if memory pressure. Signed-off-by: Rusty Russell Signed-off-by: Patrick McHardy [NETFILTER]: prearation of removing skb_linearize() This patch uses skb_header_pointer() so that packets can be parsed even though skb_linearize() doesn't exist. But this patch doesn't remove skb_linearize() yet. We can remove it after changing all match/target modules. Moreover ... - I deleted the optimization not to parse IPv6 extension header many time from previous patch. I'll send the patch to do this separately. - fixed the bug that "offset" argument of match functions are always 0. - deleted "hdr" and "datalen" argument and added "protoff" argument to match functions. "protoff" means the offset to Layer 4 protocol header. - the argument order of target function is changed likely IPv4 modules. This prevents user from meeting kernel panic when they use old match modules. - changed {tcp,udp,icmp6}_match(). These functions became very similar to codes in ip_tables.c again. Signed-off-by: Yasuyuki KOZAKAI Signed-off-by: Patrick McHardy [NETFILTER]: Enable ip6t_LOG.c to work without skb_linearize() This patch enables ip6t_LOG.c to work without skb_linearize(). I changed a large part of this file. At first, ip6_nexthdr() is deleted to prevent multiple call of skb_header_pointer() at dump_packet() and ip6_nexthdr(). And the following bugs are fixed. The first bug is fixed by introducing skb_header_pointer(), then I didn't separate patches. - No check with skb->len. Then invalid memory access may occur. - If packet is fragmented and it's not first fragment, nonexistent extension headers is tried to parse. - All headers which aren't TCP/UDP/ICMPv6 are treated as IPv6 extension header. - The encrypted data after ESP is tried to parse. - ntohl() for ID in Fragment header is missing. - If doff*4 of TCP header is less than sizeof(struct tcphdr), TCP options are tried to parse. Signed-off-by: Yasuyuki KOZAKAI Signed-off-by: Patrick McHardy [NETFILTER]: Enable ip6t_ah.c to work without skb_linearize() Signed-off-by: Yasuyuki KOZAKAI Signed-off-by: Patrick McHardy [NETFILTER]: Introduce tabs to ip6t_ah.c Fix horrible indentation, not a single tab in the file. Signed-off-by: Patrick McHardy [NETFILTER]: Enable ip6t_esp.c to work without skb_linearize() Signed-off-by: Yasuyuki KOZAKAI Signed-off-by: Patrick McHardy [NETFILTER]: ip6t_esp.c whitespace cleanup Signed-off-by: Patrick McHardy Older gcc's ICE on missing (unused) varags macro name. [PATCH] ppc32/64: FPU/vector register restore after signal This fixes some issues with restoring the altivec and/or FPU registers upon return from a signal or when setting a context. It also add a proper stack backlink to the signal frames created for 64 bits applications. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Linus Torvalds [PATCH] ppc64: Fix iSeries build (ouch !) The move of iomap out of eeh inadvertently broke iSeries ... Fixed like this. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Linus Torvalds Add copyright notice on ppc64 iomap files. Paul cares. I think there's something in the water at IBM that makes people sticklers ;) Wrap inside '#ifndef __ASSEMBLY__' None of the compatibility defines make sense for assembly files, and gcc has trouble with vararg macros when using "-traditional" (which is used for asm), to the point of ICE'ing. [PATCH] add sys_setaltroot() Add a new system call setaltroot(2). Currently, using the altroot feature is accessible only via the set_personality() system call. It is accessible to user space only if there is more than one exec domain in the system. This patch allows using the altroot feature on systems where there is only one exec domain. It is possible to work around the issue by adding a dummy exec domain, but it was rejected for not being very elegant. If this feature is implemented in userspace, it adds a 16% overhead on a test case which greps for a single word in the kernel source tree. Signed-off-by: Zou Nanhai Signed-off-by: Gordon Jin Signed-off-by: Arun Sharma Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] parport_pc superio chip fixes This patch fixes some troubles that somebody reported me with the superio chips. In short rmmod parport_pc && cat /proc/iomem was good enough for crashing the box hard on some machine (and hwscan --printer was doing just that). The way the oops triggers is that iomem tries to vsprintf the p->name, but the p->name was a static string in the module address (now unloaded). The reason is that the superio chip scanning leaves up to two persistent ranges claimed. But the second (legacy) pass has no way to notice the resources are already reclaimed. Plus if the superio->io was different than the "io" variable (the range to scan for superio chips) the "io" range would generate a leak of the original "io" range too. I simply make sure to always release the requested space during the superio scan, and I make sure not to istantiate new ranges in the p->base that would cause the later parport scan to fail too (plus leaving up to leaked resources). The previous code that was returning values and was leaving garbage in there made no sense to me. My best guess (assuming I didn't misread it ;) is that probably somebody added the request_region without realizing they're pointing to the very same address that would be requested later (and nobody does accesses on those ranges until later, so it was very safe to claim it later). Disclaimer: I don't have the specs of the winbond and smsc at hand, I just guessed what they do from the code (nothing checks superio->io except get_superio_dma get_superio_irq, which made the thing enough self explainatory to fix it without specs) Signed-off-by: Andrea Arcangeli Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] swsusp: progress in percent swsusp currently has very poor progress indication. Thanks to Erik Rigtorp , we have percentages there, so people know how long wait to expect. Please apply, From: Erik Rigtorp Signed-off-by: Pavel Machek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] acpi proc: error handling Propagate the software_suspend() return value. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] i386 entry.S cleanups Remove the unused lcall7/lcall27 code. Signed-off-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] make rlimit settings per-process instead of per-thread POSIX specifies that the limit settings provided by getrlimit/setrlimit are shared by the whole process, not specific to individual threads. This patch changes the behavior of those calls to comply with POSIX. I've moved the struct rlimit array from task_struct to signal_struct, as it has the correct sharing properties. (This reduces kernel memory usage per thread in multithreaded processes by around 100/200 bytes for 32/64 machines respectively.) I took a fairly minimal approach to the locking issues with the newly shared struct rlimit array. It turns out that all the code that is checking limits really just needs to look at one word at a time (one rlim_cur field, usually). It's only the few places like getrlimit itself (and fork), that require atomicity in accessing a whole struct rlimit, so I just used a spin lock for them and no locking for most of the checks. If it turns out that readers of struct rlimit need more atomicity where they are now cheap, or less overhead where they are now atomic (e.g. fork), then seqcount is certainly the right thing to use for them instead of readers using the spin lock. Though it's in signal_struct, I didn't use siglock since the access to rlimits never needs to disable irqs and doesn't overlap with other siglock uses. Instead of adding something new, I overloaded task_lock(task->group_leader) for this; it is used for other things that are not likely to happen simultaneously with limit tweaking. To me that seems preferable to adding a word, but it would be trivial (and arguably cleaner) to add a separate lock for these users (or e.g. just use seqlock, which adds two words but is optimal for readers). Most of the changes here are just the trivial s/->rlim/->signal->rlim/. I stumbled across what must be a long-standing bug, in reparent_to_init. It does: memcpy(current->rlim, init_task.rlim, sizeof(*(current->rlim))); when surely it was intended to be: memcpy(current->rlim, init_task.rlim, sizeof(current->rlim)); As rlim is an array, the * in the sizeof expression gets the size of the first element, so this just changes the first limit (RLIMIT_CPU). This is for kernel threads, where it's clear that resetting all the rlimits is what you want. With that fixed, the setting of RLIMIT_FSIZE in nfsd is superfluous since it will now already have been reset to RLIM_INFINITY. The other subtlety is removing: tsk->rlim[RLIMIT_CPU].rlim_cur = RLIM_INFINITY; in exit_notify, which was to avoid a race signalling during self-reaping exit. As the limit is now shared, a dying thread should not change it for others. Instead, I avoid that race by checking current->state before the RLIMIT_CPU check. (Adding one new conditional in that path is now required one way or another, since if not for this check there would also be a new race with self-reaping exit later on clearing current->signal that would have to be checked for.) The one loose end left by this patch is with process accounting. do_acct_process temporarily resets the RLIMIT_FSIZE limit while writing the accounting record. I left this as it was, but it is now changing a limit that might be shared by other threads still running. I left this in a dubious state because it seems to me that processing accounting may already be more generally a dubious state when it comes to NPTL threads. I would think you would want one record per process, with aggregate data about all threads that ever lived in it, not a separate record for each thread. I don't use process accounting myself, but if anyone is interested in testing it out I could provide a patch to change it this way. One final note, this is not 100% to POSIX compliance in regards to rlimits. POSIX specifies that RLIMIT_CPU refers to a whole process in aggregate, not to each individual thread. I will provide patches later on to achieve that change, assuming this patch goes in first. Signed-off-by: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] add WCONTINUED support to wait4 syscall POSIX specifies the new WCONTINUED flag for waitpid, not just for waitid. I overlooked this addition when I implemented waitid. The real work was already done to support waitid, but waitpid needs to report the results Signed-off-by: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] fix PTRACE_ATTACH race with real parent's wait calls There is a race between PTRACE_ATTACH and the real parent calling wait. For a moment, the task is put in PT_PTRACED but with its parent still pointing to its real_parent. In this circumstance, if the real parent calls wait without the WUNTRACED flag, he can see a stopped child status, which wait should never return without WUNTRACED when the caller is not using ptrace. Here it is not the caller that is using ptrace, but some third party. This patch avoids this race condition by adding the PT_ATTACHED flag to distinguish a real parent from a ptrace_attach parent when PT_PTRACED is set, and then having wait use this flag to confirm that things are in order and not consider the child ptraced when its ->ptrace flags are set but its parent links have not yet been switched. (ptrace_check_attach also uses it similarly to rule out a possible race with a bogus ptrace call by the real parent during ptrace_attach.) While looking into this, I noticed that every arch's sys_execve has: current->ptrace &= ~PT_DTRACE; with no locking at all. So, if an exec happens in a race with PTRACE_ATTACH, you could wind up with ->ptrace not having PT_PTRACED set because this store clobbered it. That will cause later BUG hits because the parent links indicate ptracedness but the flag is not set. The patch corrects all the places I found to use task_lock around diddling ->ptrace when it's possible to be racing with ptrace_attach. (The ptrace operation code itself doesn't have this issue because it already excludes anyone else being in ptrace_attach.) Signed-off-by: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] softirqs: fix latency of softirq processing The attached patch fixes a local_bh_enable() buglet: we first enabled softirqs then did we do local_softirq_pending() - often this is preemptible code. So this task could be preempted and there's no guarantee that softirq processing will occur (except the periodic timer tick). The race window is small but existent. This could result in packet processing latencies or timer expiration latencies - hard to detect and annoying bugs. The fix is to invoke softirqs with softirqs enabled but preemption still disabled. Patch is against 2.6.9-rc2-mm1. Signed-off-by: Ingo Molnar Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] add missing linux/syscalls.h includes I found that the prototypes for sys_waitid and sys_fcntl in don't match the implementation. In order to keep all prototypes in sync in the future, now include the header from each file implementing any syscall. Signed-off-by: Arnd Bergmann Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] distinct tgid/tid CPU usage This patch adjusts /proc/*/stat to have distinct per-process and per-thread CPU usage, faults, and wchan. Signed-off-by: Albert Cahalan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] show aggregate per-process counters in /proc/PID/stat 2 Add up resource usage counters for live and dead threads to show aggregate per-process usage in /proc//stat. This mirrors the new getrusage() semantics. /proc//task//stat still has the per-thread usage. After moving the counter aggregation loop inside a task->sighand lock to avoid nasty race conditions, it has survived stress-testing with '(while true; do sleep 1 & done) & top -d 0.1' Signed-off-by: Lev Makhlis Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] exec: fix posix-timers leak and pending signal loss I've found some problems with exec and fixed them with this patch to de_thread. The second problem is that a multithreaded exec loses all pending signals. This is violation of POSIX rules. But a moment's thought will show it's also just not desireable: if you send a process a SIGTERM while it's in the middle of calling exec, you expect either the original program in that process or the new program being exec'd to handle that signal or be killed by it. As it stands now, you can try to kill a process and have that signal just evaporate if it's multithreaded and calls exec just then. I really don't know what the rationale was behind the de_thread code that allocates a new signal_struct. It doesn't make any sense now. The other code there ensures that the old signal_struct is no longer shared. Except for posix-timers, all the state there is stuff you want to keep. So my changes just keep the old structs when they are no longer shared, and all the right state is retained (after clearing out posix-timers). The final bug is that the cumulative statistics of dead threads and dead child processes are lost in the abandoned signal_struct. This is also fixed by holding on to it instead of replacing it. Signed-off-by: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] __set_page_dirty_nobuffers mappings Marcelo noticed that the BUG_ON in __set_page_dirty_nobuffers doesn't make much sense: it lost its way in 2.6.7, amidst so many page_mappings! It's supposed to be checking that, although page->mapping may suddenly go NULL from truncation, and although tmpfs swizzles page_mapping(page) between tmpfs inode address_space and swapper_space, there's sufficient stabilization while here in __set_page_dirty_nobuffers that the mapping after we locked mapping->tree_lock is the same as the mapping before we locked mapping->tree_lock i.e. the lock we hold is the right one. Signed-off-by: Hugh Dickins Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] reiserfs: small filesystem fix On small filesystems (<128M), make sure not to reference bitmap blocks that don't exist. Thanks to Jan Kara for finding this bug. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] fix the prof=schedule feature Fix mismerge of the "prof=schedule" feature. Without this patch the output is a boring empty profile. Signed-off-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] fork() bug invalidates file descriptors Take a process P1 that spawns a thread T (aka. a clone with CLONE_FILES). If P1 forks another process P2 (aka. not a clone) while T is blocked in a open() that should return file descriptor FD, then FD will be unusable in P2. This leads to strange behaviors in the context of P2: close(FD) returns EBADF, while dup2(a_valid_fd, FD) returns EBUSY and of course FD is never returned again by any syscall... testcase: #include #include #include #include #include #include #include #include #include #define FIFO "/tmp/bug_fifo" #define FD 0 /* * This program is meant to show that calling fork() while a clone spawned * with CLONE_FILES is blocked in open() makes a fd number unusable in the * child. * * * Parent Clone Child * | * clone(CLONE_FILES)- [PATCH] generic irq subsystem: core The main goal of this patch is to consolidate all the different but still fundamentally similar arch/*/kernel/irq.c code into the kernel/irq/ subsystem. There are 4 new files in the kernel/irq/ directory: - handle.c: core bits: __do_IRQ() and handle_IRQ_event(), callable from arch-specific irq.c code. - manage.c: the main driver apis - spurious.c: the handling of buggy interrupt sources. - autoprobe.c: probing of interrupts - older code but still in use. - proc.c: /proc/irq/ code. - internals.h for irq-core-internal interfaces not visible to drivers nor arch PIC code. An architecture enables the generic hardirq code by defining CONFIG_GENERIC_HARDIRQS in its arch Kconfig. People doing this conversion should check out the x86/x64/ppc/ppc64 patches for details - the conversion is quite straightforward but every converted function (i.e. every function removed from the arch irq.c) _must_ be matched to the generic version and if there is any detail that the generic code should do it has to be added to the generic code. All of the currently converted 4 architectures were converted like that, and the generic code was extended/fixed along the way. Other changes related to this patchset: - clean up the irq include files (linux/irq.h, linux/interrupt.h, linux/hardirq.h) and consolidate asm-*/[hard]irq.h. Note, to keep all non-touched architectures in an untouched state this consolidation is done carefully and strictly under CONFIG_GENERIC_HARDIRQS. Once the consolidation is done we can do a couple of final cleanups to reach the following logical splitup of 3 include files: linux/interrupt.h: driver-visible APIs and details linux/irq.h: core irq and arch-PIC code, internals asm-*/irq.h: arch PIC and irq delivery details the following include files will likely vanish: linux/hardirq.h merges into linux/irq.h asm-*/hardirq.h: merges into asm-*/irq.h asm-*/hw_irq.h: merges into asm-*/irq.h Christoph would like to do these once the current wave of cleanups gets in. Signed-off-by: Ingo Molnar Signed-off-by: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] generic irq subsystem: x86 port x86 port of generic hardirq handling. akpm: (in response to build errors) - remove APIC_MISMATCH_DEBUG altogether. Just make it synonymous with CONFIG_X86_IO_APIC - Move the definition of irq_mis_count over to io_apic.c Signed-off-by: Ingo Molnar Signed-off-by: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] generic irq subsystem: x86_64 port x86_64 port of generic hardirq handling. Signed-off-by: Ingo Molnar Signed-off-by: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] generic irq subsystem: ppc port ppc32 port of generic hardirq handling. Signed-off-by: Ingo Molnar Signed-off-by: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] generic irq subsystem: ppc64 port ppc64 port of generic hardirq handling. Signed-off-by: Ingo Molnar Signed-off-by: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] doc: remove references to hardirq.c The patch below removes stale references to kernel/hardirq.c in comments, remnants of the earlier iterations of the generic irq subsystem code. Signed-off-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] invalidate page race fix invalidate_inode_pages() and invalidate_inode_pages2() can mark pages not uptodate while read() is trying to read from them. This is interpreted as an I/O error. Fix that by teaching the invalidate code to leave the page alone if someone else has a ref on it. Signed-off-by: Jens Axboe Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ppc32: Xilinx ML300 board support (very basic) Adds minimal Xilinx ML300 board support (enough to boot with ramdisk). The only peripheral devices supported are 16x50 compatible UARTs. Signed-off-by: Andrei Konovalov Acked-by: Benjamin Herrenschmidt Acked-by: Matt Porter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ppc32: use gen550 for PPC44x progress/ppc-stub Use gen550 for early PPC progress messages and for the in-kernel ppc-stub.c on PPC44x. Signed-off-by: Matt Porter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ppc32: add gen550.h Add a missing include file for gen550. Signed-off-by: Matt Porter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ppc32: configure PPC440GX L2 cache based on CPU rev This patch enables/disables the PPC440GX L2 cache based on errata which prevents reliable operation on certain CPU revisions and speed grades. Signed-off-by: Eugene Surovegin Signed-off-by: Matt Porter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ppc32: fix cpu voltage change delay This patch fixes a problem where my new powerbook would sometimes hang or crash when changing CPU speed. We had schedule_timeout(HZ/1000) in there, intended to provide a delay of one millisecond. However, even with HZ=1000, it was (I believe) only waiting for the next jiffy before proceeding, which could be less than a millisecond. Changing the code to use msleep, and specifying a time of 1 jiffy + 1ms has fixed the problem. (When I looked at the msleep code, it appeared to me that msleep(1) with HZ=1000 would sleep for between 0 and 1ms.) Ben also asked me to remove the code that changes the AACK delay enable, after looking in the Darwin sources and seeing that Darwin does not change this in its corresponding code. Signed-off-by: Paul Mackerras Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] sh: SH73180 subtype support This adds support for the SH73180 subtype (sh4a). Signed-off-by: Hiroshi DOYU Signed-off-by: Paul Mundt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] sh: SH7705 subtype cleanup + 32k cache support This fixes up the existing SH7705 support and enables the 32k cache mode for the processor. Signed-off-by: Alex Song Signed-off-by: Paul Mundt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] sh: Use asm-offsets This basically follows the same change as for sh64 and adds asm-offsets to sh. Some hardcoded thread_info struct offsets get cleaned up by this. Signed-off-by: Paul Mundt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] sh: consistent API cleanup This gets rid of the hardcoded workarounds for the Dreamcast in the dma-mapping code, and now wraps into the common consistent_alloc() and consistent_free() routines if the ones in the machvec aren't interested in handling it. Signed-off-by: Paul Mundt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] sh: defconfig updates Nothing exciting here.. random defconfig updates, as well as a few new ones for microdev and ctp/pci-sh03. Signed-off-by: Paul Mundt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] sh: DMA API updates This updates some of the sh DMA drivers and core API. Previously modules had to register for the channels they were interested in, but now it's dealt with transparently by the API with only the number of physical channels needing to be specified by each module. Signed-off-by: Paul Mundt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] sh: SCBRR calculation fixes for early printk() The early printk() code was using a fixed PCLK value that was only sane in the SH7750 case. This updates the SCBRR value calculation to use CONFIG_SH_PCLK_FREQ instead and thus works on other subtypes as well (tested on SH4-202). Signed-off-by: Paul Mundt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] sh: EDOSK7705 board support This adds support for the edosk7705 board from Renesas. Signed-off-by: Paul Mundt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] sh: SH-4 optimized memcpy() This adds support for an SH-4 optimized memcpy(). Written by Stuart Menefy . Signed-off-by: Paul Mundt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] sh: SH4-202 MicroDev board support This adds support for the SH4-202 MicroDev from SuperH, Inc. Signed-off-by: Paul Mundt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] sh: cleanup + merge This adds other random bits of sh cleanup. This includes Kconfig updates, some exported symbols to satisfy module builds, cleanup of some whitespace damage, some compile fixes, and some general header and mach-type cleanup. Signed-off-by: Tom Rini Signed-off-by: Paul Mundt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] sh: PCI updates This updates some of the PCI drivers. SH7751, the sh03 board-specific PCI code, and some ST40 PCI updates are grouped in this. Signed-off-by: Paul Mundt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] sh: oprofile support for SH7750/SH7750S The SH7750 and SH7750S have hardware performance counters, this adds an oprofile driver for those. Signed-off-by: Paul Mundt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] sh: Broken-out CPU subtype probing Previously we could do subtype parsing and cache configuration in the same location.. but with the introduction of things like the SH7705 where we use SH-3 style probing with SH-4 style caches, this is no longer the case. As such, we move the probe code to a saner place. Signed-off-by: Paul Mundt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] sh: SE73180 board support This adds support for the SH73180 Solution Engine. Signed-off-by: Hiroshi DOYU Signed-off-by: Paul Mundt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] sh: CTP/PCI-SH03 board support This adds support for the CTP/PCI-SH03 board from Interface. Signed-off-by: Saito.K Signed-off-by: Paul Mundt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] sh: sh-sci updates sh-sci updates all around the board. Support for the newly added subtypes, some compilation cleanups, etc. Signed-off-by: Paul Mundt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] sh: ST40 updates This includes some ST40 updates from the ST tree. The most notable change is the ST40GX1 fixes for INTC2-based interrupts. Signed-off-by: Alex Bennee Signed-off-by: Paul Mundt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] sh: fix EMBEDDED_RAMDISK with O= The following fixes EMBEDDED_RAMDISK to work with O=. The problem was that we couldn't find the linker script, since we needed to specify the patch to the source tree for it. I've tested this with the ramdisk set to both 'ramdisk.gz' and '../ramdisk.gz'. Signed-off-by: Tom Rini Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] share i386/x86_64 intel cache descriptors table Some cache descriptors are missing from x86_64 table. So instead of copying from i386 code, here is a patch to share the table between i386 and x86_64. Signed-off-by: Suresh Siddha Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] Fix show_trace() in irq context with CONFIG_4KSTACKS - valid_stack_ptr() erroneously assumes that stack always lives in task_struct->thread_info. - the main loop in show_trace() does not recalc ebp after stack switching. With CONFIG_FRAME_POINTER every call to print_context_stack() will produce the same output. With this patch, show_trace() does not use task argument in the main loop. Instead, it converts stack to thread_info* context, and passes it to print_context_stack() and (implicitly) to valid_stack_ptr(). valid_stack_ptr() now does bounds checking against proper context. Signed-off-by: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] Disable SW irqbalance/irqaffinity for E7520/E7320/E7525 v2 As part of the workaround for the "Interrupt message re-ordering across hub interface" errata (page #16 in http://developer.intel.com/design/chipsets/specupdt/30288402.pdf), BIOS may enable hardware IRQ balancing for E7520/E7320/E7525(revision ID 0x9 and below) based platforms. Add pci quirks to disable SW irqbalance/affinity on those platforms. Move balanced_irq_init() to late_initcall so that kirqd will be started after pci quirks. Signed-off-by: Suresh Siddha Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] fix nosmp & pcibios_fixup_irqs() interaction Fix interaction between nosmp and pcibios_fixup_irqs(). When we boot with nosmp we dont have all the mptable info, so IO_APIC_get_PCI_irq_vector() doesnt work and devices just end up getting a wrong interrupt. From: Oleg Nesterov Acked-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] i386/io_apic init section fixups Code section errors in i386/io_apic.c found by scripts/reference_init.pl. Looks like they could cause problems for a few drivers or in a real hotplug environment. Error: ./arch/i386/kernel/io_apic.o .text refers to 000018ff R_386_PC32 .init.text call chain: snd_mpu401_acpi_resource acpi_register_gsi mp_register_gsi io_apic_set_pci_routing {A} ioapic_register_intr IO_APIC_irq_trigger find_irq_entry Error: ./arch/i386/kernel/io_apic.o .text refers to 00001967 R_386_PC32 .init.text (as above thru {A}, then:) IO_APIC_irq_trigger irq_trigger MPBIOS_trigger >> removing __init from this led to needing to remove __init from EISA_ELCR also. Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] swsusp: fix process start times after resume Currently, process start times change after swsusp (because they are derived from jiffies and current time, oops). This should fix it. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] swsusp: add comments at critical places apm.c needs save_processor_state and friends. Add a comment to keep people from removing it. Describe a way to make swsusp work on non-PSE machines. Document purpose of acpi_restore_state. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] swsusp: Documentation update Documentation update. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] additional documentation for power management This is additional documentation for power management. Pavel Machek has given his acknowledgement. Signed-Off-By: Oliver Neukum Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] S3 suspend/resume with noexec v2 This patch is required for S3 suspend-resume on noexec capable systems. On these systems, we need to save and restore MSR_EFER during S3 suspend-resume. Signed-off-by: "Venkatesh Pallipadi" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] Mac swsusp driver fixes Allow swsusp work with macintosh's own thermal sensor drivers enabled. Contributions from Nathan Hand Signed-Of-By: Guido Guenther Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] m32r: ds1302 driver This is a DS1302 real-time clock driver. It is moved from arch/m32r/drivers/, has been originally taken from arch/cris/arch-v10/drivers/ds1302.c. Currently, this driver supports only m32r target boards. Maybe some work will be required to support other target. Signed-off-by: Hayato Fujiwara Signed-off-by: Hirokazu Takata Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] m32r: new CF/PCMCIA driver for m32r This patch is for the new M32R CF/PCMCIA drivers. It is moved from arch/m32r/drivers/ and some part are updated for 2.6 kernel. Signed-off-by: Hayato Fujiwara Signed-off-by: Hirokazu Takata Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] m32r: update include/asm-m32r/m32102.h Here is a patch to update include/asm-m32r/m32102.h. * include/asm-m32r/m32102.h: - Add macro definitions for DMA controller. - Cosmetics; rearrange indentations. Signed-off-by: Hirokazu Takata Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] m32r: AR camera driver Here is a patch for the Renesas AR camera driver for m32r. - AR (artificial retina) camera is newly supported. AR camera module: Renesas M64278E-800, VGA(640x480 pixcels) http://www.renesas.com/avs/resource/japan/jpn/pdf/assp/rjj01f0005_psmobile.pdf Signed-off-by: Hayato Fujiwara Signed-off-by: Hirokazu Takata Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] m32r: SIO driver Here is a patch to support the M32R SIO (serial IO) driver. This driver supports the M32R serial ports. - Supports two types M32R serial interfaces; M32R_SIO and M32R_PLDSIO. - With SMP safeness. Currently the M32R_PLDSIO serial interface, which is implemented on a PLD on the M3T-M32700UT evaluation board, has slightly different specification from the integrated peripheral SIO (M32R_SIO). Now we can select them by CONFIG_ option. It is a serial-core based driver, based on drivers/serial/8250.c. Any comments or suggestions will be appreciated. Signed-off-by: Hirokazu Takata Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] m32r: fix sys_tas system call for m32r This patch fixes a sys_tas system call for m32r. - This patch fixes an Oops at sys_tas() in case CONFIG_SMP && CONFIG_PREEMPT. > Unable to handle kernel paging request at virtual address XXXXXXXX It is because a page fault happens at the spin_locked region in sys_tas() and in_atomic() checks preempt_count, but spin_lock() already counts up the preemt_count. arch/m32r/kernel/sys_m32r.c: 32 /* 33 * sys_tas() - test-and-set 34 * linuxthreads testing version 35 */ 36 #ifndef CONFIG_SMP 37 asmlinkage int sys_tas(int *addr) 38 { 39 int oldval; 40 unsigned long flags; 41 42 if (!access_ok(VERIFY_WRITE, addr, sizeof (int))) 43 return -EFAULT; 44 local_irq_save(flags); 45 oldval = *addr; 46 *addr = 1; 47 local_irq_restore(flags); 48 return oldval; 49 } 50 #else /* CONFIG_SMP */ 51 #include 52 53 static spinlock_t tas_lock = SPIN_LOCK_UNLOCKED; 54 55 asmlinkage int sys_tas(int *addr) 56 { 57 int oldval; 58 59 if (!access_ok(VERIFY_WRITE, addr, sizeof (int))) 60 return -EFAULT; 61 62 spin_lock(&tas_lock); 63 oldval = *addr; /* <<< ATTENTION >>> * A page fault may happen here, because "addr" points an * user-space area. */ 64 *addr = 1; 65 spin_unlock(&tas_lock); 66 67 return oldval; 68 } 69 #endif /* CONFIG_SMP */ arch/mm/fault.c: 137 /* 138 * If we're in an interrupt or have no user context or are runni ng in an 139 * atomic region then we must not take the fault.. 140 */ 141 if (in_atomic() || !mm) 142 goto bad_area_nosemaphore; - sys_tas() is used for user-level mutual exclusion for the m32r, which is prepared to implement a linuxthreads library. The above problem may be happened in a program, which uses pthread_mutex_lock(), calls sys_tas(). The current m32r instruction set has no user-level locking functions for mutual exclusion. # I hope it will be fixed in the future... - This patch fixes the problem by using _raw_spin_lock() instead of spin_lock(). spin_lock() increments up preemt_count, on the contrary, _raw_sping_lock() does not. # I think this fix is just a temporary work around, and # it is preferable to be rewrite to make it simpler by using # asm() function or something... * arch/m32r/kernel/sys_m32r.c: - Fix sys_tas() for CONFIG_SMP && CONFIG_PREEMPT. Signed-off-by: Hayato Fujiwara Signed-off-by: Hirokazu Takata Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] m32r: update arch/m32r/mm/fault.c to fix a compile error Here is a patch to update arch/m32r/mm/fault.c in order to fix a compile error of -mm kernel for m32r. * arch/m32r/mm/fault.c: - Add the third parameter of expand_stack(). This modification is derived from enforce-a-gap-between-heap-and-stack.patch; "heap-stack-gap for 2.6" (Sep. 25, 2004) http://www.uwsg.iu.edu/hypermail/linux/kernel/0409.3/0435.html Signed-off-by: Hirokazu Takata Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] m32r: fix a compile error of M32R SIO driver Here is a patch to fix a compile error of m32r-sio.c. * include/asm-m32r/termbits.h: - Add CTVB definition. This modification is derived from new-serial-flow-control.patch; "[Patch] new serial flow control" (Oct. 4, 2004) http://www.uwsg.iu.edu/hypermail/linux/kernel/0410.0/0853.html Signed-off-by: Hirokazu Takata Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] uml: readd linux Makefile target Since people are used to doing "make linux ARCH=um" and to use "linux" as the kernel image, make it be an hard link to vmlinux. This should hurt the less possible the users (actually nothing) while not slowing down the build. Acked-by: Jeff Dike Signed-off-by: Paolo 'Blaisorblade' Giarrusso Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] s390: zfcp host adapter zfcp host adapter change: - Return -EIO if wait_event_interruptible_timeout was interrupted. - Reduce stack uage of zfcp_cfdc_dev_ioctl. - Make zfcp_sg_list_[alloc,free] more consistent. - Store driver version to zfcp_data structure. - Add missing FSF states and make corresponding log messages consistent. - Always wait for completion in zfcp_scsi_command_sync. - Add Andreas to authors list. - Add timeout for cfdc upload/download. - Add support for temporary units (units not registered to the scsi stack). - Allow sending of ELS commands to ports by their d_id. - Increase port refcount while link test is running. Signed-off-by: Martin Schwidefsky Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] s390: qeth layer 2 support From: Frank Pavlic From: Thomas Spatzier qeth network driver changes: - Add Layer 2 support for OSA-Express. Signed-off-by: Martin Schwidefsky Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] s390: z/VM watchdog timer Add support for z/VM watchdog timer. Signed-off-by: Martin Schwidefsky Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] s390: z/VM log reader Add an interface to read from the z/VM recording system services. Signed-off-by: Martin Schwidefsky Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] s390: crypto device driver crypto driver changes: - Add support for zero-pad and crypto express II (CEX2C). Signed-off-by: Martin Schwidefsky Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] s390: add support to read z/VM monitor records Add support to read z/VM monitor records. Signed-off-by: Martin Schwidefsky Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ReiserFS: Cleanup internal use of bh macros This patch cleans up ReiserFS's use of buffer head flags. All direct access of BH_* are made into macro calls, and all reiserfs-specific BH_* macro implementations have been removed and replaced with the BUFFER_FNS implementations found in linux/buffer_head.h Signed-off-by: Jeff Mahoney Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ReiserFS: Cleanup access of journal (cosmetic) This patch cleans up fs/reiserfs/journal.c such that repeated uses of SB_JOURNAL(p_s_sb) are removed in favor of a local journal variable. The compiler won't care, and it makes the code much easier to read. Signed-off-by: Jeff Mahoney Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ReiserFS: Add I/O error handling to journal operations This patch allows ReiserFS to handle I/O errors in the journal (or journal flush) where it would have previously panicked. The new behavior is to mark the filesystem read-only, disallow new transactions to be started, and to allow existing transactions to complete (though not to commit). The resultant filesystem can be safely umounted, and checked via normal mechanisms. As it is a journaling filesystem, the filesystem itself will be in a similar state to the power being cut to the machine, once umounted. Signed-off-by: Jeff Mahoney Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ReiserFS: Fix several missing reiserfs_write_unlock calls This patch fixes several missing reiserfs_write_unlock() calls on error paths not introduced by reiserfs-io-error-handling.diff Signed-off-by: Jeff Mahoney Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] xtime value may become incorrect The xtime value may become incorrect when the update_wall_time(ticks) function is called with "ticks" > 1. In such a case, the xtime variable is updated multiple times inside the loop but it is normalized only once outside of the loop. This bug was reported at: http://bugme.osdl.org/show_bug.cgi?id=3403 Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] sched: trivial sched changes The following patches properly intergrate sched domains and cpu hotplug (using Nathan's code), by having sched-domains *always* only represent online CPUs, and having hotplug notifier to keep them up to date. Then tackle Jesse's domain setup problem: the disjoint top-level domains were completely broken. The group-list builder thingy simply can't handle distinct sets of groups containing the same CPUs. The code is ugly and specific enough that I'm re-introducing the arch overridable domains. I doubt we'll get a proliferation of implementations, because the current generic code can do the job for everyone but SGI. I'd rather take a look at it again down the track if we need to rather than try to shoehorn this into the generic code. Nathan and I have tested the hotplug work. He's happy with it. I've tested the disjoint domain stuff (copied it to i386 for the test), and it does the right thing on the NUMAQ. I've asked Jesse to test it as well, but it should be fine - maybe just help me out and run a test compile on ia64 ;) This really gets sched domains into much better shape. Without further ado, the patches. This patch: Make a definition static and slightly sanitize ifdefs. Signed-off-by: Nick Piggin Signed-off-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] sched: add CPU_DOWN_PREPARE notifier Add a CPU_DOWN_PREPARE hotplug CPU notifier. This is needed so we can dettach all sched-domains before a CPU goes down, thus we can build domains from online cpumasks, and not have to check for the possibility of a CPU coming up or going down. Signed-off-by: Nick Piggin Signed-off-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] sched: integrate cpu hotplug and sched domains Register a cpu hotplug notifier which reinitializes the scheduler domains hierarchy. The notifier temporarily attaches all running cpus to a "dummy" domain (like we currently do during boot) to avoid balancing. It then calls arch_init_sched_domains which rebuilds the "real" domains and reattaches the cpus to them. Also change __init attributes to __devinit where necessary. Signed-off-by: Nathan Lynch Alterations from Nick Piggin: * Detach all domains in CPU_UP|DOWN_PREPARE notifiers. Reinitialise and reattach in CPU_ONLINE|DEAD|UP_CANCELED. This ensures the domains as seen from the scheduler won't become out of synch with the cpu_online_map. * This allows us to remove runtime cpu_online verifications. Do that. * Dummy domains are __devinitdata. * Remove the hackery in arch_init_sched_domains to work around the fact that the domains used to work with cpu_possible maps, but node_to_cpumask returned a cpu_online map. Signed-off-by: Nick Piggin Signed-off-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] sched: arch_destroy_sched_domains warning fix kernel/sched.c:4114: warning: `arch_destroy_sched_domains' defined but not used Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] sched: sched add load balance flag Introduce SD_LOAD_BALANCE flag for domains where we don't want to do load balancing (so we don't have to set up meaningless spans and groups). Use this for the initial dummy domain, and just leave isolated CPUs on the dummy domain. Signed-off-by: Nick Piggin Signed-off-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] sched: remove disjoint NUMA domains setup Remove the disjoint NUMA domains setup code. It was broken. Signed-off-by: Nick Piggin Signed-off-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] sched: make domain setup overridable Allow sched domain setup to be overridden by arch code. This functionality is needed again. From: Paul Jackson Builds of 2.6.9-rc1-mm5 ia64 NUMA configs fail, with many complaints that SD_NODE_INIT is defined twice, in asm/processor.h and linux/sched.h. I guess that the preprocessor conditionals were wrong when Nick added the per-arch override ability again of SD_NODE_INIT were wrong. At least this change lets me rebuild ia64 again. Signed-off-by: Nick Piggin Signed-off-by: Ingo Molnar Signed-off-by: Paul Jackson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] sched: IA64 add disjoint NUMA domain support Implement disjoint NUMA domain setup for IA64 architecture. Most of the code was what was ripped out of kernel/sched.c, which was written by Jesse Barnes . I fixed up the tricky NUMA groups initialistion. Signed-off-by: Nick Piggin Signed-off-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] sched: fix domain debug for isolcpus Fix an oops in the domain debug code when isolated CPUs are specified. Introduced by 5/8 "sched add load balance flag" Signed-off-by: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] sched: enable SD_LOAD_BALANCE Actually turn on SD_LOAD_BALANCE for the regular domains. Introduced by 5/8 "sched add load balance flag". Signed-off-by: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] sched: hotplug add a CPU_DOWN_FAILED notifier Introduce CPU_DOWN_FAILED notifier, so we can cope with a failure after a CPU_DOWN_PREPARE notice. This fixes 3/8 "add CPU_DOWN_PREPARE notifier" to be useful Signed-off-by: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] sched: use CPU_DOWN_FAILED notifier Use CPU_DOWN_FAILED notifier in the sched-domains hotplug code. This goes with 4/8 "integrate cpu hotplug and sched domains" Signed-off-by: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] sched: fixes for ia64 domain setup Still having some trouble with ia64 domain setup on the Altixes. Jesse hasn't had much time to look into it, and I'm lacking an Altix, so I'm not sure if this is right or not... Anyway, it again does the right thing on the NUMAQ, and fixes some real bugs, so can you include it please? * Increase SD_NODES_PER_DOMAIN to 6 from 4 to better match Altix's topology. A setting of 4 will include this node, the other one in the brick, and the 2 nodes in the next closest brick, while 6 will catch 2 other bricks. Probably it could be increased even more. * Work correctly with sparse and not completely full node maps. * Nasty typo fixed in find_next_best_node: - val = node_distance(node, i); + val = node_distance(node, n); * Ensure all nodes are themselves a member of their numa balancing domain. This is more a precaution against creative implementations of node_distance.. but it makes the setup easier to verify without having to look at a table of node_distance's, which is possibly generated at runtime. So again, I'm not too sure if this will fix the Altix setup or not. But if you do a release, it will surely be less broken than it was before. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] sched: print preempt count Better debugging output when the CPU scheduler detects atomicity errors. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] CPU Scheduler: fix potential error in runqueue nr_uninterruptible count Problem: In the function try_to_wake_up(), when the runqueue's nr_uninterruptible field is decremented it's possible (on SMP systems) that the pointer no longer points to the runqueue that the task being woken was on when it went to sleep. This would cause the wrong runqueue's field to be decremented and the correct one tp remain unchanged. Fix: Save a pointer to the old runqueue at the beginning of the function and use it when decrementing nr_uninterruptible. Signed-off-by: Peter Williams Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] sched_domains: Make SD_NODE_INIT per-arch #2 Here's yet another version of a patch to implement per-arch SD_*_INITs. This follows the same basic idea of my last patch, but 1) defines an arch-specific SD_NODE_INIT for the 4 NUMA arches (i386, x86_64, IA64 & PPC64), 2) defines *default* SD_CPU_INIT & SD_SIBLING_INIT for *all* arches, with the possibility of them being overridden by simply defining an arch-specific version in include/asm/topology.h. The motivation behind the third version of this patch is that Martin feels that there should be no "default" NUMA initializer because NUMA characteristics are *very* arch/platform specific, and hence a "default" NUMA initializer can only lead to confusion. I agree with most of that, but don't quite see as much harm in having a default as he does. Nevertheless, to keep him quiet, I've run up this version of the patch. Martin, please run this through your magic test suite and make sure I didn't break anything trivial. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] sched: remove NODE_BALANCE_RATE definitions NODE_BALANCE_RATE is defined all over the place, but used nowhere. Let's remove it. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] sched: fix SCHED_SMT & numa=fake=2 lockup This patch fixes an interaction between the numa=fake= feature, the domain setup code and cpu_siblings_map[]. The bug leads to a bootup crash when using numa=fake=2 on a 2-way/4-way SMP+HT box. When SCHED_SMT is turned on the domains-setup code relies on siblings not spanning multiple domains (which makes perfect sense). But numa=fake=2 creates an assymetric 1101/0010 splitup between CPUs, which results in two siblings being on different nodes. The patch adds a check_siblings_map() function that checks the sibling maps and fixes them up if they violate this rule. (it also prints a warning in that case.) The patch also turns SCHED_DOMAIN_DEBUG back on - had this been enabled we'd have noticed this bug much earlier. From: Badari Pulavarty arch/x86_64/mm/numa.c: In function `numa_setup': arch/x86_64/mm/numa.c:332: error: `numa_fake' undeclared (first use in this function) arch/x86_64/mm/numa.c:332: error: (Each undeclared identifier is reported only once arch/x86_64/mm/numa.c:332: error: for each function it appears in.) Signed-off-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] fix & clean up zombie/dead task handling & preemption This patch fixes all the preempt-after-task->state-is-TASK_DEAD problems we had. Right now, the moment procfs does a down() that sleeps in proc_pid_flush() [it could] our TASK_DEAD state is zapped and we might be back to TASK_RUNNING to and we trigger this assert: schedule(); BUG(); /* Avoid "noreturn function does return". */ for (;;) ; I have split out TASK_ZOMBIE and TASK_DEAD into a separate p->exit_state field, to allow the detaching of exit-signal/parent/wait-handling from descheduling a dead task. Dead-task freeing is done via PF_DEAD. Tested the patch on x86 SMP and UP, but all architectures should work fine. Signed-off-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] return full SCSI status byte in SG_IO This has been around for a while. Return the full scsi result byte in rq->errors for SG_IO generated requests. Signed-off-by: Jens Axboe Signed-off-by: Linus Torvalds Fix old-style fn declaration. Don't use obsolete gcc named initializer syntax. The proper C99 syntax is much preferred. Fix pci config syscall definitions. Including the proper header file showed that they didn't match the declared prototypes. [SERIAL] Add FCR setting to serial8250_config structure. This allows us to adapt the FCR for each port type in a much more flexible way, and allows us to set the transmit trigger levels. [SERIAL] Convert TI16C750 flow control into a port capability. Add UART_CAP_AFE, and use this to enable TI16C750 flow control, but only if we have 32 bytes or more of FIFO. [SERIAL] Add comment about frobbing the 950's ACR on TX disable. Add a bit of explaination why we only turn off the transmitter if we are called from uart_stop(). [NETFILTER]: Convert ip6t_physdev match function to new argument order Signed-off-by: Patrick McHardy [SERIAL] Clean up handling of LSR in receive function. It's pointless accessing the LSR value via a pointer all the time - it prevents the compiler optimising it. Also, ensure that we recognise a break sent during a kernel printk correctly. [SERIAL] Add explaination why we don't use RTS flow control. USB: add serial ipw driver Based on a 2.4 tty usb driver from Roelf Diedericks Cleaned up and ported to 2.6 and the usb-serial layer by me. Signed-off-by: Greg Kroah-Hartman [SERIAL] Make port autoprobing set up->capabilities. Convert port autoprobing to set up->capabilities as it discovers various capabilities of the port. Warn when the detected capabilities do not match those in the uart_config table. [SERIAL] Add new port registration/unregistration functions. serial8250_register_port()/serial8250_unregister_port() has the capability of registering ports with their struct device nodes, which allows sysfs to indicate which tty devices belong to which hardware devices. We also add a serial8250 platform device driver in an initial attempt at PM for ISA ports. However, I'm leaving out the platform device for the time being since adding that would cause potential oops issues. [PATCH] DVD+RW support This patch adds support for using DVD+RW drives as writable block devices. The patch is based on work from: Andy Polyakov - Wrote the 2.4 patch Nigel Kukard - Initial porting to 2.6.x It works for me using an Iomega Super DVD 8x USB drive. Nov 5 2001, Aug 8 2002. Modified by Andy Polyakov to support MMC-3 complaint DVD+RW units. Modified by Nigel Kukard - support DVD+RW 2.4.x patch by Andy Polyakov This patch implements CDRW packet writing as a kernel block device. Usage instructions are in the packet-writing.txt file. A hint: If you don't want to wait for a complete disc format, you can format just a part of the disc. For example: cdrwtool -d /dev/hdc -m 10240 This will format 10240 blocks, ie 20MB. Signed-off-by: Peter Osterlund Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] packet-writing: add credits Nigel pointed out that the earlier patches contained attributions that are not present in this patch. The 2.4 patch contains: Nov 5 2001, Aug 8 2002. Modified by Andy Polyakov to support MMC-3 complaint DVD+RW units. and Nigel changed it to this in his 2.6 patch: Modified by Nigel Kukard - support DVD+RW 2.4.x patch by Andy Polyakov The patch I sent you deleted most of the earlier work and moved the rest to cdrom.c, but the comments were not moved over, since the earlier authors didn't modify cdrom.c. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] CDRW packet writing support This patch implements CDRW packet writing as a kernel block device. Usage instructions are in the packet-writing.txt file. A hint: If you don't want to wait for a complete disc format, you can format just a part of the disc. For example: cdrwtool -d /dev/hdc -m 10240 This will format 10240 blocks, ie 20MB. Signed-off-by: Peter Osterlund Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] cdrom: buffer sizing fix The problem is that some drives fail the "GET CONFIGURATION" command when asked to only return 8 bytes. This happens for example on my drive, which is identified as: hdc: HL-DT-ST DVD+RW GCA-4040N, ATAPI CD/DVD-ROM drive Since the cdrom_mmc3_profile() function already allocates 32 bytes for the reply buffer, this patch is enough to make the command succeed on my drive. Signed-off-by: Peter Osterlund Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] Create nodemask_t The idea behind this patch is to create a nodemask_t as a node analog of cpumask_t. As NUMA machines become more common, the need for a standard, cross-platform bitmap of both online & possible nodes becomes more apparent. We believe we've worked out most of the kinks of the variable length bitmap types with the recent cpumask_t patches. Nodemasks are also currently far less widespread than cpumasks. Further, inclusion at this point in the kernel would mean consistency in node handling between 2.6 and 2.7. Future goals would be to get rid of the 'numnodes' variable used to count the number of online nodes, and replace with node_online_map. This would allow arbitrary node numbering and facilitate node hotplugging. (Nothing actually uses this yet, but several projects need it, and it does model a well-defined physical grouping). Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] reiserfs: rename struct key Rename resierfs's `struct key' to `struct reiserfs_key' to avoid namespace clashes. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] Add some key management specific error codes Here's a patch to add some new error codes specific to key management. Signed-Off-By: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] keys: new error codes for Alpha, MIPS, PA-RISC, Sparc & Sparc64 The attached patch adds the new error codes I added for key-related errors to those archs that don't make use of , including Alpha, MIPS, PA-RISC, Sparc and Sparc64. This is required to compile with CONFIG_KEYS on those platforms. Signed-Off-By: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] implement in-kernel keys & keyring management The feature set the patch includes: - Key attributes: - Key type - Description (by which a key of a particular type can be selected) - Payload - UID, GID and permissions mask - Expiry time - Keyrings (just a type of key that holds links to other keys) - User-defined keys - Key revokation - Access controls - Per user key-count and key-memory consumption quota - Three std keyrings per task: per-thread, per-process, session - Two std keyrings per user: per-user and default-user-session - prctl() functions for key and keyring creation and management - Kernel interfaces for filesystem, blockdev, net stack access - JIT key creation by usermode helper There are also two utility programs available: (*) http://people.redhat.com/~dhowells/keys/keyctl.c A comprehensive key management tool, permitting all the interfaces available to userspace to be exercised. (*) http://people.redhat.com/~dhowells/keys/request-key An example shell script (to be installed in /sbin) for instantiating a key. Signed-Off-By: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] kallsyms data size reduction / lookup speedup This patch is an improvement over my first kallsyms speedup patch posted about 2 weeks ago. It changes scripts/kallsyms as to produce a different format for kallsyms_names and extra data to speedup lookups. The compression algorithm is quite simple: it uses all the char codes not actually used in symbols to build a lookup table that translates these codes into small strings. For instance, in my test runs the code 0xFE was being translated into "acpi_" giving a 4 byte save on every translation. The advantage of this algorithm is that to translate a symbol we only require information that is stored on that symbol position, and never need to go back on the compressed stream to get information from other symbols. To give an idea about the benefits of this algorithm here are some benchmark results on a P4 2.8GHz with a symbol table with 10000 entries: kallsyms_lookup average time: vanilla 1346.0 us speedup 14.4 us with this patch 0.5 us total data produced by scripts/kallsyms: uncompressed 169 Kb vanilla 134 Kb with this patch 91 Kb (speedup was my latest patch, that only changed the way kallsyms_lookup worked and not the data format) I removed a cond_resched() from the proc/kallsyms handling code path, because using stem compression, if the current position went backwards, the hole stream would be uncompressed up to the current position. It seemed that by removing this loop it would be safe to remove the conditional reschedule altogether. There is just one catch with this patch: the time it takes to compile the kernel goes up just a bit (about 0.8s on a P4 2.8GHz with defconfig). If this delay is not acceptable I can change the compression algorithm so that it can use the previous table (calculating a new table is what consumes most of the time, and not doing the actual compression) and check to see if it obtains a similar compression ratio. If it does, then this is a sign that the symbol patterns haven't changed that much and this table is still good to use. This would not only cut the time down to half on any compilation (because of the 2 pass symbol build method), but in frequent cases where a developer is compiling a single file and linking everything over and over again, the table optimization process would never run. I'm CC'ing Brent Casavant on this email, because last june he sent a patch trying a different approach that used a 32 entry symbol cache, because there was a problem with the time "top" took to read "proc//wchan". I was hopping he would be willing to test this patch and comment on the results. Signed-off-by: Paulo Marques Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] TIOCCONS security The ioctl TIOCCONS allows any user to redirect console output to another tty. This allows anyone to suppress messages to the console at will. AFAIK nowadays not many programs write to /dev/console, except for start scripts and the kernel (printk() above console log level). Still, I believe that administrators and operators would not like any user to be able to hijack messages that were written to the console. The only user of TIOCCONS that I am aware of is bootlogd/blogd, which runs as root. Please comment if there are other users. Is there any reason why normal users should be able to use TIOCCONS? Otherwise I would suggest to restrict access to root (CAP_SYS_ADMIN), e.g. with this patch. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] move waitqueue functions to kernel/wait.c The following patch series consolidates the various instances of waitqueue hashing to use a uniform structure and share the per-zone hashtable among all waitqueue hashers. This is expected to increase the number of hashtable buckets available for waiting on bh's and inodes and eliminate statically allocated kernel data structures for greater node locality and reduced kernel image size. Some attempt was made to look similar to Oleg Nesterov's suggested API in order to provide some kind of credit for independent invention of something very similar (the original versions of these patches predated my public postings on the subject of filtered waitqueues). These patches have the further benefit and intention of enabling aio to use filtered wakeups by standardizing the data structure passed to wake functions so that embedded waitqueue elements in aio structures may be succesfully passed to the filtered wakeup wake functions, though this patch series doesn't implement that particular functionality. Successfully stress-tested on x86-64, and ia64 in recent prior versions. This patch: Move waitqueue -related functions not needing static functions in sched.c to kernel/wait.c Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] standardize bit waiting data type Eliminate specialized page and bh waitqueue hashing structures in favor of a standardized structure, using wake_up_bit() to wake waiters using the standardized wait_bit_key structure. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] consolidate bit waiting code patterns Consolidate bit waiting code patterns for page waitqueues using __wait_on_bit() and __wait_on_bit_lock(). Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] eliminate bh waitqueue hashtable Eliminate the bh waitqueue hashtable using bit_waitqueue() via wait_on_bit() and wake_up_bit() to locate the waitqueue head associated with a bit. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] eliminate inode waitqueue hashtable Eliminate the inode waitqueue hashtable using bit_waitqueue() via wait_on_bit() and wake_up_bit() to locate the waitqueue head associated with a bit. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] move wait ops' contention case completely out of line Move the slow paths of wait_on_bit() and wait_on_bit_lock() out of line. Also uninline wake_up_bit() to reduce the number of callsites generated, and adjust loop startup in __wait_on_bit_lock() to properly reflect its usage in the contention case. Incremental atop the fastcall and wait_on_bit_lock()/test_and_set_bit() fixes. Successfully tested on x86-64. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] reduce number of parameters to __wait_on_bit() and __wait_on_bit_lock() Some of the parameters to __wait_on_bit() and __wait_on_bit_lock() are redundant, as the wait_bit_queue parameter holds the flags word and the bit number. This patch updates __wait_on_bit() and __wait_on_bit_lock() to fetch that information from the wait_bit_queue passed to them and so reduce the number of parameters so that -mregparm may be more effective. Incremental atop the complete out-of-lining of the contention cases and the fastcall and wait_on_bit_lock()/test_and_set_bit() fixes. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] document wake_up_bit()'s requirement for preceding memory barriers Document the requirement to use a memory barrier prior to wake_up_bit(). Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] jbd wakeup fix Processes can sleep in do_get_write_access(), waiting for buffers to be removed from the BJ_Shadow state. We did this by doing a wake_up_buffer() in the commit path and sleeping on the buffer in do_get_write_access(). With the filtered bit-level wakeup code this doesn't work properly any more - the wake_up_buffer() accidentally wakes up tasks which are sleeping in lock_buffer() as well. Those tasks now implicitly assume that the buffer came unlocked. Net effect: Bogus I/O errors when reading journal blocks, because the buffer isn't up to date yet. Hence the recently spate of journal_bmap() failure reports. The patch creates a new jbd-private BH flag purely for this wakeup function. So a wake_up_bit(..., BH_Unshadow) doesn't wake up someone who is waiting for a wake_up_bit(BH_Lock). JBD was the only user of wake_up_buffer(), so remove it altogether. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] unreachable code in ext3_direct_IO() davej points out that in this code local variable `ret' is already known to be positive non-zero, so this test is meaningless. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] switchable and modular io schedulers This patch modularizes the io schedulers completely, allowing them to be modular. Additionally it enables online switching of io schedulers. See also http://lwn.net/Articles/102593/ . There's a scheduler file in the sysfs directory for the block device queue: axboe@router:/sys/block/hda/queue> ls iosched max_sectors_kb read_ahead_kb max_hw_sectors_kb nr_requests scheduler If you list the contents of the file, it will show available schedulers and the active one: axboe@router:/sys/block/hda/queue> cat scheduler [cfq] Lets load a few more. router:/sys/block/hda/queue # modprobe deadline-iosched router:/sys/block/hda/queue # modprobe as-iosched router:/sys/block/hda/queue # cat scheduler [cfq] deadline anticipatory Changing is done with router:/sys/block/hda/queue # echo deadline > scheduler router:/sys/block/hda/queue # cat scheduler cfq [deadline] anticipatory deadline is now the new active io scheduler for hda. Signed-off-by: Jens Axboe Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] cfq-v2 I/O scheduler update Here is the next incarnation of the CFQ io scheduler, so far known as CFQ v2 locally. It attempts to address some of the limitations of the original CFQ io scheduler (hence forth known as CFQ v1). Some of the problems with CFQ v1 are: - It does accounting for the lifetime of the cfq_queue, which is setup and torn down for the time when a process has io in flight. For a fork heavy work load (such as a kernel compile, for instance), new processes can effectively starve io of running processes. This is in part due to the fact that CFQ v1 gives preference to a new processes to get better latency numbers. Removing that heuristic is not an option exactly because of that. - It makes no attempts to address inter-cfq_queue fairness. - It makes no attempt to limit upper latency bound of a single request. - It only provides per-tgid grouping. You need to change the source to group on a different criteria. - It uses a mempool for the cfq_queues. Theoretically this could deadlock if io bound processes never exit. - The may_queue() logic can be unfair since it fluctuates quickly, thus leaving processes sleeping while new processes are allowed to allocate a request. CFQ v2 attempts to fix these issues. It uses the process io_context logic to maintain a cfq_queue lifetime of the duration of the process (and its io). This means we can now be a lot more clever in deciding which process is allowed to queue or dispatch io to the device. The cfq_io_context is per-process per-queue, this is an extension to what AS currently does in that we truly do have a unique per-process identifier for io grouping. Busy queues are sorted by service time used, sub sorted by in_flight requests. Queues that have no io in flight are also preferred at dispatch time. Accounting is done on completion time of a request, or with a fixed cost for tagged command queueing. Requests are fifo'ed like with deadline, to make sure that a single request doesn't stay in the io scheduler for ages. Process grouping is selectable at runtime. I provide 4 grouping criterias: process group, thread group id, user id, and group id. As usual, settings are sysfs tweakable in /sys/block//queue/iosched axboe@apu:[.]s/block/hda/queue/iosched $ ls back_seek_max fifo_batch_expire find_best_crq queued back_seek_penalty fifo_expire_async key_type show_status clear_elapsed fifo_expire_sync quantum tagged In order, each of these settings control: back_seek_max back_seek_penalty: Useful logic stolen from AS that allow small backwards seeks in the io stream if we deem them useful. CFQ uses a strict ascending elevator otherwise. _max controls the maximum allowed backwards seek, defaulting to 16MiB. _penalty denotes how expensive we account a backwards seek compared to a forward seek. Default is 2, meaning it's twice as expensive. clear_elapsed: Really a debug switch, will go away in the future. It clears the maximum values for completion and dispatch time, shown in show_status. fifo_batch_expire fifo_batch_async fifo_batch_sync: The settings for the expiry fifo. batch_expire is how often we allow the fifo expire to control which request to select. Default is 125ms. _async is the deadline for async requests (typically writes), _sync is the deadline for sync requests (reads and sync writes). Defaults are, respectively, 5 seconds and 0.5 seconds. key_type: The grouping key. Can be set to pgid, tgid, uid, or gid. The current value is shown bracketed: axboe@apu:[.]s/block/hda/queue/iosched $ cat key_type [pgid] tgid uid gid Default is tgid. To set, simply echo any of the 4 words into the file. quantum: The amount of requests we select for dispatch when the driver asks for work to do and the current pending list is empty. Default is 4. queued: The minimum amount of requests a group is allowed to queue. Default is 8. show_status: Debug output showing the current state of the queues. tagged: Set this to 1 if the device is using tagged command queueing. This cannot be reliably detected by CFQ yet, since most drivers don't use the block layer (well it could, by looking at number of requests being between dispatch and completion. but not completely reliably). Default is 0. The patch is a little big, but works reliably here on my laptop. There are a number of other changes and fixes in there (like converting to hlist for hashes). The code is commented a lot better, CFQ v1 has basically no comments (reflecting that it was writting in one go, no touched or tuned much since then). This is of course only done to increase the AAF, akpm acceptance factor. Since I'm on the road, I cannot provide any really good numbers of CFQ v1 compared to v2, maybe someone will help me out there. Signed-off-by: Jens Axboe Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] convert jiffies <-> msecs for io schedulers The various io schedulers don't convert to and from jiffies and ms in their sysfs exported values. This patch adds that. Signed-off-by: Jens Axboe Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] don't export blkdev_open and def_blk_ops Already since 2.4 all block devices use block_device_operations and shouldn't deal with file operations directly. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [SERIAL] Convert 8250_pci to use new serial8250_register_port() This allows 8250 PCI ports to register with their correct device structures. [PATCH] remove dead code from fs/mbcache.c mb_cache_entry_takeout and mb_cache_entry_dup are totally unused. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] remove posix_acl_masq_nfs_mode Completely unused but exported function in fs/posix_acl.c Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] don't export shmem_file_setup Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] remove pm_find, unexport pm_send cutting back some unused legacy PM code Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] remove dead code and exports from signal.c Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] unexport proc_sys_root Only used by kernel/sysctl.c which absolutely can't be modular Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] unexport is_subdir and shrink_dcache_anon Two dcache.c functions that shouldn't be used by filesystems directly (probably a leftover of the intermezzo mess). Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] unexport devfs_mk_symlink Only legit user is the partitioning code, in addition some uml code is still using despite the uml people beeing told to fix it at least two times. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] unexport do_execve/do_select These are basically shared code for native/32bit compat code, but as CONFIG_COMPAT is a bool there's no need to export them. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] unexport exit_mm Not exactly a thing we want done from modules, and no module uses it anyway. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] unexport files_lock and put_filp Rather lowlevel functions that modules shouldn't mess with and fortunately currently don't. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] unexport f_delown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] unexport lookup_create Besides namei.c it's only used in the SN2 hwgraph code which can't be modular (and will be removed soon) Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] remove wake_up_all_sync no user in sight Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] remove set_fs_root/set_fs_pwd Not exactly something we want modules to mess around with. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] generic acl support for ->permission Currently we every filesystem with Posix ACLs has it's own reimplemtation of the generic permission checking code with additonal ACL support. This patch - adds an optional callback to vfs_permission that filesystems can use for ACL support (and renames it to generic_permission because the old name was wrong - it wasn't like the other vfs_* functions at all) - uses it in ext2, ext3 and jfs. XFS will follow a little later as it's permission checking is burried under several layers of abstraction. From: Dave Kleikamp jfs doesn't currently set MS_POSIXACL (it doesn't require the acl mount option), so this test would fail here. The patch below will set it. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] Adjust alignment of pagevec structure We can shrink the pagevec structure to cacheline align it. It is used all over VM reclaiming and mpage pagecache read code. Right now it is 140 bytes on 64-bit and 72 bytes on 32-bit. Thats just a little bit more than a power of 2 (which will cacheline align), so shrink it to be aligned: 64 bytes on 32bit and 124bytes on 64-bit. It now occupies two cachelines most of the time instead of three. I changed nr and cold to "unsigned short" because they'll never reach 2 ^ 16. Did some reaim benchmarking on 4way PIII (32byte cacheline), with 512MB RAM: #### stock 2.6.9-rc1-mm4 #### Peak load Test: Maximum Jobs per Minute 4144.44 (average of 3 runs) Quick Convergence Test: Maximum Jobs per Minute 4007.86 (average of 3 runs) Peak load Test: Maximum Jobs per Minute 4207.48 (average of 3 runs) Quick Convergence Test: Maximum Jobs per Minute 3999.28 (average of 3 runs) #### shrink-pagevec ##### Peak load Test: Maximum Jobs per Minute 4717.88 (average of 3 runs) Quick Convergence Test: Maximum Jobs per Minute 4360.59 (average of 3 runs) Peak load Test: Maximum Jobs per Minute 4493.18 (average of 3 runs) Quick Convergence Test: Maximum Jobs per Minute 4327.77 (average of 3 runs) Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] fbdev: remove unnecessary banshee_wait_idle from tdfxfb - This patch removes the unnecessary call to banshee_wait_idle() from tdfxfb_copyarea, imageblit and fillrect. Removal of the sync will garner an additional ~20% in scrolling speed. - Removes "inverse" which generates a compile warning if modular. Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] fbdev: fix logo drawing failure for vga16fb This fixes the logo failing to draw in vga16fb due to faulty boolean logic. Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] fbcon: Fix setup boot options of fbcon This patch fixes the 'fbcon=map: