safe/jmp/linux-2.6
17 years agoUSB Storage: remove duplicate Nokia entry in unusual_devs.h
Greg Kroah-Hartman [Wed, 20 Dec 2006 19:46:03 +0000 (11:46 -0800)]
USB Storage: remove duplicate Nokia entry in unusual_devs.h

How many times are we going to merge this entry...

Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years ago[PATCH] bluetooth: add support for another Kensington dongle
Olivier Galibert [Tue, 19 Dec 2006 21:15:25 +0000 (13:15 -0800)]
[PATCH] bluetooth: add support for another Kensington dongle

Add the stupid sco fixup quirk to yet another Broadcom/Kensington device.

Cc: Marcel Holtmann <marcel@holtmann.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years ago[PATCH] usb serial: add support for Novatel S720/U720 CDMA/EV-DO modems
Eric Smith [Tue, 19 Dec 2006 21:15:25 +0000 (13:15 -0800)]
[PATCH] usb serial: add support for Novatel S720/U720 CDMA/EV-DO modems

Add USB vendor/device IDs for Novatel Wireless S720 and U720 CDMA/EV-DO
modems to airprime.c.

Signed-off-by: Eric Smith <eric@brouhaha.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years ago[PATCH] USB: Nokia E70 is an unusual device
Andrew Morton [Tue, 19 Dec 2006 21:15:23 +0000 (13:15 -0800)]
[PATCH] USB: Nokia E70 is an unusual device

Taken from http://bugzilla.kernel.org/show_bug.cgi?id=7508

When the Nokia E70 Phone is plugged in to the USB port, I get:

end_request: I/O error, dev sda, sector 1824527
sd 0:0:0:0: SCSI error: return code = 0x10070000
end_request: I/O error, dev sda, sector 1824535
sd 0:0:0:0: SCSI error: return code = 0x10070000

The fix is to add these lines to drivers/usb/storage/unusual_devs.h:

Cc: <honkkis@gmail.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agoUSB: fix to usbfs_snoop logging of user defined control urbs
Chris Frey [Sat, 16 Dec 2006 07:37:42 +0000 (02:37 -0500)]
USB: fix to usbfs_snoop logging of user defined control urbs

When sending CONTROL URB's using the usual CONTROL ioctl, logging works
fine, but when sending them via SUBMITURB, like VMWare does, the
control fields are not logged.  This patch fixes that.

I didn't see any major changes to devio.c recently, so this patch should apply
cleanly to even the latest kernel.  I can resubmit if it doesn't.

From: Chris Frey <cdfrey@foursquare.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agoUSB: at91_udc: Additional checks
Wojtek Kaniewski [Fri, 8 Dec 2006 11:26:00 +0000 (03:26 -0800)]
USB: at91_udc: Additional checks

This patch performs additional checks in at91_udc, just in case of
some spurious interrupts or device enumeration.

Signed-off-by: Wojtek Kaniewski <wojtekka@toxygen.net>
Acked-by: David Brownell <dbrownell@users.sourceforge.net>
Cc: Andrew Victor <andrew@sanpeople.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agoUSB: at91_udc: Cleanup variables after failure in usb_gadget_register_driver()
Wojtek Kaniewski [Fri, 8 Dec 2006 11:23:00 +0000 (03:23 -0800)]
USB: at91_udc: Cleanup variables after failure in usb_gadget_register_driver()

This patch zeroes some variables when usb_gadget_register_driver()
fails. gadgetfs does a dummy registration to get the name of the USB
driver and then waits for user-land driver. If someone plugs the cable
in the meantime, bad things happen, because at91_udc has been left in
inconsistent state.

Signed-off-by: Wojtek Kaniewski <wojtekka@toxygen.net>
Acked-by: David Brownell <dbrownell@users.sourceforge.net>
Cc: Andrew Victor <andrew@sanpeople.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agoUSB: at91_udc: allow drivers that support high speed
Wojtek Kaniewski [Fri, 8 Dec 2006 17:39:36 +0000 (09:39 -0800)]
USB: at91_udc: allow drivers that support high speed

This patch allows gadget drivers that support high speed (e.g. gadgetfs)
to work properly with at91_udc.

Fix suggested by Milan Svoboda in
http://marc.theaimsgroup.com/?l=linux-usb-devel&m=115822184711817

Signed-off-by: Wojtek Kaniewski <wojtekka@toxygen.net>
Acked-by: David Brownell <dbrownell@users.sourceforge.net>
Cc: Andrew Victor <andrew@sanpeople.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agoUSB: u132-hcd/ftdi-elan: add support for Option GT 3G Quad card
Tony Olech [Wed, 6 Dec 2006 13:16:22 +0000 (13:16 +0000)]
USB: u132-hcd/ftdi-elan: add support for Option GT 3G Quad card

ELAN's U132 is a USB to CardBus OHCI controller adapter,
    designed specifically for CardBus 3G data cards to
    function in machines without a CardBus slot.
The "ftdi-elan" module is a USB client driver, that detects
    a supported CardBus OHCI controller plugged into the
    U132 adapter and thereafter provides the conduit for
    for access by the "u132-hcd" module.
The "u132-hcd" module is a (cut-down OHCI) host controller
    that supports a single OHCI function of the CardBus
    card inserted into the U132 adapter.

The problem with the initial implementation is that when
the CardBus card inserted into the U132 adapter has multiple
functions (and a CardBus card can support up to 4 functions),
it was the first function that was arbitrarily choosen.

The first batch of 3G cards tested, like the Merlin Qualcomm
V620, have two functions each supporting a seperate USB OHCI
host controller, of which it was that first function that is
wired up to the 3G modem.

Then along comes the Vodafone Mobile Connect 3G/GPRS data card,
aka "Option GT 3G Quad" as printed on it's rear or "Option N.V.
GlobeTrotter Fusion Quad Lite" as read with "lspci -v". And it
has the meaningful functionality in the second CardBus function.

That presents a problem because it was the "ftdi-elan" module
alone that knows how to communicate to the embedded CardBus slot
and the "u132-hcd" module alone that knows how to access the
pcmcia configuration and CardBus accessible memory space. And
of course, the information about attached (internally hardwired)
devices is contained within USB configuration embedded somewhere
within the CardBus card.

If only the "u132-hcd" module probe() interface could return a
result code that propagated back to the instigating function
platform_device_register() then the "ftdi-elan" module could
try an alternative CardBus function.     However in spite of
the recent changes to the drivers/base/ routines that moved
device_attach() from bus_add_device() to bus_attach_device()
both of those routines lose the "failed to attach" 0 result
code and thus the calling routine, namely device_add() is
incapable of propaging the "failed to attach" condition back
to platform_device_add() and consequently back to the caller
of platform_device_register()

