Eric W. Biederman [Thu, 8 Mar 2007 20:06:13 +0000 (13:06 -0700)]
[PATCH] pci: Repair pci_save/restore_state so we can restore one save many times.
Because we do not reserve space for the pci-x and pci-e state in struct
pci dev we need to dynamically allocate it. However because we need
to support restore being called multiple times after a single save
it is never safe to free the buffers we have allocated to hold the
state.
So this patch modifies the save routines to first check to see
if we have already allocated a state buffer before allocating
a new one. Then the restore routines are modified to not free
the state after restoring it. Simple and it fixes some subtle
error path handling bugs, that are hard to test for.
Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Acked-by: Auke Kok <auke-jan.h.kok@intel.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Eric W. Biederman [Thu, 8 Mar 2007 20:04:57 +0000 (13:04 -0700)]
[PATCH] msi: Safer state caching.
There are two ways pci_save_state and pci_restore_state are used. As
helper functions during suspend/resume, and as helper functions around
a hardware reset event. When used as helper functions around a hardware
reset event there is no reason to believe the calls will be paired, nor
is there a good reason to believe that if we restore the msi state from
before the reset that it will match the current msi state. Since arch
code may change the msi message without going through the driver, drivers
currently do not have enough information to even know when to call
pci_save_state to ensure they will have msi state in sync with the other
kernel irq reception data structures.
It turns out the solution is straight forward, cache the state in the
existing msi data structures (not the magic pci saved things) and
have the msi code update the cached state each time we write to the hardware.
This means we never need to read the hardware to figure out what the hardware
state should be.
By modifying the caching in this manner we get to remove our save_state
routines and only need to provide restore_state routines.
The only fields that were at all tricky to regenerate were the msi and msi-x
control registers and the way we regenerate them currently is a bit dependent
upon assumptions on how we use the allow msi registers to be configured and used
making the code a little bit brittle. If we ever change what cases we allow
or how we configure the msi bits we can address the fragility then.
Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Acked-by: Auke Kok <auke-jan.h.kok@intel.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Linus Torvalds [Mon, 12 Mar 2007 19:31:43 +0000 (12:31 -0700)]
Merge master.kernel.org:/home/rmk/linux-2.6-arm
* master.kernel.org:/home/rmk/linux-2.6-arm:
[ARM] 4263/1: fix IXP4XX_NPE[ABC]_BASE_VIRT address
[ARM] 4256/1: i.MX/MX1 SDHC fix/workaround of SD card recognition problems
[ARM] 4255/1: i.MX/MX1 Correct MPU PLL reference clock value.
[ARM] 4254/1: i.MX/MX1 CPU Frequency scaling honor boot loader set BCLK_DIV.
[ARM] 4251/1: Fix sharpsl_pm dependency
[ARM] 4250/1: Fix locomo backlight conversion error/compile failure
[ARM] 4249/1: Fix tosa compile failure
[ARM] 4248/1: lh7a40x: fix missing definitions for get_irqnr_preamble
[ARM] 4247/1: Fix long name for cc9p9360dev
ARM: OMAP: Fix OMAP2 dss2 so clk_set_parent works
ARM: OMAP: Fix missing workqueue include in board-h2.c
ARM: OMAP: Include missing header
Milan Svoboda [Mon, 12 Mar 2007 11:38:07 +0000 (12:38 +0100)]
[ARM] 4263/1: fix IXP4XX_NPE[ABC]_BASE_VIRT address
This fixs address defines for IXP4XX_NPE[ABC]_BASE_VIRT.
They are defined as (IXP4XX_PERIPHERAL_BASE_PHYS + 0x[678]000) now,
but they should be defined as (IXP4XX_PERIPHERAL_BASE_VIRT + 0x[678]000). Note PHYS vs VIRT in IXP4XX_PERIPHERAL_BASE...
Signed-off-by: Milan Svoboda <msvoboda@ra.rockwell.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Pavel Pisa [Wed, 7 Mar 2007 23:00:40 +0000 (00:00 +0100)]
[ARM] 4256/1: i.MX/MX1 SDHC fix/workaround of SD card recognition problems
The SDHC controllers cannot process shorter transfers.
They has to be handled as longer ones, but it such case CRC
error is evaluated. There was a case in the code still,
where this error is not ignored as it should to be process
these transfers.
Signed-off-by: Pavel Pisa <pisa@cmp.felk.cvut.cz>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Pavel Pisa [Wed, 7 Mar 2007 22:56:16 +0000 (23:56 +0100)]
[ARM] 4255/1: i.MX/MX1 Correct MPU PLL reference clock value.
Only System PLL clock source is selectable by CSCR_SYSTEM_SEL
bit. MPU PLL is driven by 512*CLK32 for each case.
Signed-off-by: Pavel Pisa <pisa@cmp.felk.cvut.cz>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Pavel Pisa [Wed, 7 Mar 2007 22:52:40 +0000 (23:52 +0100)]
[ARM] 4254/1: i.MX/MX1 CPU Frequency scaling honor boot loader set BCLK_DIV.
The minimal bus clock prescaler should be kept at value
selected by the board / boot loader designer.
Switching frequency above startup limit could
lead to the external memory/devices misbehave.
Signed-off-by: Pavel Pisa <pisa@cmp.felk.cvut.cz>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Linus Torvalds [Sat, 10 Mar 2007 22:22:07 +0000 (14:22 -0800)]
Revert "USB: pxa2xx_udc: fix hardcoded irq number"
This reverts commit
d2487cb4257dafb686f682285854fe7f02ca29d8.
Russell King points out that it's obviously bogus, and I have to agree.
Not only does "irq" not even exist in that scope, but we obviously need
to free the irq that we actually requested, and that's IRQ_USB.
Reported-by: Russell King <rmk@arm.linux.org.uk>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Greg KH <greg@kroah.com>
Cc: David Brownell <david-b@pacbell.net>,
Cc: Milan Svoboda <msvoboda@ra.rockwell.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Linus Torvalds [Sat, 10 Mar 2007 06:04:27 +0000 (22:04 -0800)]
Merge /pub/scm/linux/kernel/git/davem/net-2.6
* master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6:
[IPV6] fix ipv6_getsockopt_sticky copy_to_user leak
[IPV6]: Fix for ipv6_setsockopt NULL dereference
[DCCP]: Initialise write_xmit_timer also on passive sockets
[IPV4]: Fix rtm_to_ifaddr() error handling.
Linus Torvalds [Sat, 10 Mar 2007 06:00:51 +0000 (22:00 -0800)]
Merge branch 'release' of git://git./linux/kernel/git/aegl/linux-2.6
* 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6:
[IA64] refresh config files
[IA64] put kdump_find_rsvd_region in __init
[IA64] Remove sparse warning from unwind code
[IA64] add missing syscall trace clear
[IA64] Cleanup in crash.c
[IA64] kexec: declare ia64_mca_pal_base in mca.h rather than kexec.h
[IA64] pci_get_legacy_ide_irq should return irq (not GSI)
[IA64] whitespace fixes for include/asm-ia64/sal.h
[IA64] Cache error recovery
[IA64] Proper handling of TLB errors from duplicate itr.d dropins
Linus Torvalds [Sat, 10 Mar 2007 05:58:28 +0000 (21:58 -0800)]
Merge /pub/scm/linux/kernel/git/gregkh/driver-2.6
* master.kernel.org:/pub/scm/linux/kernel/git/gregkh/driver-2.6:
kobject: new_device->kref wasn't putted after error in kobject_move()
driver core: export device_rename
Remove devfs from MAINTAINERS
Driver core: add device symlink back to sysfs
Revert "driver core: refcounting fix"
Linus Torvalds [Sat, 10 Mar 2007 05:58:10 +0000 (21:58 -0800)]
Merge /pub/scm/linux/kernel/git/gregkh/pci-2.6
* master.kernel.org:/pub/scm/linux/kernel/git/gregkh/pci-2.6:
pci: fix section mismatch warning
PCI: aer: fix section mismatch warning
pcie: fix section mismatch warning
PCI: allow multiple calls to pcim_pin_device()
Linus Torvalds [Sat, 10 Mar 2007 05:57:46 +0000 (21:57 -0800)]
Merge /pub/scm/linux/kernel/git/gregkh/usb-2.6
* master.kernel.org:/pub/scm/linux/kernel/git/gregkh/usb-2.6: (23 commits)
USB Elan FTDI: check for workqueue creation
USB: fix spinlock recursion in cdc-acm.c
USB: fix Unaligned access in EHCI driver
USB: Product ID for FT232RL in ftdi_sio
USBNET: DM9501: Add Corega FEther USB-TXC support.
USB: ipaq.c: Additional devices
USB: further fix for usb-serial
USB: fix usb-serial device naming bug
USB: RTS/DTR signal patch for airprime driver
USB: ftdi_sio: use port_probe / port_remove thereby fixing access to the latency_timer
usb-serial: fix shutdown / device_unregister order
USB: add Additional PIDs in ftdi_sio
USB: add QL355P power supply ids to fdti_sio
USB: New device IDs for cp2101 driver
USB: kill dead code from hub.c
USB: ratelimit debounce error messages
USB: pxa2xx_udc: fix hardcoded irq number
UHCI: fix port resume problem
USB: set the correct interval for interrupt URBs
USB: goku_udc: Remove crude cache coherency code
...
Len Brown [Sat, 10 Mar 2007 04:19:50 +0000 (23:19 -0500)]
Pull misc-for-upstream into release branch
Len Brown [Sat, 10 Mar 2007 04:19:25 +0000 (23:19 -0500)]
Pull bugzilla-8110 into release branch
Len Brown [Sat, 10 Mar 2007 04:19:19 +0000 (23:19 -0500)]
Pull bugzilla-8066 into release branch
Len Brown [Sat, 10 Mar 2007 04:18:53 +0000 (23:18 -0500)]
Pull bugzilla-7907 into release branch
Len Brown [Sat, 10 Mar 2007 04:18:46 +0000 (23:18 -0500)]
Pull bugzilla-7570 into release branch
Len Brown [Sat, 10 Mar 2007 04:18:35 +0000 (23:18 -0500)]
Pull bugzilla-6859 into release branch
Len Brown [Sat, 10 Mar 2007 04:18:22 +0000 (23:18 -0500)]
Pull bugzilla-6316 into release branch
Len Brown [Sat, 10 Mar 2007 04:18:05 +0000 (23:18 -0500)]
Pull bugzilla-5966 into release branch
Len Brown [Sat, 10 Mar 2007 04:17:46 +0000 (23:17 -0500)]
Pull ibm into release branch
Len Brown [Sat, 10 Mar 2007 04:17:39 +0000 (23:17 -0500)]
Pull altix into release branch
Alexey Starikovskiy [Wed, 7 Mar 2007 23:29:35 +0000 (18:29 -0500)]
ACPI: ec: fix race in status register access
Delay the read of the EC status register until
after the event that caused it occurs -- otherwise
it is possible to read and act on stale status that was
associated with the previous event.
Do this with a perpetually incrementing "event_count" to detect
when a new event occurs and it is safe to read status.
There is no workaround for polling mode -- it is inherently
exposed to reading and acting on stale status, since it
doesn't have an interrupt to tell it the event completed.
http://bugzilla.kernel.org/show_bug.cgi?id=8110
Signed-off-by: Alexey Starikovskiy <alexey.y.starikovskiy@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
Cyrill Gorcunov [Tue, 6 Mar 2007 10:47:44 +0000 (02:47 -0800)]
USB Elan FTDI: check for workqueue creation
Avoid NULL pointer usage if workqueue creation failed.
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
Cc: Pete Zaitcev <zaitcev@redhat.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Oliver Neukum [Tue, 6 Mar 2007 09:47:04 +0000 (10:47 +0100)]
USB: fix spinlock recursion in cdc-acm.c
this fixes the spinlock recursion issue. The older fix was incomplete.
Signed-off-by: Oliver Neukum <oneukum@suse.de>
Acked-by: Pete Zaitcev <zaitcev@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Max Dmitrichenko [Mon, 5 Mar 2007 23:45:01 +0000 (02:45 +0300)]
USB: fix Unaligned access in EHCI driver
I get following warnings on spar64:
Kernel unaligned access at TPC[
1000c9e4] ehci_hub_control+0x54c/0x68c [ehci_hcd]
Despite of the comment in the patched code, the type cast used there
does make unaligned access. The fix was made as it's done in
ohci-hub.c.
Signed-off-by: Max Dmitrichenko <dmitrmax@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Gard Spreemann [Sun, 4 Mar 2007 23:03:26 +0000 (00:03 +0100)]
USB: Product ID for FT232RL in ftdi_sio
Here is a patch adding the PID for the FT232RL to ftdi_sio. The patch
generates a warning during compilation because get_ftdi_divisor doesn't
explicitly handle the FT232RL with this patch, so I guess you don't want
to use it in its current state. It is all I could come up with with the
knowledge I have of the drivers at the moment, though, and I hope you
can have some use for it at least. It works fine with my DLP-TILT with
an FT232RL.
From: Gard Spreemann <spreeman@stud.ntnu.no>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
YOSHIFUJI Hideaki [Sat, 3 Mar 2007 01:33:55 +0000 (20:33 -0500)]
USBNET: DM9501: Add Corega FEther USB-TXC support.
Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
Cc: Jeff Garzik <jeff@garzik.org>
Cc: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Andre Spahlinger [Mon, 5 Mar 2007 18:09:35 +0000 (19:09 +0100)]
USB: ipaq.c: Additional devices
Additional devices
Signed-off-by: Andre Spahlinger <uenz@gmx.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Oliver Neukum [Mon, 5 Mar 2007 14:23:51 +0000 (15:23 +0100)]
USB: further fix for usb-serial
this is a fix for the outstanding usb-serial issues.
Signed-off-by: Oliver Neukum <oneukum@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Oliver Neukum [Mon, 26 Feb 2007 14:43:00 +0000 (15:43 +0100)]
USB: fix usb-serial device naming bug
Am Montag, 26. Februar 2007 15:16 schrieb Craig Schlenter:
> Hi Greg
>
>
34ef50e5b1f96c2d8c0f3d28b7d407743806256c is definitely
> the source of the problem. Reverting that makes the
> ftdi port show up as ttyUSB0 again for me and it
> can actually be opened.
This patch should fix the issue.
Signed-off-by: Oliver Neukum <oneukum@suse.de>
Signed-off-by: Craig Schlenter <craig@codefountain.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Martin Schiller [Thu, 1 Mar 2007 12:49:48 +0000 (13:49 +0100)]
USB: RTS/DTR signal patch for airprime driver
I encountered some problems with the airprime driver in use with a Novatel
Merlin XU870:
Closing an open Connection to e.g. /dev/ttyUSB0 doesn't reset the
RTS/DTR lines of the Modem. Consequently, when I use minicom to
establish a connection by "ATD*99#" the modem doesn't hang up even if i
exit minicom and so I cannot reuse the modem unless I remove it and plug
it in again.
With the attached patch, the RTS/DTR lines are resetted on a close. The
code was mainly taken from the option.c driver.
Jim Radford [Wed, 28 Feb 2007 18:10:50 +0000 (10:10 -0800)]
USB: ftdi_sio: use port_probe / port_remove thereby fixing access to the latency_timer
Convert all the port specific code in attach / shutdown to use the new
port_probe / port_register callbacks from device_register /
device_unregister allowing adding the sysfs attributes to be added at
the correct time and to the serial port device itself, instead of to
the unadorned usb device, avoiding a NULL dereference.
Signed-off-by: Jim Radford <radford@blackbean.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Jim Radford [Wed, 28 Feb 2007 16:14:13 +0000 (08:14 -0800)]
usb-serial: fix shutdown / device_unregister order
Ensure that the ->port_remove() callbacks get called before the
->shutdown() callback which makeing the order symmetric with
->attach() being called before ->port_probe().
Signed-off-by: Jim Radford <radford@blackbean.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Thomas Schleusener [Wed, 28 Feb 2007 21:50:52 +0000 (22:50 +0100)]
USB: add Additional PIDs in ftdi_sio
I've developed some devices with FTDI chips (FT232xx). FTDI was so kind
to give some own PID's which I can use together with their VID. Some of
the devices are already very popular here and I have customers from
universities, institutes .....
I use the FTDI VID 0x0403. My PID's are:
0xff38 - IBS US485 (USB<-->RS422/485 interface)
0xff39 - IBS PIC-Programmer
0xff3a - IBS Card reader for PCMCIA SRAM-cards
0xff3b - IBS PK1 - Particel counter
0xff3c - IBS RS232 - Monitor
0xff3d - APP 70 (dust monitoring system)
0xff3e - IBS PEDO-Modem (RF modem 868.35 MHz)
0xff3f - future device
The company is "IBS Ing.-Buero Schleusener".
From: Thomas Schleusener <thomas@be-schl.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Michael Olberg [Tue, 27 Feb 2007 11:57:12 +0000 (12:57 +0100)]
USB: add QL355P power supply ids to fdti_sio
Jon K Hellan [Wed, 28 Feb 2007 22:04:33 +0000 (23:04 +0100)]
USB: New device IDs for cp2101 driver
Here are two new device IDs for the cp2101 driver.
The diff is with linus's tree as of this evending.
From: Jon K Hellan <hellan@acm.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Oliver Neukum [Thu, 1 Mar 2007 21:31:24 +0000 (22:31 +0100)]
USB: kill dead code from hub.c
this kills residual obsoletet code from hub.c
Signed-off-by: Oliver Neukum <oneukum@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Oliver Neukum [Tue, 27 Feb 2007 09:25:00 +0000 (10:25 +0100)]
USB: ratelimit debounce error messages
flaky hardware can cause a lot of debounce failed messages. To limit
the performance impact, a ratelimit should be used.
Signed-off-by: Oliver Neukum <oneukum@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Milan Svoboda [Tue, 27 Feb 2007 09:20:09 +0000 (09:20 +0000)]
USB: pxa2xx_udc: fix hardcoded irq number
This patch changes last use of hardcoded number of irq to
use platfrom_get_irq.
Signed-off-by: Milan Svoboda <msvoboda@ra.rockwell.com>
Acked-by: David Brownell <david-b@pacbell.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Alan Stern [Mon, 26 Feb 2007 22:16:06 +0000 (17:16 -0500)]
UHCI: fix port resume problem
This patch (as863) fixes a problem encountered sometimes when resuming
a port on a UHCI controller. The hardware may turn off the
Resume-Detect bit before turning off the Suspend bit, leading usbcore
to think that the port is still suspended and the resume has failed.
The patch makes uhci_finish_suspend() wait until both bits are safely
off.
Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Alan Stern [Mon, 26 Feb 2007 19:56:14 +0000 (14:56 -0500)]
USB: set the correct interval for interrupt URBs
This patch (as862) fixes a couple of bugs in the way usbcore handles
intervals for interrupt URBs. usb_interrupt_msg (and usb_bulk_msg for
backward compatibility) don't set the interval correctly for
high-speed devices. proc_do_submiturb() doesn't set it correctly when
a bulk URB is submitted to an interrupt endpoint.
Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Ralf Baechle [Mon, 26 Feb 2007 18:10:15 +0000 (18:10 +0000)]
USB: goku_udc: Remove crude cache coherency code
This is deep architecture specific magic and does should not to exist
in a driver.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Cc: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Andrew Nayenko [Sun, 25 Feb 2007 08:40:20 +0000 (00:40 -0800)]
USB storage: Nokia 6288 unusual_devs entry
This patch adds an usual_devs entry for the Nokia 6288. Originally from
Andrew with a re-diff by Phil.
From: Andrew Nayenko <relan@bk.ru>
Signed-off-by: Phil Dibowitz <phil@ipom.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Phil Dibowitz [Sun, 25 Feb 2007 03:23:41 +0000 (19:23 -0800)]
USB storage: Removed duplicate supertop unusual_dev entry
This patch removes the duplicate supertop entries that made it into the
.21 rc kernels.
Signed-off-by: Phil Dibowitz <phil@ipom.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
David Brownell [Sat, 24 Feb 2007 21:54:56 +0000 (13:54 -0800)]
USB: at91_udc, fix more modpost bogosity (rename driver struct)
Rename the driver struct used with at91_udc to prevent yet another
bogus warning from "modpost".
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Robert P. J. Day [Sun, 4 Mar 2007 18:17:43 +0000 (13:17 -0500)]
ACPI: Kconfig: hide ACPI menu when CONFIG_PM=n
Signed-off-by: Robert P. J. Day <rpjday@mindspring.com>
Signed-off-by: Len Brown <len.brown@intel.com>
Julius Volz [Tue, 20 Feb 2007 15:38:40 +0000 (16:38 +0100)]
ACPI: video: Fix spelling and grammar mistakes
Correct some of the most obvious spelling and grammar
mistakes in drivers/acpi/video.c (comments and printk output).
Signed-off-by: Julius Volz <juliusrv@gmail.com>
Signed-off-by: Len Brown <len.brown@intel.com>
Anthony Godshall, Ampro Computers, Inc [Sat, 10 Mar 2007 02:19:05 +0000 (21:19 -0500)]
ACPI: make blacklist more verbose
IMHO, ACPI disabled due to DMI failure or blacklisted year should be noted,
as is done with other ACPI blacklisting.
This will help people troubleshoot when ACPI isn't working. Status quo is
a mysterious "ACPI Disabled" message without explanation on BIOS that
implements ACPI but not DMI. This is actually fairly common on embedded
x86 boards.
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Len Brown <len.brown@intel.com>
Adrian Bunk [Tue, 20 Feb 2007 00:07:25 +0000 (01:07 +0100)]
asus-laptop: make code static
This patch makes some needlessly global code static.
Signed-off-by: Adrian Bunk <bunk@stusta.de>
Cc: Corentin Chary <corentincj@iksaif.net>
Signed-off-by: Len Brown <len.brown@intel.com>
Chris Wright [Sat, 10 Mar 2007 00:19:17 +0000 (16:19 -0800)]
[IPV6] fix ipv6_getsockopt_sticky copy_to_user leak
User supplied len < 0 can cause leak of kernel memory.
Use unsigned compare instead.
Signed-off-by: Chris Wright <chrisw@sous-sol.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Sam Ravnborg [Fri, 2 Mar 2007 22:59:04 +0000 (23:59 +0100)]
pci: fix section mismatch warning
drivers/pci/search.c caused following section mismatch warning
(if compiled with CONFIG_HOTPLUG=n):
WARNING: drivers/pci/built-in.o - Section mismatch: reference to .init.text: from .text.pci_find_bus after 'pci_find_bus' (at offset 0x24)
This was due to pci_find_bus() calling a function marked __devinit.
Fix was to remove the __devinit from the offending function.
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Sam Ravnborg [Tue, 27 Feb 2007 09:22:00 +0000 (10:22 +0100)]
PCI: aer: fix section mismatch warning
Fix following section mismatch warning (when compiled with CONFIG_HOTPLUG=n):
WARNING: drivers/pci/built-in.o - Section mismatch: reference to .init.text:aer_probe from .data between 'aerdrv' (at offset 0x1608) and 'aer_error_handlers'
Warning was fixed by renaming aerdrv to aerdriver so we pass the whitelist.
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Sam Ravnborg [Tue, 27 Feb 2007 09:19:17 +0000 (10:19 +0100)]
pcie: fix section mismatch warning
Fix following section mismatch warning (when compiled with CONFIG_HOTPLUG=n):
WARNING: drivers/pci/built-in.o - Section mismatch: reference to .init.text:pcie_portdrv_probe from .data between 'pcie_portdrv' (at offset 0xe40) and 'pcie_portdrv_err_handler'
This warning was fixed by renaming pcie_portdrv to pcie_portdriver so we pass
the whitelist.
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Tejun Heo [Sun, 25 Feb 2007 12:36:01 +0000 (04:36 -0800)]
PCI: allow multiple calls to pcim_pin_device()
Sanity check in pcim_pin_device() was too restrictive in that it didn't
allow multiple calls to the function, which is against the devres
philosohpy of fire-and-forget. Track pinned status separately and allow
pinning multiple times.
Signed-off-by: Tejun Heo <htejun@gmail.com>
Acked-by: Ian McDonald <ian.mcdonald@jandi.co.nz>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Dmitriy Monakhov [Sat, 3 Mar 2007 13:11:21 +0000 (16:11 +0300)]
kobject: new_device->kref wasn't putted after error in kobject_move()
If error happen we jump to "out" label, in this case new_device not yet
became the parent but it wasn't putted.
Signed-off-by: Monakhov Dmitriy <dmonakhov@openvz.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Johannes Berg [Wed, 28 Feb 2007 11:38:31 +0000 (12:38 +0100)]
driver core: export device_rename
In wireless we'd like to allow renaming of the phy devices we surface in
sysfs. The base wireless code, however, can be built modular and thus we
need device_rename exported.
Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Jörn Engel [Tue, 27 Feb 2007 21:38:30 +0000 (21:38 +0000)]
Remove devfs from MAINTAINERS
Remove last remaining trace of devfs.
Signed-off-by: Jörn Engel <joern@wohnheim.fh-wedel.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Greg Kroah-Hartman [Tue, 6 Mar 2007 20:55:53 +0000 (12:55 -0800)]
Driver core: add device symlink back to sysfs
This moves the device symlink back to sysfs even if
CONFIG_SYSFS_DEPRECATED is enabled as too many userspace programs (well,
HAL), still rely on this link to be present.
I will rework the ability for sysfs to change layouts like this in the
future, but for now, this patch should fix people's network connections.
Cc: Kay Sievers <kay.sievers@vrfy.org>
Cc: Matt Mackall <mpm@selenic.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Greg Kroah-Hartman [Fri, 9 Mar 2007 23:25:04 +0000 (15:25 -0800)]
Revert "driver core: refcounting fix"
This reverts commit
63ce18cfe685115ff8d341bae4c9204a79043cf0.
It was the incorrect fix and causes a reference counting bug whenever
any driver module is removed from the system. Mike Galbraith
<efault@gmx.de> is looking for the real fix for his problem.
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Kristen Accardi [Fri, 9 Mar 2007 23:15:33 +0000 (18:15 -0500)]
libata-acpi: allow _GTF on SATA, but disable on PATA for now
The ACPI specification states, and BIOS implementations depend on,
_STM being called before _GTF.
SATA does this, but PATA does not. So for now, simply
prevent execution of _GTF on PATA devices. Longer term we
should implement ACPI support for PATA devices in libata.
Signed-off-by: Kristen Accardi <kristen.c.accardi@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
Linus Torvalds [Fri, 9 Mar 2007 22:22:35 +0000 (14:22 -0800)]
Merge branch 'merge' of /linux/kernel/git/paulus/powerpc
* 'merge' of master.kernel.org:/pub/scm/linux/kernel/git/paulus/powerpc:
[POWERPC] 85xx: Enable CONFIG_SERIAL_8250_SHARE_IRQ
[POWERPC] Select u-image as default image for Linkstation
[POWERPC] 83xx: Minor fixes for 834x_mds USB setup code
[POWERPC] Fix warning in powermac pci.c
[POWERPC] Fix warning in powermac feature.c
[POWERPC] Fix warning in prom_parse.c of_irq_map_oldworld()
[POWERPC] Celleb: bug fix caused by not casting pointer types
[POWERPC] Add missing newline in xmon help output
[POWERPC] No DEEPNAP on 970MP 1.0
Olaf Kirch [Fri, 9 Mar 2007 21:55:38 +0000 (13:55 -0800)]
[IPV6]: Fix for ipv6_setsockopt NULL dereference
I came across this bug in http://bugzilla.kernel.org/show_bug.cgi?id=8155
Signed-off-by: Olaf Kirch <olaf.kirch@oracle.com>
Acked-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Gerrit Renker [Fri, 9 Mar 2007 21:47:58 +0000 (13:47 -0800)]
[DCCP]: Initialise write_xmit_timer also on passive sockets
The TX CCID needs the write_xmit_timer for delaying packet sends. Previously
this timer was only activated on active (connecting) sockets.
This patch initialises the write_xmit_timer in sync with the other timers, i.e.
the timer will be ready on any socket. This is used by applications with a
listening socket which start to stream after receiving an initiation by the
client. The write_xmit_timer is stopped when the application closes, as before.
Was tested to work and to remove the timer bug reported on dccp@vger.
Also moved timer initialisation into timer.c (static).
Signed-off-by: Gerrit Renker <gerrit@erg.abdn.ac.uk>
Acked-by: Ian McDonald <ian.mcdonald@jandi.co.nz>
Signed-off-by: David S. Miller <davem@davemloft.net>
Evgeniy Polyakov [Fri, 9 Mar 2007 21:43:24 +0000 (13:43 -0800)]
[IPV4]: Fix rtm_to_ifaddr() error handling.
Return negative error value (embedded in the pointer) instead of
returning NULL.
Signed-off-by: Evgeniy Polyakov <johnpol@2ka.mipt.ru>
Signed-off-by: David S. Miller <davem@davemloft.net>
Ralf Baechle [Fri, 9 Mar 2007 15:59:56 +0000 (15:59 +0000)]
[MIPS] Sibyte: Fix ZBbus profiler
o Fix build error.
o Handle error returns.
o Deal with signals received while sleeping.
o Don't allow to be selected when we're not building the directory with
the driver anyway.
o Coding style cleanups.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Ralf Baechle [Fri, 9 Mar 2007 12:17:32 +0000 (12:17 +0000)]
[MIPS] Sibyte: Do not allow enabling LDT support if PCI is disabled.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Linus Torvalds [Fri, 9 Mar 2007 18:38:09 +0000 (10:38 -0800)]
Merge branch 'upstream' of git://ftp.linux-mips.org/upstream-linus
* 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus:
[MIPS] DEC: Remove call to register_prom_console.
Linus Torvalds [Fri, 9 Mar 2007 18:34:55 +0000 (10:34 -0800)]
Merge git://git.infradead.org/mtd-2.6
* git://git.infradead.org/mtd-2.6:
[JFFS2] print a message when marking bad block
[JFFS2] Check for all-zero node headers
[MTD] [OneNAND] Classify the page data and oob buffer
[MTD] [OneNAND] Exit the loop when transferring/filling of the oob is finished
[MTD] [OneNAND] add Nokia Copyright and a credit
[MTD] [OneNAND] Fix typo & wrong comments
[MTD] [OneNAND] Use oob buffer instead of main one in oob functions
[MTD] Correct partition failed erase address
[JFFS2] Use yield() between GC passes in background thread.
[MTD] [NAND] Correct misspelled preprocessor variable.
[MTD] [MAPS] dilnetpc: Fix printk warning
[MTD] [NOR] Fix oops in cfi_amdstd_sync
[MTD] ESB2 check for closed ROM window
[JFFS2] Fix writebuffer recovery in the first page of a block
[MTD] [NAND] make oobavail public
Linus Torvalds [Fri, 9 Mar 2007 18:12:46 +0000 (10:12 -0800)]
Merge branch 'upstream-linus' of /linux/kernel/git/jgarzik/netdev-2.6
* 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6:
ibmtr: Drain rich supply of modpost warnings.
3c59x: Fix several modpost warnings
z85230: Fix FIFO handling
r8169: fix a race between PCI probe and dev_open
r8169: revert bogus BMCR reset
sky2: turn off Rx checksum on bad hardware
mv643xx: Clear pending interrupts before calling request_irq
myri10ge: add a wc_enabled flag to myri10ge_priv
myri10ge: prevent 4k rdma on SGI TIOCE chipset
myri10ge: use pci_map_page to prepare the dmatest buffer
myri10ge: fix error checking and return value in myri10ge_allocate_rings
netxen: fix warnings
via-rhine: set avoid_D3 for broken BIOSes
[PATCH] bcm43xx: Fix assertion failures in interrupt handler
[PATCH] bcm43xx: Fix bug in frequency to channel conversion
[PATCH] bcm43xx: Fix errors in specs to code translation in B6PHY init
Jeff Garzik [Fri, 9 Mar 2007 16:58:11 +0000 (11:58 -0500)]
Merge branch 'upstream-fixes' of git://git./linux/kernel/git/linville/wireless-2.6 into upstream-fixes
Ralf Baechle [Thu, 8 Mar 2007 12:53:07 +0000 (12:53 +0000)]
ibmtr: Drain rich supply of modpost warnings.
Building ibmtr as a module produces a spectacular pile of modpost warnings:
WARNING: drivers/net/tokenring/ibmtr.o - Section mismatch: reference to .init.text:ibmtr_probe1 from .text between 'ibmtr_probe_card' (at offset 0x450) and 'ibmtr_reset_timer'
WARNING: drivers/net/tokenring/ibmtr.o - Section mismatch: reference to .init.text:ibmtr_probe1 from .text between 'ibmtr_probe_card' (at offset 0x454) and 'ibmtr_reset_timer'
WARNING: drivers/net/tokenring/ibmtr.o - Section mismatch: reference to .init.text:ibmtr_probe1 from .text between 'ibmtr_probe_card' (at offset 0x458) and 'ibmtr_reset_timer'
WARNING: drivers/net/tokenring/ibmtr.o - Section mismatch: reference to .init.text:ibmtr_probe1 from .text between 'ibmtr_probe_card' (at offset 0x45c) and 'ibmtr_reset_timer'
WARNING: drivers/net/tokenring/ibmtr.o - Section mismatch: reference to .init.data:ibmtr_portlist from .text between 'ibmtr_probe_card' (at offset 0x4e8) and 'ibmtr_reset_timer'
WARNING: drivers/net/tokenring/ibmtr.o - Section mismatch: reference to .init.data:ibmtr_portlist from .text between 'ibmtr_probe_card' (at offset 0x4ec) and 'ibmtr_reset_timer'
WARNING: drivers/net/tokenring/ibmtr.o - Section mismatch: reference to .init.data:ibmtr_portlist from .text between 'ibmtr_probe_card' (at offset 0x4f0) and 'ibmtr_reset_timer'
WARNING: drivers/net/tokenring/ibmtr.o - Section mismatch: reference to .init.data:ibmtr_portlist from .text between 'ibmtr_probe_card' (at offset 0x4f4) and 'ibmtr_reset_timer'
WARNING: drivers/net/tokenring/ibmtr.o - Section mismatch: reference to .init.text:find_turbo_adapters from .text between 'ibmtr_probe_card' (at offset 0x500) and 'ibmtr_reset_timer'
WARNING: drivers/net/tokenring/ibmtr.o - Section mismatch: reference to .init.text:find_turbo_adapters from .text between 'ibmtr_probe_card' (at offset 0x504) and 'ibmtr_reset_timer'
WARNING: drivers/net/tokenring/ibmtr.o - Section mismatch: reference to .init.text:find_turbo_adapters from .text between 'ibmtr_probe_card' (at offset 0x508) and 'ibmtr_reset_timer'
WARNING: drivers/net/tokenring/ibmtr.o - Section mismatch: reference to .init.text:find_turbo_adapters from .text between 'ibmtr_probe_card' (at offset 0x50c) and 'ibmtr_reset_timer'
WARNING: drivers/net/tokenring/ibmtr.o - Section mismatch: reference to .init.data:ibmtr_portlist from .text between 'ibmtr_probe_card' (at offset 0x520) and 'ibmtr_reset_timer'
WARNING: drivers/net/tokenring/ibmtr.o - Section mismatch: reference to .init.data:ibmtr_portlist from .text between 'ibmtr_probe_card' (at offset 0x524) and 'ibmtr_reset_timer'
WARNING: drivers/net/tokenring/ibmtr.o - Section mismatch: reference to .init.data:ibmtr_portlist from .text between 'ibmtr_probe_card' (at offset 0x528) and 'ibmtr_reset_timer'
WARNING: drivers/net/tokenring/ibmtr.o - Section mismatch: reference to .init.data:ibmtr_portlist from .text between 'ibmtr_probe_card' (at offset 0x534) and 'ibmtr_reset_timer'
WARNING: drivers/net/tokenring/ibmtr.o - Section mismatch: reference to .init.data: from .text between 'ibmtr_probe_card' (at offset 0x540) and 'ibmtr_reset_timer'
WARNING: drivers/net/tokenring/ibmtr.o - Section mismatch: reference to .init.data: from .text between 'ibmtr_probe_card' (at offset 0x544) and 'ibmtr_reset_timer'
WARNING: drivers/net/tokenring/ibmtr.o - Section mismatch: reference to .init.data: from .text between 'ibmtr_probe_card' (at offset 0x548) and 'ibmtr_reset_timer'
WARNING: drivers/net/tokenring/ibmtr.o - Section mismatch: reference to .init.data: from .text between 'ibmtr_probe_card' (at offset 0x54c) and 'ibmtr_reset_timer'
WARNING: drivers/net/tokenring/ibmtr.o - Section mismatch: reference to .init.text:ibmtr_probe1 from .text between 'ibmtr_probe_card' (at offset 0x558) and 'ibmtr_reset_timer'
WARNING: drivers/net/tokenring/ibmtr.o - Section mismatch: reference to .init.text:ibmtr_probe1 from .text between 'ibmtr_probe_card' (at offset 0x55c) and 'ibmtr_reset_timer'
WARNING: drivers/net/tokenring/ibmtr.o - Section mismatch: reference to .init.text:ibmtr_probe1 from .text between 'ibmtr_probe_card' (at offset 0x560) and 'ibmtr_reset_timer'
WARNING: drivers/net/tokenring/ibmtr.o - Section mismatch: reference to .init.text:ibmtr_probe1 from .text between 'ibmtr_probe_card' (at offset 0x564) and 'ibmtr_reset_timer'
Fix by making ibmtr_probe an __init function.
While at it, move move ibmtr_probe_card below ibmtr_probe so the protoype
for ibmtr_probe can be deleted.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
drivers/net/tokenring/ibmtr.c | 25 ++++++++++++-------------
1 file changed, 12 insertions(+), 13 deletions(-)
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Ralf Baechle [Thu, 8 Mar 2007 15:33:16 +0000 (15:33 +0000)]
3c59x: Fix several modpost warnings
WARNING: drivers/net/3c59x.o - Section mismatch: reference to .init.text: from .text between 'vortex_eisa_probe' (at offset 0x4580) and 'vortex_eisa_remove'
WARNING: drivers/net/3c59x.o - Section mismatch: reference to .init.text: from .text between 'vortex_eisa_probe' (at offset 0x4584) and 'vortex_eisa_remove'
WARNING: drivers/net/3c59x.o - Section mismatch: reference to .init.text: from .text between 'vortex_eisa_probe' (at offset 0x4588) and 'vortex_eisa_remove'
WARNING: drivers/net/3c59x.o - Section mismatch: reference to .init.text: from .text between 'vortex_eisa_probe' (at offset 0x458c) and 'vortex_eisa_remove'
Fixed by:
o move definition of vortex_eisa_driver below the functions it references.
o remove now unnecessary prototypes for vortex_eisa_probe and
vortex_eisa_remove.
o Make vortex_eisa_probe an __init function.
o Make vortex_eisa_remove a __devexit function.
o Wrap vortex_eisa_driver reference to vortex_eisa_remove with
__devexit_p().
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
drivers/net/3c59x.c | 28 +++++++++++++---------------
1 file changed, 13 insertions(+), 15 deletions(-)
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Alan Cox [Wed, 7 Mar 2007 16:37:38 +0000 (16:37 +0000)]
z85230: Fix FIFO handling
We must exit immediately on a FIFO fill not take the end of packet path
otherwise each underrun in PIO transmit mode causes a runt packet and the
data is lost.
Signed-off-by: Alan Cox <alan@redhat.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Francois Romieu [Thu, 8 Mar 2007 23:00:05 +0000 (00:00 +0100)]
r8169: fix a race between PCI probe and dev_open
Initialize the timer with the rest of the private-struct.
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Francois Romieu [Thu, 8 Mar 2007 22:59:54 +0000 (23:59 +0100)]
r8169: revert bogus BMCR reset
Added during
bf793295e1090af84972750898bf8470df5e5419
The current code requests a reset but prohibits autoneg, 1000 Mb/s,
100 Mb/s and full duplex. The 8168 does not like it at all.
Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Stephen Hemminger [Thu, 8 Mar 2007 20:42:30 +0000 (12:42 -0800)]
sky2: turn off Rx checksum on bad hardware
On Yukon FE, occasional hardware receive checksum errors are seen.
An early indication of the problem is single bit differences in the two
checksum engines. Use this as a detection mechanism to turn off Rx
checksumming.
Signed-off-by: Stephen Hemminger <shemminger@linux-foundation.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Dale Farnsworth [Thu, 8 Mar 2007 05:21:23 +0000 (22:21 -0700)]
mv643xx: Clear pending interrupts before calling request_irq
Signed-off-by: Dale Farnsworth <dale@farnsworth.org>
Acked-by: Giridhar Pemmasani <pgiri@yahoo.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Brice Goglin [Wed, 7 Mar 2007 19:02:32 +0000 (20:02 +0100)]
myri10ge: add a wc_enabled flag to myri10ge_priv
Add a wc_enabled flag in the myri10ge_priv instead of relying
on mtrr >= 0.
Signed-off-by: Brice Goglin <brice@myri.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Brice Goglin [Wed, 7 Mar 2007 19:01:53 +0000 (20:01 +0100)]
myri10ge: prevent 4k rdma on SGI TIOCE chipset
Do not use 4k rdma request on SGI TIOCE chipset since this
bridge does not support it.
Signed-off-by: Brice Goglin <brice@myri.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Brice Goglin [Wed, 7 Mar 2007 19:00:45 +0000 (20:00 +0100)]
myri10ge: use pci_map_page to prepare the dmatest buffer
Allocate a specific page and use pci_map_page for dma test instead
of relying on another existing buffer.
Signed-off-by: Brice Goglin <brice@myri.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Brice Goglin [Wed, 7 Mar 2007 18:59:52 +0000 (19:59 +0100)]
myri10ge: fix error checking and return value in myri10ge_allocate_rings
Fix a missing error check in myri10ge_allocate_rings() and set status
to -ENOMEM before all actual allocations so that the error path returns
what it should.
Signed-off-by: Brice Goglin <brice@myri.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Ralf Baechle [Tue, 6 Mar 2007 20:35:37 +0000 (20:35 +0000)]
netxen: fix warnings
CC [M] drivers/net/netxen/netxen_nic_hw.o
drivers/net/netxen/netxen_nic_hw.c: In function 'netxen_nic_hw_resources':
drivers/net/netxen/netxen_nic_hw.c:231: warning: format '%llx' expects type 'long long unsigned int', but argument 2 has type 'dma_addr_t'
drivers/net/netxen/netxen_nic_hw.c:250: warning: format '%llx' expects type 'long long unsigned int', but argument 2 has type 'dma_addr_t'
u64 is unsigned long so the cast to u64 will result in a warning on the
printf arguments for 64-bit builds. So cast to unsigned long long instead.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Roger Luethi [Tue, 6 Mar 2007 18:57:37 +0000 (19:57 +0100)]
via-rhine: set avoid_D3 for broken BIOSes
This patch sets avoid_D3 for BIOSes known to be broken. Said BIOSes fail
at PXE boot if the chip is in power state D3.
Signed-off-by: Roger Luethi <rl@hellgate.ch>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Tejun Heo [Fri, 9 Mar 2007 10:34:19 +0000 (19:34 +0900)]
devres: release resources on device_del()
Some platform devices are driven without driver attached, so managed
resources can be acquired without driver attached. Make sure such
resources are released by calling devres_release_all() in
device_del().
Signed-off-by: Tejun Heo <htejun@gmail.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Tejun Heo [Fri, 9 Mar 2007 10:36:12 +0000 (19:36 +0900)]
libata: fix ata_host_release() free order
host->ops->host_stop() might access ports. Free ports after
host_stop.
Signed-off-by: Tejun Heo <htejun@gmail.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Robert Hancock [Fri, 9 Mar 2007 00:02:18 +0000 (18:02 -0600)]
sata_nv: revert use of notifiers for now
Commit
721449bf0d51213fe3abf0ac3e3561ef9ea7827a added support for using the
ADMA notifier bits to determine which commands to check for completion.
However there have been reports that this causes command timeouts in certain
cases. This is still being investigated. In addition, apparently the notifiers
won't work if ADMA is disabled on the other port as a result of an ATAPI device
being connected, and we don't handle this case properly.
For now, just restore the previous behavior of checking all active commands
to see if they are complete, without relying on the notifiers.
Signed-off-by: Robert Hancock <hancockr@shaw.ca>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Petr Vandrovec [Thu, 8 Mar 2007 09:12:12 +0000 (10:12 +0100)]
Fix simplex adapters with libata
Recently I got my hands on nVidia's MCP61 PM-AM board, and
it contains IDE chip configured by BIOS with only primary
channel enabled. This confuses code which probes for
device DMA capabilities - it gets 0x60 (happy duplex
device) from primary channel BMDMA, but 0xFF (nobody here)
from secondary channel BMDMA. Due to this code then believes
that chip is simplex. I do not address this problem in
my patch, as I'm not sure how to handle this. Probably
ata_pci_init_one should have bitmap of enabled/possible
interfaces instead of their count, but it looks like
quite intrusive change, and maybe we do not care - for device
with only one channel simplex and regular DMA engines are
same.
But making device simplex pointed out that support for
DMA on simplex devices is currently broken - ata_dev_xfermask
tests whether device is simplex and if it is whether DMA
engine was assigned to this port. If not then it strips
out DMA bits from device. Problem is that code which assigns
DMA engine to port in ata_set_mode first detect device
mode and assigns DMA engine to channel only if some DMA
capable device was found.
And as xfermask stripped out DMA bits, host->simplex_claimed
is always NULL with current implementation.
By allowing DMA either if simplex_claimed is NULL or if it
points to current port DMA can be finally used - it gets
assigned to first port which contains any DMA capable
device.
Before:
pata_amd 0000:00:06.0: version 0.2.8
PCI: Setting latency timer of device 0000:00:06.0 to 64
ata5: PATA max UDMA/133 cmd 0x000101f0 ctl 0x000103f6 bmdma 0x0001f000 irq 14
ata6: PATA max UDMA/133 cmd 0x00010170 ctl 0x00010376 bmdma 0x0001f008 irq 15
scsi4 : pata_amd
ata5.00: ATAPI, max UDMA/66
ata5.00: simplex DMA is claimed by other device, disabling DMA
ata5.00: configured for PIO4
scsi5 : pata_amd
ata6: port disabled. ignoring.
ata6: reset failed, giving up
scsi 4:0:0:0: CD-ROM ATAPI DVD W DH16W1P LG12 PQ: 0 ANSI: 5
After:
pata_amd 0000:00:06.0: version 0.2.8
PCI: Setting latency timer of device 0000:00:06.0 to 64
ata5: PATA max UDMA/133 cmd 0x000101f0 ctl 0x000103f6 bmdma 0x0001f000 irq 14
ata6: PATA max UDMA/133 cmd 0x00010170 ctl 0x00010376 bmdma 0x0001f008 irq 15
scsi4 : pata_amd
ata5.00: ATAPI, max UDMA/66
ata5.00: configured for UDMA/33
scsi5 : pata_amd
ata6: port disabled. ignoring.
ata6: reset failed, giving up
scsi 4:0:0:0: CD-ROM ATAPI DVD W DH16W1P LG12 PQ: 0 ANSI: 5
Signed-off-by: Petr Vandrovec <petr@vandrovec.name>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Alan Cox [Wed, 7 Mar 2007 16:13:07 +0000 (16:13 +0000)]
ata_piix: Remove ugly layering violation
A while ago I modified the libata code so that drivers can return -ENOENT
for unknown ports not fiddle with the EH flags and print stuff directly.
Somewhere along the line ata_piix didn't get fully converted.
Signed-off-by: Alan Cox <alan@redhat.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Artem Bityutskiy [Thu, 8 Mar 2007 08:35:10 +0000 (10:35 +0200)]
[JFFS2] print a message when marking bad block
New bad eraseblock is an event which is important enough to be printed
about.
Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
Ralf Baechle [Thu, 8 Mar 2007 17:36:13 +0000 (17:36 +0000)]
[MIPS] DEC: Remove call to register_prom_console.
Register_prom_console was removed when mips was converted to early printk.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
David Woodhouse [Fri, 9 Mar 2007 11:44:00 +0000 (11:44 +0000)]
[JFFS2] Check for all-zero node headers
Due to a poor choice of CRC32 seed, a node header which is all zeroes
would pass the CRC32 check. Explicitly check for this case, and treat it
as we do a CRC failure.
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
Len Brown [Thu, 8 Mar 2007 23:30:25 +0000 (18:30 -0500)]
ACPI: repair nvidia early quirk breakage on x86_64
x86_64 nvidia_bugs() broke when we bailed out on not finding the HPET.
However, the quirk works by checking for not finding the HPET...
Delete the nvidia_hpet_detected flag and simply test for
not finding the HPET, which is simple to do now that
acpi_table_parse returns 1 on failure.
Signed-off-by: Len Brown <len.brown@intel.com>
Kyungmin Park [Fri, 9 Mar 2007 01:08:11 +0000 (10:08 +0900)]
[MTD] [OneNAND] Classify the page data and oob buffer
Classify the page data and oob buffer
and it prevents the memory fragementation (writesize + oobsize)
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
Kyungmin Park [Fri, 9 Mar 2007 00:41:07 +0000 (09:41 +0900)]
[MTD] [OneNAND] Exit the loop when transferring/filling of the oob is finished
When transferring/filling of the oob is finished in OOB_AUTO, we exit the loop
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
Adrian Hunter [Thu, 15 Feb 2007 00:47:29 +0000 (09:47 +0900)]
[MTD] [OneNAND] add Nokia Copyright and a credit
add Nokia Copyright and a credit
Signed-off-by: Adrian Hunter <ext-adrian.hunter@nokia.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
Kyungmin Park [Thu, 15 Feb 2007 00:36:39 +0000 (09:36 +0900)]
[MTD] [OneNAND] Fix typo & wrong comments
Fix typo & wrong comments
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
Kyungmin Park [Mon, 12 Feb 2007 01:34:39 +0000 (10:34 +0900)]
[MTD] [OneNAND] Use oob buffer instead of main one in oob functions
In oob functions, it is used main buffer instead of oob one. So fix it.
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
Dave Jones [Fri, 9 Mar 2007 04:47:35 +0000 (23:47 -0500)]
[PATCH] build fix for i386 earlyquirk.c
missing close bracket.
Signed-off-by: Dave Jones <davej@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>