Experiments show that patching bus_attach_device() to return
ENODEV fails with the kernel locking up very early during
boot. But, however, if the patch is restricted to calls from
platform_device_add() then it does seem to work.

Unfortunately, until the kernel's drivers/base is properly
modified to propagate -ENODEV back to the caller of
platform_device_register(), it is necessary to "fix" the
"ftdi-elan" module by importing knowledge from the
"u132-hcd" module. This is the reason for the duplicated
functionality introduced in this patch.

Signed-off-by: Tony Olech <tony.olech@elandigitalsystems.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agoUSB: at91_udc, misc fixes
Andrew Victor [Fri, 8 Dec 2006 06:44:38 +0000 (22:44 -0800)]
USB: at91_udc, misc fixes

This is an update to the AT91 USB Device (Gadget) driver.

Adds support for the Atmel AT91SAM9260 and AT91SAM9261 processors.  The
only difference is how they handle the pullup pin.
[Patch from Patrice Vilchez]

Need to clear any pending USB Device interrupts before registering the
interrupt handler.  The bootloader might have been using the USB Device
port.   [Patch from Peer Georgi]

VBUS detection is handled by a GPIO interrupt which only triggers on a
change. Is is therefore necessary to read the current VBUS state
explicitly at startup.  [Patch from Peer Georgi]

Signed-off-by: Andrew Victor <andrew@sanpeople.com>
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agoUSB: at91 udc, support at91sam926x addresses
Andrew Victor [Fri, 8 Dec 2006 06:44:33 +0000 (22:44 -0800)]
USB: at91 udc, support at91sam926x addresses

This is an update to the AT91 USB Device (Gadget) driver.

The base I/O address provided in the platform_device resources is now
ioremap()'ed instead of using a statically mapped memory area.  This
helps portability to the newer AT91sam926x processors.

The major change is that we now have to pass a 'struct at91_udc'
parameter to at91_udp_read() and at91_udp_write().

Signed-off-by: Andrew Victor <andrew@sanpeople.com>
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agoUSB: OHCI support for PNX8550
Vitaly Wool [Mon, 9 Oct 2006 08:32:00 +0000 (01:32 -0700)]
USB: OHCI support for PNX8550

OHCI HCD (Host Controller Driver) for USB. Bus Glue for PNX8550.

Signed-off-by: Vitaly Wool <vitalywool@gmail.com>
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agoUSB: ohci handles hardware faults during root port resets
Takamasa Ohtake [Thu, 7 Dec 2006 01:04:15 +0000 (17:04 -0800)]
USB: ohci handles hardware faults during root port resets

I have found a problem where the root_port_reset() goes into an infinite
loop and stalls the kernel.

This happens when a hardware fault inside the machine occurs during a small
timing window.  In case of USB device connection, if a USB device responds to
hcd_submit_urb(), and later the controller fails before root_port_reset(),
root_port_reset() will loop infinitely because ohci_readl() will always
return "-1".  Such a failure can include ejecting a CardBus OHCI controller.

The probability of this problem is low, but it will increase if PnP type
usage is frequent.  The attached patch can solve this problem and I believe
that it is better to fix this problem.

Signed-off-by: Takamasa Ohtake <ohtake-txa@necst.nec.co.jp>
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agoUSB: ohci at91 warning fix
Andrew Victor [Tue, 5 Dec 2006 11:20:31 +0000 (03:20 -0800)]
USB: ohci at91 warning fix

Remove a warning about an unused variable in the OHCI bus glue for at91.

Signed-off-by: Andrew Victor <andrew@sanpeople.com>
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agoUSB: ohci whitespace/comment fixups
David Brownell [Tue, 5 Dec 2006 11:18:31 +0000 (03:18 -0800)]
USB: ohci whitespace/comment fixups

This is an OHCI cleanup patch ... it removes a lot of erroneous whitespace
(space before tab, at end of line) as well as the obsolete inline changelog.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agoUSB: MAINTAINERS update, EHCI and OHCI
David Brownell [Tue, 5 Dec 2006 11:10:08 +0000 (03:10 -0800)]
USB: MAINTAINERS update, EHCI and OHCI

Update maintainer records for two USB host controller drivers.  I'm the
main point of contact for both EHCI and OHCI, although I don't have much
time for them any more.  Roman hasn't submitted OHCI patches for years.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agoUSB: gadget driver unbind() is optional; section fixes; misc
David Brownell [Tue, 5 Dec 2006 11:15:33 +0000 (03:15 -0800)]
USB: gadget driver unbind() is optional; section fixes; misc

Allow gadget drivers to omit the unbind() method.  When they're
statically linked, that's an appropriate memory saving tweak.

Similarly, provide consistent/simpler handling for a should-not-happen
error case:  removing a peripheral controller driver when a gadget
driver is still loaded.  Such code dates back to early versions of the
first implementation of the gadget API, and has never been triggered.

Includes relevant section annotation fixs for gmidi.c, file_storage.c,
and serial.c; we don't yet have an "init or exit" annotation.  Also
some whitespace fixes in gmidi.c (space at EOL, before tabs, etc).

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agoUHCI: module parameter to ignore overcurrent changes
Alan Stern [Tue, 5 Dec 2006 21:29:55 +0000 (16:29 -0500)]
UHCI: module parameter to ignore overcurrent changes

Certain boards seem to like to issue false overcurrent notifications,
for example on ports that don't have anything connected to them.  This
looks like a hardware error, at the level of noise to those ports'
overcurrent input signals (or non-debounced VBUS comparators).  This
surfaces to users as truly massive amounts of syslog spam from khubd
(which is appropriate for real hardware problems, except for the
volume from multiple ports).

Using this new "ignore_oc" flag helps such systems work more sanely,
by preventing such indications from getting to khubd (and spamming
syslog).  The downside is of course that true overcurrent errors will
be masked; they'll appear as spontaneous disconnects, without the
diagnostics that will let users troubleshoot issues like
short-circuited cables.  In addition, controllers with no devices
attached will be forced to poll for new devices rather than relying on
interrupts, since each overcurrent event would generate a new
interrupt.

This patch (as826) is essentially a copy of David Brownell's ignore_oc
patch for ehci-hcd, ported to uhci-hcd.

Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agoUSB: Nokia E70 is an unusual device
Andrew Morton [Mon, 4 Dec 2006 23:22:40 +0000 (15:22 -0800)]
USB: Nokia E70 is an unusual device

Taken from http://bugzilla.kernel.org/show_bug.cgi?id=7508

When the Nokia E70 Phone is plugged in to the USB port, I get:

end_request: I/O error, dev sda, sector 1824527
sd 0:0:0:0: SCSI error: return code = 0x10070000
end_request: I/O error, dev sda, sector 1824535
sd 0:0:0:0: SCSI error: return code = 0x10070000

The fix is to add these lines to drivers/usb/storage/unusual_devs.h:

Cc: <honkkis@gmail.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agoUSB AUERSWALD: replace kmalloc+memset with kzalloc
Burman Yan [Mon, 4 Dec 2006 23:22:40 +0000 (15:22 -0800)]
USB AUERSWALD: replace kmalloc+memset with kzalloc

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agoUSB: fix Wacom Intuos3 4x6 bugs
Ping Cheng [Wed, 6 Dec 2006 01:09:51 +0000 (17:09 -0800)]
USB: fix Wacom Intuos3 4x6 bugs

Fixes Intuos3 4x6 bugs

Signed-off-by: Ping Cheng <pingc@wacom.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agousb-gsm-driver: Added VendorId and ProductId for Huawei E220 USB Modem
Johann Wilhelm [Sat, 2 Dec 2006 06:25:31 +0000 (07:25 +0100)]
usb-gsm-driver: Added VendorId and ProductId for Huawei E220 USB Modem

Added VendorId and ProductId for Huawei E220 USB Modem

Signed-off-by: Johann Wilhelm <johann.wilhelm@student.tugraz.at>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agousb-storage: Ignore the virtual cd-drive of the Huawei E220 USB Modem
Johann Wilhelm [Sat, 2 Dec 2006 06:16:32 +0000 (07:16 +0100)]
usb-storage: Ignore the virtual cd-drive of the Huawei E220 USB Modem

This prevents the kernel from detecting the virtual cd-drive with the
Windows drivers.

Signed-off-by: Johann Wilhelm <johann.wilhelm@student.tugraz.at>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agoUSB: rtl8150 new device id
Petko Manolov [Mon, 4 Dec 2006 12:27:36 +0000 (14:27 +0200)]
USB: rtl8150 new device id

This one adds another vendor ID to rtl8150 driver.  Please apply.

Signed-off-by: Petko Manolov <petkan@nucleusys.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agoUSB: fix ohci.h over-use warnings
Jeff Garzik [Mon, 4 Dec 2006 01:53:58 +0000 (20:53 -0500)]
USB: fix ohci.h over-use warnings

When u132-hcd is built, it includes local header ohci.h, which appears
to have been intended only for use by ohci-hcd.

This throws warnings about functions which are defined and not used.
The warnings thrown are because three small functions are implemented in
the header, but not declared 'inline', a rather strange affair.

Since these functions are small, let's go ahead and define them as
'inline', just like the inline functions surrounding them.  This makes
things more consistent, and kills the warnings.

Signed-off-by: Jeff Garzik <jeff@garzik.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agoUSB: Prevent the funsoft serial device from entering raw mode
David Clare [Sat, 2 Dec 2006 02:24:38 +0000 (18:24 -0800)]
USB: Prevent the funsoft serial device from entering raw mode

Added a device specific ioctl function to prevent the disabling of canonical
mode.  EINVAL is returned for any TCSETSF ioctl that doesn't have ICANON set.
This patch is for 2.6.17 or later kernels.

When "hwinfo --modem" is executed it opens the funsoft USB serial device and
disables canonical mode.  The device is kept this way until hwininfo has
finished probing any modems on a system.  The funsoft device expects to be
running in canonical mode.  Switching the device to raw mode can cause
incomplete data packets and device timeouts.

Signed-off-by: David Clare <david@funsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agoAdd Baltech Reader ID to CP2101 driver
Johannes Hoelzl [Sat, 2 Dec 2006 15:54:27 +0000 (16:54 +0100)]
Add Baltech Reader ID to CP2101 driver

this patch adds the Baltech Reader ID to the list of USB IDs in the
CP2101 driver.

From: Johannes Hoelzl <johannes.hoelzl@gmx.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agoUSB: mutexification of usblp
Oliver Neukum [Sun, 3 Dec 2006 08:46:35 +0000 (09:46 +0100)]
USB: mutexification of usblp

this patch:
- converts usblp fully to mutex
- makes sleeping interruptible where EINTR can be returned anyway

Signed-off-by: Oliver Neukum <oliver@neukum.name>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agousb serial: Eliminate bogus ioctl code
Alan [Mon, 4 Dec 2006 16:43:01 +0000 (16:43 +0000)]
usb serial: Eliminate bogus ioctl code

Several drivers have bogus ioctl code that tries unneccessarily to
override the standard processing. In the three cases here the actual code
is not only wrong but also not required as they implement the proper
set_termios method as well.

Remove the junk.

Signed-off-by: Alan Cox <alan@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agoUSB: removing ifdefed code from gl620a
Oliver Neukum [Mon, 27 Nov 2006 17:41:30 +0000 (18:41 +0100)]
USB: removing ifdefed code from gl620a

as David has objected to the patch against the gl620a driver,
here's a patch implementing David' suggestion of removing the incomplete
ifdefed code from the gl620a driver.

Signed-off-by: Oliver Neukum <oliver@neukum.name>
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
17 years agoUSB: ftdi_sio - MachX product ID added
Jan Capek [Tue, 28 Nov 2006 21:35:12 +0000 (22:35 +0100)]
USB: ftdi_sio - MachX product ID added

below is a patch for the ftdi_sio driver to include a new device ID for
CCS MachX PIC programmer.

From: Jan Capek <jan@ccsinfo.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agoUSB: airprime: add device id for dell wireless 5500 hsdpa card
Eagle Jones [Sat, 25 Nov 2006 00:40:04 +0000 (16:40 -0800)]
USB: airprime: add device id for dell wireless 5500 hsdpa card

Added the device id (0x413c, 0x8115) for the Dell wireless HSDPA 5500,
which is a rebranded Novatel EU730.

Signed-off-by: Eagle Jones <eagle@newdream.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agoUSB: fix transvibrator disconnect race
Oliver Neukum [Fri, 24 Nov 2006 11:55:59 +0000 (12:55 +0100)]
USB: fix transvibrator disconnect race

in disconnect you set the interface's private data to NULL. In your IO
methods you unconditionally follow the pointer into never never land.

Signed-off-by: Oliver Neukum <oliver@neukum.name>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agoUSB: Fix oops in PhidgetServo
Sean Young [Wed, 6 Dec 2006 20:27:32 +0000 (20:27 +0000)]
USB: Fix oops in PhidgetServo

The PhidgetServo causes an Oops when any of its sysfs attributes are read
or written too, making the driver useless.

Signed-off-by: Sean Young <sean@mess.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agoMerge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid
Linus Torvalds [Tue, 19 Dec 2006 18:32:40 +0000 (10:32 -0800)]
Merge branch 'for-linus' of git://git./linux/kernel/git/jikos/hid

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid:
  [PATCH] Generic HID layer - update MAINTAINERS
  input/hid: Supporting more keys from the HUT Consumer Page
  [PATCH] Generic HID layer - build: USB_HID should select HID

17 years ago[CONNECTOR]: Replace delayed work with usual work queue.
Evgeniy Polyakov [Mon, 18 Dec 2006 09:53:58 +0000 (01:53 -0800)]
[CONNECTOR]: Replace delayed work with usual work queue.

Signed-off-by: Evgeniy Polyakov <johnpol@2ka.mipt.ru>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[IPV4]: Fix BUG of ip_rt_send_redirect()
Li Yewang [Mon, 18 Dec 2006 08:26:35 +0000 (00:26 -0800)]
[IPV4]: Fix BUG of ip_rt_send_redirect()

Fix the redirect packet of the router if the jiffies wraparound.

Signed-off-by: Li Yewang <lyw@nanjing-fnst.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[TCP]: Trivial fix to message in tcp_v4_inbound_md5_hash
Leigh Brown [Mon, 18 Dec 2006 01:13:10 +0000 (17:13 -0800)]
[TCP]: Trivial fix to message in tcp_v4_inbound_md5_hash

The message logged in tcp_v4_inbound_md5_hash when the hash was expected
but not found was reversed.

Signed-off-by: Leigh Brown <leigh@solinno.co.uk>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[TCP]: Fix oops caused by tcp_v4_md5_do_del
Leigh Brown [Mon, 18 Dec 2006 01:12:30 +0000 (17:12 -0800)]
[TCP]: Fix oops caused by tcp_v4_md5_do_del

md5sig_info.alloced4 must be set to zero when freeing keys4, otherwise
it will not be alloc'd again when another key is added to the same
socket by tcp_v4_md5_do_add.

Signed-off-by: Leigh Brown <leigh@solinno.co.uk>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[CONNECTOR]: Fix compilation breakage introduced recently.
Evgeniy Polyakov [Mon, 18 Dec 2006 01:09:41 +0000 (17:09 -0800)]
[CONNECTOR]: Fix compilation breakage introduced recently.

Linus has changed work queue structure and has not tested it with
connector compiled in, his changes break the build.

Attached patch fixes compilation error.

Patch is against commit 99f5e9718185f07458ae70c2282c2153a2256c91.

Thanks to Toralf Förster for pointing this out.

Signed-off-by: Evgeniy Polyakov <johnpol@2ka.mipt.ru>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[TG3]: Update version and reldate.
Michael Chan [Mon, 18 Dec 2006 01:08:30 +0000 (17:08 -0800)]
[TG3]: Update version and reldate.

Update version to 3.71.

Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[TG3]: Power down/up 5906 PHY correctly.
Michael Chan [Mon, 18 Dec 2006 01:08:07 +0000 (17:08 -0800)]
[TG3]: Power down/up 5906 PHY correctly.

The 5906 PHY requires a special register bit to power down and up the
PHY.

Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[TG3]: Fix race condition when calling register_netdev().
Michael Chan [Mon, 18 Dec 2006 01:07:29 +0000 (17:07 -0800)]
[TG3]: Fix race condition when calling register_netdev().

Hot-plug scripts can call tg3_open() as soon as register_netdev() is
called in tg3_init_one().  We need to call pci_set_drvdata() before
register_netdev(), and netif_carrier_off() needs to be moved to
tg3_open() to avoid race conditions.

Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[TG3]: Assign tp->link_config.orig_* values.
Michael Chan [Mon, 18 Dec 2006 01:06:46 +0000 (17:06 -0800)]
[TG3]: Assign tp->link_config.orig_* values.

tp->link_config.orig_* values must be assigned during
tg3_set_settings() because these values will be used to setup the
link speed during tg3_open().  Without these assignments, the link
speed settings will be all messed by if tg3_set_settings() is called
when the device is down.

Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[NETFILTER] IPV6: Fix dependencies.
David S. Miller [Sun, 17 Dec 2006 22:37:23 +0000 (14:37 -0800)]
[NETFILTER] IPV6: Fix dependencies.

Although the menu dependencies in net/ipv6/netfilter/Kconfig
guard the entries in that file from the Kconfig GUI, this does
not prevent them from being selected still via "make oldconfig"
when IPV6 etc. is disabled.

So add explicit dependencies.

Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[BNX2]: Fix minor loopback problem.
Michael Chan [Thu, 14 Dec 2006 23:57:04 +0000 (15:57 -0800)]
[BNX2]: Fix minor loopback problem.

Use the configured MAC address instead of the permanent MAC address
for loopback frames.

Update version to 1.5.2.

Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[BNX2]: Fix bug in bnx2_nvram_write().
Michael Chan [Thu, 14 Dec 2006 23:56:50 +0000 (15:56 -0800)]
[BNX2]: Fix bug in bnx2_nvram_write().

Length was not calculated correctly if the NVRAM offset is on a non-
aligned offset.

Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[BNX2]: Fix panic in bnx2_tx_int().
Michael Chan [Thu, 14 Dec 2006 23:56:32 +0000 (15:56 -0800)]
[BNX2]: Fix panic in bnx2_tx_int().

There was an off-by-one bug in bnx2_tx_avail().  If the tx ring is
completely full, the producer and consumer indices may be apart by
256 even though the ring size is only 255.  One entry in the ring is
unused and must be properly accounted for when calculating the number
of available entries.  The bug caused the tx ring entries to be
reused by mistake, overwriting active entries, and ultimately causing
it to crash.

This bug rarely occurs because the tx ring is rarely completely full.
We always stop when there is less than MAX_SKB_FRAGS entries available
in the ring.

Thanks to Corey Kovacs <cjk@techma.com> and Andy Gospodarek
<agospoda@redhat.com> for reporting the problem and helping to collect
debug information.

Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[AX.25]: Fix unchecked rose_add_loopback_neigh uses
Ralf Baechle [Thu, 14 Dec 2006 23:52:13 +0000 (15:52 -0800)]
[AX.25]: Fix unchecked rose_add_loopback_neigh uses

rose_add_loopback_neigh uses kmalloc and the callers were ignoring the
error value.  Rewrite to let the caller deal with the allocation.  This
allows the use of static allocation of kmalloc use entirely.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[AX.25]: Fix unchecked rose_add_loopback_node uses
Ralf Baechle [Thu, 14 Dec 2006 23:51:44 +0000 (15:51 -0800)]
[AX.25]: Fix unchecked rose_add_loopback_node uses

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[AX.25]: Fix unchecked ax25_linkfail_register uses
Ralf Baechle [Thu, 14 Dec 2006 23:51:23 +0000 (15:51 -0800)]
[AX.25]: Fix unchecked ax25_linkfail_register uses

ax25_linkfail_register uses kmalloc and the callers were ignoring the
error value.  Rewrite to let the caller deal with the allocation.  This
allows the use of static allocation of kmalloc use entirely.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[AX.25]: Fix unchecked nr_add_node uses.
Ralf Baechle [Thu, 14 Dec 2006 23:50:58 +0000 (15:50 -0800)]
[AX.25]: Fix unchecked nr_add_node uses.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[AX.25]: Fix unchecked ax25_listen_register uses
Ralf Baechle [Thu, 14 Dec 2006 23:50:34 +0000 (15:50 -0800)]
[AX.25]: Fix unchecked ax25_listen_register uses

Fix ax25_listen_register to return something that's a sane error code,
then all callers to use it.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[AX.25]: Fix unchecked ax25_protocol_register uses.
Ralf Baechle [Thu, 14 Dec 2006 23:50:01 +0000 (15:50 -0800)]
[AX.25]: Fix unchecked ax25_protocol_register uses.

Replace ax25_protocol_register by ax25_register_pid which assumes the
caller has done the memory allocation.  This allows replacing the
kmalloc allocations entirely by static allocations.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[AX.25]: Mark all kmalloc users __must_check
Ralf Baechle [Thu, 14 Dec 2006 23:49:28 +0000 (15:49 -0800)]
[AX.25]: Mark all kmalloc users __must_check

The recent fix 0506d4068bad834aab1141b5dc5e748eb175c6b3 made obvious that
error values were not being propagated through the AX.25 stack.  To help
with that this patch marks all kmalloc users in the AX.25, NETROM and
ROSE stacks as __must_check.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[TG3]: replace kmalloc+memset with kzalloc
Yan Burman [Thu, 14 Dec 2006 23:25:00 +0000 (15:25 -0800)]
[TG3]: replace kmalloc+memset with kzalloc

Replace kmalloc+memset with kzalloc

Signed-off-by: Yan Burman <burman.yan@gmail.com>
Acked-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agoMerge master.kernel.org:/pub/scm/linux/kernel/git/davej/cpufreq
Linus Torvalds [Mon, 18 Dec 2006 03:08:11 +0000 (19:08 -0800)]
Merge /pub/scm/linux/kernel/git/davej/cpufreq

* master.kernel.org:/pub/scm/linux/kernel/git/davej/cpufreq:
  [CPUFREQ] longhaul compile fix.
  [CPUFREQ] Advise not to use longhaul on VIA C7.
  [CPUFREQ] set policy->curfreq on initialization
  [CPUFREQ] Trivial cleanup for acpi read/write port in acpi-cpufreq.c
  [CPUFREQ] fixes typo in cpufreq.c

17 years ago[PATCH] more work_struct fixes: tas300x sound drivers
Al Viro [Fri, 8 Dec 2006 09:16:49 +0000 (09:16 +0000)]
[PATCH] more work_struct fixes: tas300x sound drivers

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Acked-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
17 years ago[SPARC]: Make bitops use same spinlocks as atomics.
David S. Miller [Mon, 18 Dec 2006 00:18:47 +0000 (16:18 -0800)]
[SPARC]: Make bitops use same spinlocks as atomics.

Recent workqueue changes basically make this a formal requirement.

Also, move atomic32.o from lib-y to obj-y since it exports symbols
to modules.

Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[CPUFREQ] longhaul compile fix.
Dave Jones [Mon, 18 Dec 2006 00:09:59 +0000 (19:09 -0500)]
[CPUFREQ] longhaul compile fix.

Some gcc's are more anal than others about empty switch labels.
error: label at end of compound statement

Signed-off-by: Dave Jones <davej@redhat.com>
17 years ago[CPUFREQ] Advise not to use longhaul on VIA C7.
Dave Jones [Mon, 18 Dec 2006 00:07:35 +0000 (19:07 -0500)]
[CPUFREQ] Advise not to use longhaul on VIA C7.

C7's are centrino speedstep-alike.

Signed-off-by: Dave Jones <davej@redhat.com>
17 years ago[CPUFREQ] set policy->curfreq on initialization
Mattia Dongili [Fri, 15 Dec 2006 18:52:45 +0000 (19:52 +0100)]
[CPUFREQ] set policy->curfreq on initialization

Check the correct variable and set policy->cur upon acpi-cpufreq
initialization to allow the userspace governor to be used as default.

Signed-off-by: Mattia Dongili <malattia@linux.it>
Acked-by: "Pallipadi, Venkatesh" <venkatesh.pallipadi@intel.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Dave Jones <davej@redhat.com>
17 years ago[SPARC]: Update defconfig.
David S. Miller [Sun, 17 Dec 2006 22:21:34 +0000 (14:21 -0800)]
[SPARC]: Update defconfig.

Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[SPARC64]: Mirror x86_64's PERCPU_ENOUGH_ROOM definition.
David S. Miller [Fri, 15 Dec 2006 07:40:57 +0000 (23:40 -0800)]
[SPARC64]: Mirror x86_64's PERCPU_ENOUGH_ROOM definition.

Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[SUNKBD]: Fix sunkbd_enable(sunkbd, 0); obvious.
Fabrice Knevez [Thu, 14 Dec 2006 23:20:29 +0000 (15:20 -0800)]
[SUNKBD]: Fix sunkbd_enable(sunkbd, 0); obvious.

"sunkbd_enable(sunkbd, 0);" has no effect. Adding "sunkbd->enabled =
enable" in sunkbd_enable (obvious)

Signed-off-by: Fabrice Knevez <nuxdoors@cegetel.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[DocBook]: Fix two typos in generic IRQ docs.
David S. Miller [Tue, 12 Dec 2006 09:00:06 +0000 (01:00 -0800)]
[DocBook]: Fix two typos in generic IRQ docs.

desc-status --> desc->status

Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[SPARC64]: Minor irq handling cleanups.
David S. Miller [Tue, 12 Dec 2006 08:59:12 +0000 (00:59 -0800)]
[SPARC64]: Minor irq handling cleanups.

Use struct irq_chip instead of hw_interrupt_type.

Delete hw_resend_irq(), totally unused.

Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[SPARC64]: Kill no-remapping-needed code in head.S
David S. Miller [Tue, 12 Dec 2006 05:06:55 +0000 (21:06 -0800)]
[SPARC64]: Kill no-remapping-needed code in head.S

It branches around some necessary prom calls, which we would
need to do even if we are mapped at the correct location already.
So it doesn't work.

The idea was that this sort of thing could be used for the eventual
kexec implementation, but it is clear that this will need to be
done differently.

Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[PATCH] sys_mincore: s/max/min/
Oleg Nesterov [Sun, 17 Dec 2006 15:52:47 +0000 (18:52 +0300)]
[PATCH] sys_mincore: s/max/min/

fix a typo, sys_mincore() needs min().

Signed-off-by: Oleg Nesterov <oleg@tv-sign.ru>
Signed-off-by: Linus "I'm a moron" Torvalds <torvalds@osdl.org>
17 years ago[PATCH] m68k trivial build fixes
Al Viro [Thu, 14 Dec 2006 15:00:15 +0000 (15:00 +0000)]
[PATCH] m68k trivial build fixes

amikbd: missing declaration
sun3_NCR5380: more work_struct mess
sun3_NCR5380: cast is not an lvalue

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
17 years agoFix up mm/mincore.c error value cases
Linus Torvalds [Sun, 17 Dec 2006 00:01:50 +0000 (16:01 -0800)]
Fix up mm/mincore.c error value cases

Hugh Dickins correctly points out that mincore() is actually _supposed_
to fail on an unmapped hole in the user address space, rather than
return valid ("empty") information about the hole.  This just simplifies
the problem further (I had been misled by our previous confusing and
complicated way of doing mincore()).

Also, in the unlikely situation that we can't allocate a temporary
kernel buffer, we should actually return EAGAIN, not ENOMEM, to keep the
"unmapped hole" and "allocation failure" error cases separate.

Finally, add a comment about our stupid historical lack of support for
anonymous mappings.  I'll fix that if somebody reminds me after 2.6.20
is out.

Acked-by: Hugh Dickins <hugh@veritas.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
17 years agoMerge branch 'for-linus' of master.kernel.org:/pub/scm/linux/kernel/git/roland/infiniband
Linus Torvalds [Sat, 16 Dec 2006 21:23:45 +0000 (13:23 -0800)]
Merge branch 'for-linus' of /linux/kernel/git/roland/infiniband

* 'for-linus' of master.kernel.org:/pub/scm/linux/kernel/git/roland/infiniband:
  IB/mthca: Use DEFINE_MUTEX() instead of mutex_init()
  IB/mthca: Add HCA profile module parameters
  IB/srp: Fix FMR mapping for 32-bit kernels and addresses above 4G
  IB: Fix ib_dma_alloc_coherent() wrapper

17 years agoMerge branch 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik...
Linus Torvalds [Sat, 16 Dec 2006 17:54:23 +0000 (09:54 -0800)]
Merge branch 'upstream-linus' of /linux/kernel/git/jgarzik/libata-dev

* 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev:
  [PATCH] pata_via: Cable detect error
  [PATCH] Fix help text for CONFIG_ATA_PIIX
  [PATCH] initializer entry defined twice in pata_rz1000
  [PATCH] ata: fix platform_device_register_simple() error check
  [PATCH] ahci: do not mangle saved HOST_CAP while resetting controller
  [PATCH] libata: don't initialize sg in ata_exec_internal() if DMA_NONE (take #2)
  [libata] sata_svw: Disable ATAPI DMA on current boards (errata workaround)
  [libata] use kmap_atomic(KM_IRQ0) in SCSI simulator
  [PATCH] ata_piix: use piix_host_stop() in ich_pata_ops
  [PATCH] ata_piix: IDE mode SATA patch for Intel ICH9

17 years agoMake workqueue bit operations work on "atomic_long_t"
Linus Torvalds [Sat, 16 Dec 2006 17:53:50 +0000 (09:53 -0800)]
Make workqueue bit operations work on "atomic_long_t"

On architectures where the atomicity of the bit operations is handled by
external means (ie a separate spinlock to protect concurrent accesses),
just doing a direct assignment on the workqueue data field (as done by
commit 4594bf159f1962cec3b727954b7c598b07e2e737) can cause the
assignment to be lost due to lack of serialization with the bitops on
the same word.

So we need to serialize the assignment with the locks on those
architectures (notably older ARM chips, PA-RISC and sparc32).

So rather than using an "unsigned long", let's use "atomic_long_t",
which already has a safe assignment operation (atomic_long_set()) on
such architectures.

This requires that the atomic operations use the same atomicity locks as
the bit operations do, but that is largely the case anyway.  Sparc32
will probably need fixing.

Architectures (including modern ARM with LL/SC) that implement sane
atomic operations for SMP won't see any of this matter.

Cc: Russell King <rmk+lkml@arm.linux.org.uk>
Cc: David Howells <dhowells@redhat.com>
Cc: David Miller <davem@davemloft.com>
Cc: Matthew Wilcox <matthew@wil.cx>
Cc: Linux Arch Maintainers <linux-arch@vger.kernel.org>
Cc: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
17 years agoFix incorrect user space access locking in mincore()
Linus Torvalds [Sat, 16 Dec 2006 17:44:32 +0000 (09:44 -0800)]
Fix incorrect user space access locking in mincore()

Doug Chapman noticed that mincore() will doa "copy_to_user()" of the
result while holding the mmap semaphore for reading, which is a big
no-no.  While a recursive read-lock on a semaphore in the case of a page
fault happens to work, we don't actually allow them due to deadlock
schenarios with writers due to fairness issues.

Doug and Marcel sent in a patch to fix it, but I decided to just rewrite
the mess instead - not just fixing the locking problem, but making the
code smaller and (imho) much easier to understand.

Cc: Doug Chapman <dchapman@redhat.com>
Cc: Marcel Holtmann <holtmann@redhat.com>
Cc: Hugh Dickins <hugh@veritas.com>
Cc: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
17 years ago[PATCH] pata_via: Cable detect error
Alan [Sat, 16 Dec 2006 14:32:21 +0000 (14:32 +0000)]
[PATCH] pata_via: Cable detect error

The UDMA66 VIA hardware has no controller side cable detect bits we can
use. This patch minimally fixes the problem by reporting unknown in this
case and using drive side detection.

The old drivers/ide code does some additional tricks but those aren't
appropriate now we are in -rc.

Without this update UDMA66 via controllers run slowly. They don't fail so
it's a borderline call whether this is -rc material or not.

Signed-off-by: Alan Cox <alan@redhat.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
17 years ago[PATCH] Fix help text for CONFIG_ATA_PIIX
Alan [Sat, 16 Dec 2006 12:54:29 +0000 (12:54 +0000)]
[PATCH] Fix help text for CONFIG_ATA_PIIX

> Thanks for clarifying Bill, and sorry Alan. ata_piix does indeed work
> correctly. The help text is a bit confusing:
>
> config ATA_PIIX
>         tristate "Intel PIIX/ICH SATA support"
>         depends on PCI
>         help
>           This option enables support for ICH5/6/7/8 Serial ATA.
>           If PATA support was enabled previously, this enables
>           support for select Intel PIIX/ICH PATA host controllers.

New help text

Signed-off-by: Alan Cox <alan@redhat.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
17 years ago[PATCH] initializer entry defined twice in pata_rz1000
Ira Snyder [Fri, 15 Dec 2006 21:08:52 +0000 (13:08 -0800)]
[PATCH] initializer entry defined twice in pata_rz1000

This removes the extra definition of the .error_handler member
in the pata_rz1000 driver.

Signed-off-by: Ira W. Snyder <kernel@irasnyder.com>
Cc: Jeff Garzik <jeff@garzik.org>
Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
17 years ago[PATCH] ata: fix platform_device_register_simple() error check
Akinobu Mita [Fri, 15 Dec 2006 21:08:51 +0000 (13:08 -0800)]
[PATCH] ata: fix platform_device_register_simple() error check

The return value of platform_device_register_simple() should be checked
by IS_ERR().

Cc: Jeff Garzik <jgarzik@pobox.com>
Acked-by: Alan Cox <alan@lxorguk.ukuu.org.uk>
Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
17 years ago[PATCH] ahci: do not mangle saved HOST_CAP while resetting controller
Tejun Heo [Tue, 12 Dec 2006 11:17:32 +0000 (20:17 +0900)]
[PATCH] ahci: do not mangle saved HOST_CAP while resetting controller

Do not mangle with HOST_CAP while resetting controller.  The code is
there for a historical reason.  The mangling breaks controller feature
detection and 0 PORTS_IMPL workaround code.

This problem was spotted by Manoj Kasichainula.

Signed-off-by: Tejun Heo <htejun@gmail.com>
Cc: Manoj Kasichainula <manoj@io.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
17 years ago[PATCH] libata: don't initialize sg in ata_exec_internal() if DMA_NONE (take #2)
Tejun Heo [Mon, 11 Dec 2006 17:15:31 +0000 (02:15 +0900)]
[PATCH] libata: don't initialize sg in ata_exec_internal() if DMA_NONE (take #2)

Calling sg_init_one() with NULL buf causes oops on certain
configurations.  Don't initialize sg in ata_exec_internal() if
DMA_NONE and make the function complain if @buf is NULL when dma_dir
isn't DMA_NONE.  While at it, fix comment.

The problem is discovered and initial patch was submitted by Arnd
Bergmann.

Signed-off-by: Tejun Heo <htejun@gmail.com>
Cc: Arnd Bergmann <arnd.bergmann@de.ibm.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
17 years ago[libata] sata_svw: Disable ATAPI DMA on current boards (errata workaround)
Jeff Garzik [Thu, 14 Dec 2006 22:04:33 +0000 (17:04 -0500)]
[libata] sata_svw: Disable ATAPI DMA on current boards (errata workaround)

Current Broadcom/Serverworks SATA boards (including Apple K2 SATA)
have problems with ATAPI DMA, so it is disabled.  ATAPI PIO, ATA PIO,
and ATA DMA continue to work just fine.

Acked-by: Anantha Subramanyam <ananth@broadcom.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
17 years ago[libata] use kmap_atomic(KM_IRQ0) in SCSI simulator
Jeff Garzik [Mon, 11 Dec 2006 16:05:53 +0000 (11:05 -0500)]
[libata] use kmap_atomic(KM_IRQ0) in SCSI simulator

We are inside spin_lock_irqsave().  quoth akpm's debug facility:

 [  231.948000] SCSI device sda: 195371568 512-byte hdwr sectors (100030 MB)
 [  232.232000] ata1.00: configured for UDMA/33
 [  232.404000] WARNING (1) at arch/i386/mm/highmem.c:47 kmap_atomic()
 [  232.404000]  [<c01162e6>] kmap_atomic+0xa9/0x1ab
 [  232.404000]  [<c0242c81>] ata_scsi_rbuf_get+0x1c/0x30
 [  232.404000]  [<c0242caf>] ata_scsi_rbuf_fill+0x1a/0x87
 [  232.404000]  [<c0243ab2>] ata_scsiop_mode_sense+0x0/0x309
 [  232.404000]  [<c01729d5>] end_bio_bh_io_sync+0x0/0x37
 [  232.404000]  [<c02311c6>] scsi_done+0x0/0x16
 [  232.404000]  [<c02311c6>] scsi_done+0x0/0x16
 [  232.404000]  [<c0242dcc>] ata_scsi_simulate+0xb0/0x13f
[...]

Signed-off-by: Jeff Garzik <jeff@garzik.org>
17 years ago[PATCH] ata_piix: use piix_host_stop() in ich_pata_ops
Tejun Heo [Mon, 11 Dec 2006 13:26:25 +0000 (22:26 +0900)]
[PATCH] ata_piix: use piix_host_stop() in ich_pata_ops

piix_init_one() allocates host private data which should be freed by
piix_host_stop().  ich_pata_ops wasn't converted to piix_host_stop()
while merging, leaking 4 bytes on driver detach.  Fix it.

This was spotted using Kmemleak by Catalin Marinas.

Signed-off-by: Tejun Heo <htejun@gmail.com>
Cc: Catalin Marinas <catalin.marinas@gmail.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
17 years ago[PATCH] ata_piix: IDE mode SATA patch for Intel ICH9
Jason Gaston [Thu, 7 Dec 2006 16:57:32 +0000 (08:57 -0800)]
[PATCH] ata_piix: IDE mode SATA patch for Intel ICH9

This updated patch adds the Intel ICH9 IDE mode SATA controller DID's.

Signed-off-by: Jason Gaston <jason.d.gaston@intel.com>
Acked-by: Tejun Heo <htejun@gmail.com>
Cc: Jeff Garzik <jeff@garzik.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
17 years agoIB/mthca: Use DEFINE_MUTEX() instead of mutex_init()
Roland Dreier [Sat, 16 Dec 2006 04:55:28 +0000 (20:55 -0800)]
IB/mthca: Use DEFINE_MUTEX() instead of mutex_init()

mthca_device_mutex() can be initialized automatically with
DEFINE_MUTEX() rather than explicitly calling mutex_init().  This
saves a bit of text and shrinks the source by a line, so we may as
well do it....

Signed-off-by: Roland Dreier <rolandd@cisco.com>
17 years agoIB/mthca: Add HCA profile module parameters
Leonid Arsh [Sun, 10 Dec 2006 11:40:17 +0000 (13:40 +0200)]
IB/mthca: Add HCA profile module parameters

Add module parameters that enable settting some of the HCA
profile values, such as the number of QPs, CQs, etc.

Signed-off-by: Leonid Arsh <leonida@voltaire.com>
Signed-off-by: Moni Shoua <monis@voltaire.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
17 years agoFix "delayed_work_pending()" macro expansion
Linus Torvalds [Fri, 15 Dec 2006 22:13:51 +0000 (14:13 -0800)]
Fix "delayed_work_pending()" macro expansion

Nobody uses it, but it was still wrong.  Using the macro argument name
'work' meant that when we used 'work' as a member name, that would also
get replaced by the macro argument.

Signed-off-by: Linus Torvalds <torvalds@osdl.org>
17 years agoIB/srp: Fix FMR mapping for 32-bit kernels and addresses above 4G
Roland Dreier [Fri, 15 Dec 2006 22:01:49 +0000 (14:01 -0800)]
IB/srp: Fix FMR mapping for 32-bit kernels and addresses above 4G

struct srp_device.fmr_page_mask was unsigned long, which means that
the top part of addresses above 4G was being chopped off on 32-bit
architectures.  Of course nothing good happens when data from SRP
targets is DMAed to the wrong place.

Fix this by changing fmr_page_mask to u64, to match the addresses
actually used by IB devices.

Thanks to Brian Cain <Brian.Cain@ge.com> and David McMillen
<davem@systemfabricworks.com> for help diagnosing the bug and testing
the fix.

Signed-off-by: Roland Dreier <rolandd@cisco.com>
17 years agoIB: Fix ib_dma_alloc_coherent() wrapper
Roland Dreier [Fri, 15 Dec 2006 21:57:26 +0000 (13:57 -0800)]
IB: Fix ib_dma_alloc_coherent() wrapper

The ib_dma_alloc_coherent() wrapper uses a u64* for the dma_handle
parameter, unlike dma_alloc_coherent, which uses dma_addr_t*.  This
means that we need a temporary variable to handle the case when
ib_dma_alloc_coherent() just falls through directly to
dma_alloc_coherent() on architectures where sizeof u64 != sizeof
dma_addr_t.

Signed-off-by: Roland Dreier <rolandd@cisco.com>
17 years agoMerge branch 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6
Linus Torvalds [Fri, 15 Dec 2006 18:22:22 +0000 (10:22 -0800)]
Merge branch 'for-linus' of git://git390.osdl.marist.edu/linux-2.6

* 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6:
  [S390] cio: css_register_subchannel race.
  [S390] Save prefix register for dump on panic
  [S390] Fix reboot hang
  [S390] Fix reboot hang on LPARs
  [S390] sclp_cpi module license.
  [S390] zcrypt: module unload fixes.
  [S390] Hipersocket multicast queue: make sure outbound handler is called
  [S390] hypfs fixes
  [S390] update default configuration

17 years agoRemove stack unwinder for now
Linus Torvalds [Fri, 15 Dec 2006 16:43:13 +0000 (08:43 -0800)]
Remove stack unwinder for now

It has caused more problems than it ever really solved, and is
apparently not getting cleaned up and fixed.  We can put it back when
it's stable and isn't likely to make warning or bug events worse.

In the meantime, enable frame pointers for more readable stack traces.

Signed-off-by: Linus Torvalds <torvalds@osdl.org>
17 years ago[S390] cio: css_register_subchannel race.
Stefan Bader [Fri, 15 Dec 2006 16:18:30 +0000 (17:18 +0100)]
[S390] cio: css_register_subchannel race.

Asynchronous probe can release memory of a subchannel before
css_get_ssd_info is called. To fix this call css_get_ssd_info
before registering with driver core.

Signed-off-by: Stefan Bader <shbader@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
17 years ago[S390] Save prefix register for dump on panic
Michael Holzheu [Fri, 15 Dec 2006 16:18:27 +0000 (17:18 +0100)]
[S390] Save prefix register for dump on panic

The dump tools expect that the saved prefix register points to the
lowcore of the dump cpu. Since we set the prefix register to 0 during
reipl/dump, we have to save the original prefix register. Before we
start the dump program, we copy the original prefix register to the
designated location in the lowcore.

Signed-off-by: Michael Holzheu <holzheu@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
17 years ago[S390] Fix reboot hang
Michael Holzheu [Fri, 15 Dec 2006 16:18:25 +0000 (17:18 +0100)]
[S390] Fix reboot hang

We use printks after shutting down all other cpus. This is not allowed
and can lead to deadlocks. Therefore the printks have to be removed.

Signed-off-by: Michael Holzheu <holzheu@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
17 years ago[S390] Fix reboot hang on LPARs
Michael Holzheu [Fri, 15 Dec 2006 16:18:22 +0000 (17:18 +0100)]
[S390] Fix reboot hang on LPARs

Reboot hangs on LPARs without diag308 support. The reason for this is,
that before the reboot is done, the channel subsystem is shut down.
During the reset on each possible subchannel a "store subchannel" is
done. This operation can end in a program check interruption, if the
specified subchannel set is not implemented by the hardware. During
the reset, currently we do not have a program check handler, which
leads to the described kernel bug. We install now a new program check
handler for the reboot code to fix this problem.

Signed-off-by: Michael Holzheu <holzheu@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
17 years ago[S390] sclp_cpi module license.
Christian Borntraeger [Fri, 15 Dec 2006 16:18:20 +0000 (17:18 +0100)]
[S390] sclp_cpi module license.

sclp_cpi is GPL. Make the module not taint the kernel

Signed-off-by: Christian Borntraeger <cborntra@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
17 years ago[S390] zcrypt: module unload fixes.
Ralph Wuerthner [Fri, 15 Dec 2006 16:18:17 +0000 (17:18 +0100)]
[S390] zcrypt: module unload fixes.

Add code to reset all queues for a domain and add missing tasklet_kill
call to ap bus module exit code.

Signed-off-by: Ralph Wuerthner <rwuerthn@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
17 years ago[S390] Hipersocket multicast queue: make sure outbound handler is called
Ursula Braun [Fri, 15 Dec 2006 16:18:14 +0000 (17:18 +0100)]
[S390] Hipersocket multicast queue: make sure outbound handler is called

A HiperSocket multicast queue works asynchronously. When sending
buffers, the buffer state change from PRIMED to EMPTY may happen
delayed. Reschedule the checking for changes in the outbound queue,
if there are still PRIMED buffers.

Signed-off-by: Ursula Braun <braunu@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
17 years ago[S390] hypfs fixes
Christian Borntraeger [Fri, 15 Dec 2006 16:18:10 +0000 (17:18 +0100)]
[S390] hypfs fixes

Correct typo to make hypfs work on systems that support only diag204
subcode 4 and fix error handling in hypfs_diag_init.

Signed-off-by: Christian Borntraeger <cborntra@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>