Ed Lin [Tue, 5 Dec 2006 01:49:28 +0000 (17:49 -0800)]
[SCSI] stex: fix controller_info command handling
This command needs information from both firmware and driver. First copy
information from firmware to buffer, then fill in driver information.
Signed-off-by: Ed Lin <ed.lin@promise.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Ed Lin [Tue, 5 Dec 2006 01:49:24 +0000 (17:49 -0800)]
[SCSI] stex: fix biosparam calculation
Fix biosparam calculation.
Signed-off-by: Ed Lin <ed.lin@promise.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Jeff Garzik [Mon, 4 Dec 2006 01:49:23 +0000 (20:49 -0500)]
[SCSI] megaraid: fix MMIO casts
megaraid's MMIO RD*/WR* macros directly call readl() and writel() with
an 'unsigned long' argument. This throws a warning, but is otherwise OK
because the 'unsigned long' is really the result of ioremap(). This
setup is also OK because the variable can hold an ioremap cookie /or/ a
PCI I/O port (PIO).
However, to fix the warning thrown when readl() and writel() are passed
an unsigned long cookie, I introduce 'void __iomem *mmio_base', holding
the same value as 'base'. This will silence the warnings, and also
cause an oops whenever these MMIO-only functions are ever accidentally
passed an I/O address.
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
akpm@osdl.org [Tue, 5 Dec 2006 07:06:48 +0000 (23:06 -0800)]
[SCSI] tgt: fix undefined flush_dcache_page() problem
drivers/scsi/scsi_tgt_if.c: In function 'tgt_uspace_send_event':
drivers/scsi/scsi_tgt_if.c:88: warning: implicit declaration of function 'flush_dcache_page'
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
James Bottomley [Thu, 16 Nov 2006 00:03:07 +0000 (18:03 -0600)]
[SCSI] libsas: better error handling in sas_expander.c
With async scanning, we're now tripping the BUG_ON in
sas_ex_discover_end_dev(), so make the error handling here correct.
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
James Smart [Sat, 2 Dec 2006 18:36:04 +0000 (13:36 -0500)]
[SCSI] lpfc 8.1.11 : Change version number to 8.1.11
Change version number to 8.1.11
Signed-off-by: James Smart <James.Smart@emulex.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
James Smart [Sat, 2 Dec 2006 18:35:43 +0000 (13:35 -0500)]
[SCSI] lpfc 8.1.11 : Misc Fixes
Misc Fixes:
- Prevent references to NULL node list element in reset routines.
- Add missing IOCB types to switch tables
- Reset the card on Port Error 5
- Fix infinite loop in LUN reset
Signed-off-by: James Smart <James.Smart@emulex.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
James Smart [Sat, 2 Dec 2006 18:35:30 +0000 (13:35 -0500)]
[SCSI] lpfc 8.1.11 : Add soft_wwnn sysfs attribute, rename soft_wwn_enable
The driver now allows both wwpn and wwnn to be set.
Signed-off-by: James Smart <James.Smart@emulex.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
James Smart [Sat, 2 Dec 2006 18:35:08 +0000 (13:35 -0500)]
[SCSI] lpfc 8.1.11 : Removed decoding of PCI Subsystem Id
To avoid continually updating the driver for new subsystem ids
(as adapter modules are proliferating), remove this 2nd level decode.
Genericize the reported Adapter names to be consistent across
Emulex product line.
Signed-off-by: James Smart <James.Smart@emulex.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
James Smart [Sat, 2 Dec 2006 18:34:56 +0000 (13:34 -0500)]
[SCSI] lpfc 8.1.11 : Add MSI (Message Signalled Interrupts) support
Add MSI (Message Signalled Interrupts) support
Actual use must be enabled via the new module parameter "lpfc_use_msi"
Defaults to no use
Many thanks to Frederic Temporelli who implemented the initial patch.
Signed-off-by: Frederic Temporelli <frederic.temporelli@ext.bull.net>
Signed-off-by: James Smart <James.Smart@emulex.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
James Smart [Sat, 2 Dec 2006 18:34:42 +0000 (13:34 -0500)]
[SCSI] lpfc 8.1.11 : Adjust LOG_FCP logging
Adjust LOG_FCP logging to be more meaningful.
Signed-off-by: James Smart <James.Smart@emulex.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
James Smart [Sat, 2 Dec 2006 18:34:28 +0000 (13:34 -0500)]
[SCSI] lpfc 8.1.11 : Fix Memory leaks
Fix Memory leaks associated with mbox cmds READ_LA, READ_SPARAM, REG_LOGIN
Signed-off-by: James Smart <James.Smart@emulex.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
James Smart [Sat, 2 Dec 2006 18:34:16 +0000 (13:34 -0500)]
[SCSI] lpfc 8.1.11 : Fix lpfc_multi_ring_support
It was not accounted for in the fast/slow rings.
Genericize the implementation and control it via sysfs
Signed-off-by: James Smart <James.Smart@emulex.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
James Smart [Sat, 2 Dec 2006 18:33:57 +0000 (13:33 -0500)]
[SCSI] lpfc 8.1.11 : Discovery Fixes
Discovery Fixes:
- Prevent starting discovery of a node if discovery is in progress.
- Code improvement (reduction) for lpfc_findnode_did().
- Update discovery to send RFF to Fabric on link up
- Bypass unique WWN checks for fabric addresses
- Add ndlp to plogi list prior to issuing the plogi els command
Signed-off-by: James Smart <James.Smart@emulex.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
FUJITA Tomonori [Thu, 30 Nov 2006 18:00:54 +0000 (03:00 +0900)]
[SCSI] scsi tgt: IBM eServer i/pSeries virtual SCSI target driver
This is IBM Virtual SCSI target driver for tgt. The driver is based on
the original ibmvscsis driver:
http://lkml.org/lkml/2005/10/17/99
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Signed-off-by: Mike Christie <michaelc@cs.wisc.edu>
Signed-off-by: Santiago Leon <santil@us.ibm.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
FUJITA Tomonori [Thu, 30 Nov 2006 18:00:50 +0000 (03:00 +0900)]
[SCSI] scsi tgt: SCSI RDMA Protocol library functions
libsrp provides helper functions for SRP target drivers.
Some SRP target drivers would be out of drivers/scsi/ so we added an
entry for libsrp in drivers/scsi/Kconfig.
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Signed-off-by: Mike Christie <michaelc@cs.wisc.edu>
Signed-off-by: Santiago Leon <santil@us.ibm.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
James Bottomley [Fri, 1 Dec 2006 17:25:12 +0000 (11:25 -0600)]
[SCSI] 53c700: brown paper bag fix for auto request sense
In the switch over, I forgot to set the command length, so it sends out
a request sense with whatever length the prior command had (and fails
badly if it wasn't 6).
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Randy Dunlap [Mon, 27 Nov 2006 17:35:42 +0000 (09:35 -0800)]
[SCSI] qla2xxx: use NULL instead of 0
Use NULL instead of 0 for pointers (sparse warning):
drivers/scsi/qla2xxx/qla_attr.c:393:4: warning: Using plain integer as NULL pointer
Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
Acked-by: Andrew Vasquez <andrew.vasquez@qlogic.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
FUJITA Tomonori [Thu, 16 Nov 2006 10:24:18 +0000 (19:24 +0900)]
[SCSI] scsi-ml: Makefile and Kconfig changes for tgt
Makefile and Kconfig for tgt.
Signed-off-by: Mike Christie <michaelc@cs.wisc.edu>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
FUJITA Tomonori [Thu, 16 Nov 2006 10:24:16 +0000 (19:24 +0900)]
[SCSI] scsi tgt: scsi target user and kernel communication interface
The user-space daemon and tgt kernel module need bi-directional
kernel/user high-performance interface, however, mainline provides no
standard interface like that.
This patch adds shared memory interface between kernel and user spaces
like some other drivers do by using own character device. The
user-space daemon and tgt kernel module creates shared memory via mmap
and use it like ring buffer. poll (kernel to user) and write (user to
kernel) system calls are used for notification.
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Signed-off-by: Mike Christie <michaelc@cs.wisc.edu>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
FUJITA Tomonori [Thu, 16 Nov 2006 10:24:13 +0000 (19:24 +0900)]
[SCSI] scsi tgt: scsi target lib functionality
The core scsi target lib functions.
TODO:
- mv md/dm-bio-list.h to linux/bio-list.h so md and us do not have to
do that weird include.
- convert scsi_tgt_cmd's work struct to James's execute code. And try
to kill our scsi_tgt_cmd.
- add host state checking. We do refcouting so hotplug is partially
supported, but we need to add state checking to make it easier on
the LLD.
Signed-off-by: Mike Christie <michaelc@cs.wisc.edu>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
FUJITA Tomonori [Thu, 16 Nov 2006 10:24:10 +0000 (19:24 +0900)]
[SCSI] export scsi-ml functions needed by tgt_scsi_lib and its LLDs
This patch contains the needed changes to the scsi-ml for the target
mode support.
Note, per the last review we moved almost all the fields we added
to the scsi_cmnd to our internal data structure which we are going
to try and kill off when we can replace it with support from other
parts of the kernel.
The one field we left on was the offset variable. This is needed to handle
the case where the target gets request that is so large that it cannot
execute it in one dma operation. So max_secotors or a segment limit may
limit the size of the transfer. In this case our tgt core code will
break up the command into managable transfers and send them to the
LLD one at a time. The offset is then used to tell the LLD where in
the command we are at. Is there another field on the scsi_cmd for
that?
Signed-off-by: Mike Christie <michaelc@cs.wisc.edu>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Randy Dunlap [Mon, 20 Nov 2006 02:53:43 +0000 (18:53 -0800)]
[SCSI] initio: fix section mismatches with HOTPLUG=n
WARNING: drivers/scsi/initio.o - Section mismatch: reference to .init.data: from .text between 'i91u_detect' (at offset 0x26e8) and 'i91uSCBPost'
WARNING: drivers/scsi/initio.o - Section mismatch: reference to .init.data:i91u_pci_devices from .text between 'i91u_detect' (at offset 0x26ef) and 'i91uSCBPost'
Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Andrew Vasquez [Wed, 22 Nov 2006 16:24:48 +0000 (08:24 -0800)]
[SCSI] qla2xxx: add asynchronous scsi scanning support.
Signed-off-by: Andrew Vasquez <andrew.vasquez@qlogic.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Andrew Vasquez [Wed, 22 Nov 2006 16:22:19 +0000 (08:22 -0800)]
[SCSI] qla2xxx: defer topology discovery to DPC thread during initialization.
Modify intialization semantics:
- perform basic hardware configuration only (as usual)
- allocate resources
- load and execute firmware
- defer link (transport) negotiations to the DPC thread
- again the code in qla2x00_initialize_adapter() to stall probe()
completion was needed for legacy-style scanning.
- DPC thread stalls until probe() complete.
- before probe() completes, set DPC flags to perform loop-resync logic
(similar to what's done during cable-insertion/removal).
Benefits: user does not have to wait 20+ seconds in case the FC cable
is unplugged during driver load, code consolidation (removal of
redundant link negotiation logic during initialize_adaoter()), and
finilly, the driver no longer needs to defer the fc_remote_port_add()
calls to hold off lun-scanning prior to returning from the probe()
function.
Signed-off-by: Andrew Vasquez <andrew.vasquez@qlogic.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Matthew Wilcox [Wed, 22 Nov 2006 20:24:54 +0000 (13:24 -0700)]
[SCSI] Make scsi_scan_host work for drivers which find their own targets
If a driver can find its own targets, it can now fill in scan_finished and
(optionally) scan_start in the scsi_host_template. Then, when it calls
scsi_scan_host(), it will be called back (from a thread if asynchronous
discovery is enabled), first to start the scan, and then at intervals to
check if the scan is completed.
Also make scsi_prep_async_scan and scsi_finish_async_scan static.
Signed-off-by: Matthew Wilcox <matthew@wil.cx>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Matthew Wilcox [Wed, 22 Nov 2006 20:24:53 +0000 (13:24 -0700)]
[SCSI] fix missing check for no scanning
Drivers that called scsi_scan_target() instead of scsi_scan_host() were
still adding devices; this needs to be under the control of userspace,
not the driver.
Signed-off-by: Matthew Wilcox <matthew@wil.cx>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Matthew Wilcox [Wed, 22 Nov 2006 20:24:52 +0000 (13:24 -0700)]
[SCSI] Add Kconfig option for asynchronous SCSI scanning
Without this patch, the user has to add a kernel command line parameter
to get asynchronous SCSI scanning. Now they can select the default at
compile time and still override it at boot time if they need to.
Signed-off-by: Matthew Wilcox <matthew@wil.cx>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Mark Haverkamp [Tue, 21 Nov 2006 18:40:50 +0000 (10:40 -0800)]
[SCSI] aacraid: Driver version update
Received from Mark Salyzyn:
Version patch, update to reflect a rough estimate of the Adaptec build
(2423) that coincides with the sources on kernel.org.
Signed-off-by: Mark Haverkamp <markh@osdl.org>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Mark Haverkamp [Tue, 21 Nov 2006 18:40:31 +0000 (10:40 -0800)]
[SCSI] aacraid: Abort management FIBs
Received from Mark Salyzyn:
Add code to abort outstanding management ioctl fibs when the blinkLED recovery
is performed. This code is 'clunky' and does not have any real feedback in that
the reset could progress before the user application has gotten it's
notification of command completion. We put a schedule() call to delay just the
right amount for most cases, because we tried a spin and still managed to find
cases where we would spin forever waiting for the management application to
acknowledge the impending doom surrounding the cause of the BlinkLED. Will
cause an oops in the context of the management application if we proceed too
quickly. I view this as the lesser of many evils since currently if there are
outstanding management ioctls during a need to reset/recover the adapter, the
management application just locks up and waits forever. The best practices fix
for this problem not going to be simple or easy (at least the fixes I imagine
today); and we found a balance between the needs of the driver to proceed, and
the applications that locked or confused that would hold back the driver. I
just do not like the idea of a kernel oops in an application to deal with low
priority, sluggish or misbehaving applications.
Signed-off-by: Mark Haverkamp <markh@osdl.org>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Mark Haverkamp [Tue, 21 Nov 2006 18:40:08 +0000 (10:40 -0800)]
[SCSI] aacraid: Detect Blinkled at startup
Received from Mark Salyzyn:
Blinkled at startup is useful for catching Adapters in a lot of pain, in a
BlinkLED assert, quickly; rather than waiting several minutes for commands to
timeout.
Signed-off-by: Mark Haverkamp <markh@osdl.org>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Brian King [Tue, 21 Nov 2006 16:28:55 +0000 (10:28 -0600)]
[SCSI] ipr: Driver version 2.3.0
Bump driver version.
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Adrian Bunk [Tue, 21 Nov 2006 16:28:48 +0000 (10:28 -0600)]
[SCSI] ipr: Make ipr_ioctl static
This patch makes ipr_ioctl static.
Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: Brian King <brking@us.ibm.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Brian King [Tue, 21 Nov 2006 16:28:42 +0000 (10:28 -0600)]
[SCSI] ipr: Reduce default error log size
Since the default error log size has increased on SAS adapters,
prevent ipr from logging this additional data unless requested
to do so by the user set log level in order to prevent flooding
the logs.
Signed-off-by: Brian King <brking@us.ibm.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Brian King [Tue, 21 Nov 2006 16:28:35 +0000 (10:28 -0600)]
[SCSI] ipr: Add support for logging SAS fabric errors
Adds support for logging SAS fabric errors logged by
the ipr firmware.
Signed-off-by: Brian King <brking@us.ibm.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Brian King [Tue, 21 Nov 2006 16:28:29 +0000 (10:28 -0600)]
[SCSI] ipr: Remove debug trace points from dump code
Remove some debug trace points that clutter up the log
when ipr debugging is turned on.
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Brian King [Tue, 21 Nov 2006 16:28:23 +0000 (10:28 -0600)]
[SCSI] ipr: Remove ipr_scsi_timed_out
Remove ipr's usage of the scsi transport eh_timed_out for
handling SATA timeouts. This was only needed in order to set
some flags on the qc prior to calling ata_do_eh.
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Brian King [Tue, 21 Nov 2006 16:28:16 +0000 (10:28 -0600)]
[SCSI] ipr: Set default ipr Kconfig values
Both SCSI_IPR_TRACE and SCSI_IPR_DUMP should be defaulted to
yes when SCSI_IPR is enabled.
Signed-off-by: Brian King <brking@us.ibm.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Brian King [Tue, 21 Nov 2006 16:28:10 +0000 (10:28 -0600)]
[SCSI] ipr: PCI IDs for new SAS adapters
Adds PCI IDs for some new ipr SAS adapters.
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Brian King [Tue, 21 Nov 2006 16:28:04 +0000 (10:28 -0600)]
[SCSI] ipr: Stop issuing cancel all to disk arrays
The ipr disk array devices do not support a cancel all
requests primitive, so change the ipr driver to never
send it.
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Brian King [Tue, 21 Nov 2006 16:27:58 +0000 (10:27 -0600)]
[SCSI] ipr: SATA reset - wait for host reset completion
If an ipr adapter hits a fatal microcode error requiring a reset
while a SATA device is going through EH, it can result in a command
getting issued to the ipr adapter while it is getting reset, which
can cause PCI bus errors. Wait for any outstanding adapter reset
to finish prior to issuing a SATA device reset.
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
David C Somayajulu [Tue, 21 Nov 2006 00:20:22 +0000 (16:20 -0800)]
[SCSI] qla4xxx: fix for timing issue for nvram accesses.
This patch fixes a timing issue related to nvram accesses in qla4xxx
driver for some cpu/slot speed combination.
Signed-off-by: David Somayajulu <david.somayajulu@qlogic.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Adrian Bunk [Mon, 20 Nov 2006 02:23:49 +0000 (03:23 +0100)]
[SCSI] megaraid_sas: make 2 functions static
This patch makes two needlessly global functions static.
Signed-off-by: Adrian Bunk <bunk@stusta.de>
Acked-by: "Patro, Sumant" <Sumant.Patro@lsi.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
David C Somayajulu [Thu, 16 Nov 2006 01:38:40 +0000 (17:38 -0800)]
[SCSI] qla4xxx: add support for qla4032
This patch provides the following:
1. adds support for the next version of Qlogic's iSCSI HBA, qla4032
(PCI Device ID 4032).
2. removes dead code related to topcat chip and renames
qla4010_soft_reset to qla4xxx_soft_reset (minor changes).
Signed-off-by: David Somayajulu <david.somayajulu@qlogic.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
James Bottomley [Wed, 22 Nov 2006 18:06:44 +0000 (12:06 -0600)]
Merge ../scsi-rc-fixes-2.6
James Bottomley [Wed, 22 Nov 2006 17:54:15 +0000 (11:54 -0600)]
[SCSI] aic94xx: fix pointer to integer conversion warning
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
David C Somayajulu [Thu, 16 Nov 2006 00:41:09 +0000 (16:41 -0800)]
[PATCH] qla4xxx: bug fix: driver hardware semaphore needs to be grabbed before soft reset
On qla4xxx, the driver needs to grab the drvr semaphore provided by
the hardware, prior to issuing a reset. This patches takes care of a
couple of places where it was not being done. In addition there is
minor clean up.
Signed-off-by: David Somayajulu <david.somayajulu@qlogic.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Darrick J. Wong [Wed, 15 Nov 2006 02:02:07 +0000 (18:02 -0800)]
[PATCH] aic94xx: delete ascb timers when freeing queues
When the aic94xx driver creates ascbs, each ascb is initialized with a
timeout timer. If there are any ascbs left over when the driver is being
torn down, these timers need to be deleted. In particular, we seem to
hit this case when ascbs are issued yet never end up on the done list.
Right now there's a sequencer bug that results in this happening every
so often.
CONTROL PHY commands are typically sent when things are really messed
up with the sequencer; however, any other leftover ascb should produce
loud warnings.
Signed-off-by: Darrick J. Wong <djwong@us.ibm.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Darrick J. Wong [Wed, 8 Nov 2006 01:28:55 +0000 (17:28 -0800)]
[PATCH] aic94xx: handle REQ_DEVICE_RESET
This patch implements a REQ_DEVICE_RESET handler for the aic94xx
driver. Like the earlier REQ_TASK_ABORT patch, this patch defers the
device reset to the Scsi_Host's workqueue, which has the added benefit
of ensuring that the device reset does not happen at the same time
that the abort tmfs are being processed. After the phy reset, the
busted drive should go away and be re-detected later, which is indeed
what I've seen on both a x260 and a x206m.
Signed-off-by: Darrick J. Wong <djwong@us.ibm.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Linus Torvalds [Wed, 22 Nov 2006 02:42:44 +0000 (18:42 -0800)]
Merge branch 'merge' of /linux/kernel/git/paulus/powerpc
* 'merge' of master.kernel.org:/pub/scm/linux/kernel/git/paulus/powerpc:
[POWERPC] Fix ucc_geth of_device discovery on mpc832x
[POWERPC] Revert "[POWERPC] Add powerpc get/set_rtc_time interface to new generic rtc class"
[POWERPC] Revert "[POWERPC] Enable generic rtc hook for the MPC8349 mITX"
Linus Torvalds [Wed, 22 Nov 2006 02:36:59 +0000 (18:36 -0800)]
Merge /pub/scm/linux/kernel/git/davem/net-2.6
* master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6:
[TG3]: Add missing unlock in tg3_open() error path.
[IPV6]: Fix address/interface handling in UDP and DCCP, according to the scoping architecture.
[IRDA]: Lockdep fix.
[BLUETOOTH]: Fix unaligned access in hci_send_to_sock.
[XFRM]: nlmsg length not computed correctly in the presence of subpolicies
[XFRM]: Sub-policies broke policy events
[IGMP]: Fix IGMPV3_EXP() normalization bit shift value.
[Bluetooth] Ignore L2CAP config requests on disconnect
[Bluetooth] Always include MTU in L2CAP config responses
[Bluetooth] Check if RFCOMM session is still attached to the TTY
[Bluetooth] Handling pending connect attempts after inquiry
[Bluetooth] Attach low-level connections to the Bluetooth bus
[IPV6] IP6TUNNEL: Add missing nf_reset() on input path.
[IPV6] IP6TUNNEL: Delete all tunnel device when unloading module.
[IPV6] ROUTE: Do not enable router reachability probing in router mode.
[IPV6] ROUTE: Prefer reachable nexthop only if the caller requests.
[IPV6] ROUTE: Try to use router which is not known unreachable.
Kim Phillips [Wed, 22 Nov 2006 00:19:42 +0000 (18:19 -0600)]
[POWERPC] Fix ucc_geth of_device discovery on mpc832x
mpc832x, as in mpc8360, needs to explicitly find and create the
platform device for ucc_geth in 2.6.19. This code will likely be
readapted to Benh's new of_ methods for 2.6.20.
Signed-off-by: Kim Phillips <kim.phillips@freescale.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
Ira W. Snyder [Wed, 22 Nov 2006 01:44:31 +0000 (17:44 -0800)]
[TG3]: Add missing unlock in tg3_open() error path.
Sparse noticed a locking imbalance in tg3_open(). This patch adds an
unlock to one of the error paths, so that tg3_open() always exits
without the lock held.
Signed-off-by: Ira W. Snyder <kernel@irasnyder.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
YOSHIFUJI Hideaki [Wed, 22 Nov 2006 01:41:56 +0000 (17:41 -0800)]
[IPV6]: Fix address/interface handling in UDP and DCCP, according to the scoping architecture.
TCP and RAW do not have this issue. Closes Bug #7432.
Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Peter Zijlstra [Wed, 22 Nov 2006 01:33:01 +0000 (17:33 -0800)]
[IRDA]: Lockdep fix.
On Sat, 2006-11-18 at 16:12 +0300, Andrey Borzenkov wrote:
> =============================================
> [ INFO: possible recursive locking detected ]
> 2.6.19-rc5-2avb #2
> - ---------------------------------------------
> pppd/26425 is trying to acquire lock:
> (&hashbin->hb_spinlock){....}, at: [<
dfdea87a>] irlmp_slsap_inuse+0x5a/0x170
> [irda]
>
> but task is already holding lock:
> (&hashbin->hb_spinlock){....}, at: [<
dfdea857>] irlmp_slsap_inuse+0x37/0x170
> [irda]
>
> other info that might help us debug this:
> 1 lock held by pppd/26425:
> #0: (&hashbin->hb_spinlock){....}, at: [<
dfdea857>]
> irlmp_slsap_inuse+0x37/0x170 [irda]
>
> stack backtrace:
> [<
c010413c>] dump_trace+0x1cc/0x200
> [<
c010418a>] show_trace_log_lvl+0x1a/0x30
> [<
c01047f2>] show_trace+0x12/0x20
> [<
c01048c9>] dump_stack+0x19/0x20
> [<
c01346ca>] __lock_acquire+0x8fa/0xc20
> [<
c0134d2d>] lock_acquire+0x5d/0x80
> [<
c02a851c>] _spin_lock+0x2c/0x40
> [<
dfdea87a>] irlmp_slsap_inuse+0x5a/0x170 [irda]
> [<
dfdebab2>] irlmp_open_lsap+0x62/0x180 [irda]
> [<
dfdf35d1>] irttp_open_tsap+0x181/0x230 [irda]
> [<
dfdc0c3d>] ircomm_open_tsap+0x5d/0xa0 [ircomm]
> [<
dfdc05d8>] ircomm_open+0xb8/0xd0 [ircomm]
> [<
dfdd0477>] ircomm_tty_open+0x4f7/0x570 [ircomm_tty]
> [<
c020bbe4>] tty_open+0x174/0x340
> [<
c016bd69>] chrdev_open+0x89/0x170
> [<
c0167bd6>] __dentry_open+0xa6/0x1d0
> [<
c0167da5>] nameidata_to_filp+0x35/0x40
> [<
c0167df9>] do_filp_open+0x49/0x50
> [<
c0167e47>] do_sys_open+0x47/0xd0
> [<
c0167f0c>] sys_open+0x1c/0x20
> [<
c010307d>] sysenter_past_esp+0x56/0x8d
> [<
b7f86410>] 0xb7f86410
> =======================
The comment at the nesting lock says:
/* Careful for priority inversions here !
* irlmp->links is never taken while another IrDA
* spinlock is held, so we are safe. Jean II */
So, under the assumption the author was right, it just needs a lockdep
annotation.
Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Acked-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Kim Phillips [Tue, 21 Nov 2006 16:31:14 +0000 (10:31 -0600)]
[POWERPC] Revert "[POWERPC] Add powerpc get/set_rtc_time interface to new generic rtc class"
This reverts commit
7a69af63e788a324d162201a0b23df41bcf158dd.
As advised by David Brownell:
http://marc.theaimsgroup.com/?l=linux-kernel&m=
116387226902131&w=2
Signed-off-by: Kim Phillips <kim.phillips@freescale.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
Kim Phillips [Tue, 21 Nov 2006 16:31:08 +0000 (10:31 -0600)]
[POWERPC] Revert "[POWERPC] Enable generic rtc hook for the MPC8349 mITX"
This reverts commit
a8ed4f7ec3aa472134d7de6176f823b2667e450b.
As advised by David Brownell:
http://marc.theaimsgroup.com/?l=linux-kernel&m=
116387226902131&w=2
Signed-off-by: Kim Phillips <kim.phillips@freescale.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
David S. Miller [Wed, 22 Nov 2006 00:17:41 +0000 (16:17 -0800)]
[BLUETOOTH]: Fix unaligned access in hci_send_to_sock.
The "u16 *" derefs of skb->data need to be wrapped inside of
a get_unaligned().
Thanks to Gustavo Zacarias for the bug report.
Signed-off-by: David S. Miller <davem@davemloft.net>
Jamal Hadi Salim [Sun, 19 Nov 2006 22:55:30 +0000 (14:55 -0800)]
[XFRM]: nlmsg length not computed correctly in the presence of subpolicies
I actually dont have a test case for these; i just found them by
inspection. Refer to patch "[XFRM]: Sub-policies broke policy events"
for more info
Signed-off-by: Jamal Hadi Salim <hadi@cyberus.ca>
Acked-by: Masahide NAKAMURA <nakam@linux-ipv6.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Jamal Hadi Salim [Sun, 19 Nov 2006 22:53:07 +0000 (14:53 -0800)]
[XFRM]: Sub-policies broke policy events
XFRM policy events are broken when sub-policy feature is turned on.
A simple test to verify this:
run ip xfrm mon on one window and add then delete a policy on another
window ..
Signed-off-by: Jamal Hadi Salim <hadi@cyberus.ca>
Acked-by: Masahide NAKAMURA <nakam@linux-ipv6.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
David L Stevens [Sun, 19 Nov 2006 18:38:39 +0000 (10:38 -0800)]
[IGMP]: Fix IGMPV3_EXP() normalization bit shift value.
The IGMPV3_EXP() macro doesn't correctly shift the normalization bit, so
time-out values are longer than they should be.
Thanks to Dirk Ooms for finding the problem in IGMPv3 - MLDv2 had a
similar problem that was already fixed a year ago. :-(
Signed-off-by: David L Stevens <dlstevens@us.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Marcel Holtmann [Sat, 18 Nov 2006 21:15:20 +0000 (22:15 +0100)]
[Bluetooth] Ignore L2CAP config requests on disconnect
Any L2CAP connection in disconnecting state shall not response
to any further config requests from the remote side. So in case
such a request is received, ignore it.
Signed-off-by: Ville Tervo <ville.tervo@nokia.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
Marcel Holtmann [Sat, 18 Nov 2006 21:15:00 +0000 (22:15 +0100)]
[Bluetooth] Always include MTU in L2CAP config responses
When sending a positive config response it shall include the actual
MTU to be used on this channel. This differs from the Bluetooth 1.1
specification where it was enough to acknowledge the config request.
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
Marcel Holtmann [Sat, 18 Nov 2006 21:14:42 +0000 (22:14 +0100)]
[Bluetooth] Check if RFCOMM session is still attached to the TTY
If the RFCOMM session is no longer attached to the TTY device, then it
makes no sense to go through with changing the termios settings.
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
Marcel Holtmann [Sat, 18 Nov 2006 21:14:22 +0000 (22:14 +0100)]
[Bluetooth] Handling pending connect attempts after inquiry
After an inquiry completed or got canceled the Bluetooth core should
check for any pending connect attempts.
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
Marcel Holtmann [Sat, 18 Nov 2006 21:14:05 +0000 (22:14 +0100)]
[Bluetooth] Attach low-level connections to the Bluetooth bus
To receive uvents for the low-level ACL and SCO links, they must be
assigned to a subsystem. It is enough to attach them to the already
established Bluetooth bus.
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
Yasuyuki Kozakai [Mon, 6 Nov 2006 18:06:23 +0000 (10:06 -0800)]
[IPV6] IP6TUNNEL: Add missing nf_reset() on input path.
Signed-off-by: Yasuyuki Kozakai <yasuyuki.kozakai@toshiba.co.jp>
Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
Yasuyuki Kozakai [Mon, 6 Nov 2006 18:06:22 +0000 (10:06 -0800)]
[IPV6] IP6TUNNEL: Delete all tunnel device when unloading module.
Signed-off-by: Yasuyuki Kozakai <yasuyuki.kozakai@toshiba.co.jp>
Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
YOSHIFUJI Hideaki [Mon, 6 Nov 2006 17:45:45 +0000 (09:45 -0800)]
[IPV6] ROUTE: Do not enable router reachability probing in router mode.
RFC4191 explicitly states that the procedures are applicable to
hosts only. We should not have changed behavior of routers.
Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
YOSHIFUJI Hideaki [Mon, 6 Nov 2006 17:45:45 +0000 (09:45 -0800)]
[IPV6] ROUTE: Prefer reachable nexthop only if the caller requests.
Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
YOSHIFUJI Hideaki [Mon, 6 Nov 2006 17:45:44 +0000 (09:45 -0800)]
[IPV6] ROUTE: Try to use router which is not known unreachable.
Only routers in "FAILED" state should be considered unreachable.
Otherwise, we do not try to use speicific routes unless all least specific
routers are considered unreachable.
Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
Dave Jones [Tue, 21 Nov 2006 21:58:59 +0000 (16:58 -0500)]
[PATCH] Fix CPU_FREQ_GOV_ONDEMAND=y compile error
The ONDEMAND governor needs FREQ_TABLE
Signed-off-by: Mattia Dongili <malattia@linux.it>
Signed-off-by: Dave Jones <davej@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Linus Torvalds [Tue, 21 Nov 2006 16:07:38 +0000 (08:07 -0800)]
Merge branch 'for-linus' of git://one.firstfloor.org/home/andi/git/linux-2.6
* 'for-linus' of git://one.firstfloor.org/home/andi/git/linux-2.6:
[PATCH] x86_64: Align data segment to PAGE_SIZE boundary
[PATCH] x86-64: increase PHB1 split transaction timeout
[PATCH] x86-64: Fix C3 timer test
Vivek Goyal [Mon, 20 Nov 2006 16:29:09 +0000 (11:29 -0500)]
[PATCH] x86_64: Align data segment to PAGE_SIZE boundary
o Explicitly align data segment to PAGE_SIZE boundary otherwise depending on
config options and tool chain it might be placed on a non PAGE_SIZE aligned
boundary and vmlinux loaders like kexec fail when they encounter a
PT_LOAD type segment which is not aligned to PAGE_SIZE boundary.
Signed-off-by: Vivek Goyal <vgoyal@in.ibm.com>
Signed-off-by: Andi Kleen <ak@suse.de>
Andi Kleen [Tue, 21 Nov 2006 09:22:09 +0000 (10:22 +0100)]
Merge branch 'master' of git://git./linux/kernel/git/torvalds/linux-2.6
David Chinner [Tue, 21 Nov 2006 07:55:33 +0000 (18:55 +1100)]
[XFS] Stale the correct inode when freeing clusters.
SGI-PV: 958376
SGI-Modid: xfs-linux-melb:xfs-kern:27503a
Signed-off-by: David Chinner <dgc@sgi.com>
Signed-off-by: Tim Shimmin <tes@sgi.com>
Lachlan McIlroy [Tue, 21 Nov 2006 07:55:16 +0000 (18:55 +1100)]
[XFS] Fix uninitialized br_state and br_startoff in
xfs_bmap_add_extent_delay_real()
SGI-PV: 957008
SGI-Modid: xfs-linux-melb:xfs-kern:27457a
Signed-off-by: Lachlan McIlroy <lachlan@sgi.com>
Signed-off-by: Shailendra Tripathi <stripathi@agami.com>
Signed-off-by: Tim Shimmin <tes@sgi.com>
Bryan O'Sullivan [Mon, 20 Nov 2006 18:54:34 +0000 (10:54 -0800)]
IB/ipath: Depend on CONFIG_NET
ipath uses skb functions and won't build without CONFIG_NET.
Spotted by Randy Dunlap.
Signed-off-by: Bryan O'Sullivan <bryan.osullivan@qlogic.com>
Acked-by: Randy Dunlap <randy.dunlap@oracle.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
Linus Torvalds [Mon, 20 Nov 2006 19:47:18 +0000 (11:47 -0800)]
Add "pure_initcall" for static variable initialization
This is a quick hack to overcome the fact that SRCU currently does not
allow static initializers, and we need to sometimes initialize those
things before any other initializers (even "core" ones) can do so.
Currently we don't allow this at all for modules, and the only user that
needs is right now is cpufreq. As reported by Thomas Gleixner:
"Commit
b4dfdbb3c707474a2254c5b4d7e62be31a4b7da9 ("[PATCH] cpufreq:
make the transition_notifier chain use SRCU breaks cpu frequency
notification users, which register the callback > on core_init
level."
Cc: Thomas Gleixner <tglx@timesys.com>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Arjan van de Ven <arjan@infradead.org>
Cc: Andrew Morton <akpm@osdl.org>,
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Linus Torvalds [Mon, 20 Nov 2006 18:48:23 +0000 (10:48 -0800)]
Merge branch 'for-linus' of /linux/kernel/git/roland/infiniband
* 'for-linus' of master.kernel.org:/pub/scm/linux/kernel/git/roland/infiniband:
IPoIB: Clear high octet in QP number
Greg Ungerer [Mon, 20 Nov 2006 05:46:22 +0000 (15:46 +1000)]
[PATCH] m68knommu: fix up for the irq_handler_t changes
Switch to using irq_handler_t for interrupt function handler pointers.
Change name of m68knommu's irq_hanlder_t data structure so it doesn't
clash with the common type (include/linux/interrupt.h).
Signed-off-by: Greg Ungerer <gerg@uclinux.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Toralf Foerster [Sun, 19 Nov 2006 06:19:41 +0000 (22:19 -0800)]
[PATCH] fix build error for HISAX_NETJET
Fix a build error for the enter:now PCI card.
Signed-off-by: Toralf Foerster <toralf.foerster@gmx.de>
Acked-by: Karsten Keil <kkeil@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Randy Dunlap [Sun, 19 Nov 2006 06:19:41 +0000 (22:19 -0800)]
[PATCH] ftape: fix printk format warnings
Fix printk format warnings:
drivers/char/ftape/zftape/zftape-buffers.c:87: warning: format '%d' expects type
'int', but argument 3 has type 'size_t'
drivers/char/ftape/zftape/zftape-buffers.c:104: warning: format '%d' expects type
'int', but argument 3 has type 'size_t'
Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Yasunori Goto [Sun, 19 Nov 2006 06:19:40 +0000 (22:19 -0800)]
[PATCH] x86_64: fix memory hotplug build with NUMA=n
This is to fix compile error of x86-64 memory hotplug without any NUMA
option.
CC arch/x86_64/mm/init.o
arch/x86_64/mm/init.c:501: error: redefinition of 'memory_add_physaddr_to_nid'
include/linux/memory_hotplug.h:71: error: previous definition of 'memory_add_phys
addr_to_nid' was here
arch/x86_64/mm/init.c:509: error: redefinition of 'memory_add_physaddr_to_nid'
arch/x86_64/mm/init.c:501: error: previous definition of 'memory_add_physaddr_to_
nid' was here
I confirmed compile completion with !NUMA, (NUMA & !ACPI_NUMA),
or (NUMA & ACPI_NUMA).
Signed-off-by: Yasunori Goto <y-goto@jp.fujitsu.com>
Acked-by: Andi Kleen <ak@suse.de>
Cc: "Randy.Dunlap" <rdunlap@xenotime.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Jeff Garzik [Sun, 19 Nov 2006 06:19:39 +0000 (22:19 -0800)]
[PATCH] scx200_acb: handle PCI errors
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Signed-off-by: Jean Delvare <khali@linux-fr.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Alexey Dobriyan [Sun, 19 Nov 2006 06:19:36 +0000 (22:19 -0800)]
[PATCH] i2c-ixp4xx: fix ") != 0))" typo
i2c_bit_add_bus() returns -E;
-E != 0 => err = 1
probe fails with positive error code
Signed-off-by: Alexey Dobriyan <adobriyan@openvz.org>
Cc: Deepak Saxena <dsaxena@mvista.com>
Acked-by: Jean Delvare <khali@linux-fr.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Daniel Ritz [Sun, 19 Nov 2006 06:19:34 +0000 (22:19 -0800)]
[PATCH] pcmcia: fix 'rmmod pcmcia' with unbound devices
Having unbound PCMCIA devices: doing a 'find /sys' after a 'rmmod pcmcia'
gives an oops because the pcmcia_device is not unregisterd from the driver
core.
fixes bugzilla #7481
Signed-off-by: Daniel Ritz <daniel.ritz@gmx.ch>
Dominik Brodowski <linux@dominikbrodowski.net>
Cc: Pavol Gono <Palo.Gono@gmail.com>
Cc: <stable@kernel.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Yoichi Yuasa [Fri, 17 Nov 2006 00:51:41 +0000 (11:51 +1100)]
[CRYPTO] api: Remove one too many semicolon
This patch has removed one too many semicolon in crypto.h.
Signed-off-by: Yoichi Yuasa <yoichi_yuasa@tripeaks.co.jp>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Linus Torvalds [Sat, 18 Nov 2006 03:55:11 +0000 (19:55 -0800)]
Merge branch 'fixes4linus' of git://git./linux/kernel/git/jbglaw/vax-linux
* 'fixes4linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbglaw/vax-linux:
lkkbd: Remove my old snail-mail address
David Weinehall [Sat, 18 Nov 2006 02:58:58 +0000 (03:58 +0100)]
[PATCH] Update my CREDITS entry
I moved from Sweden to Finland 2.5 years ago, thought it might be time
to update my CREDITS entry (simply removing the address completely
seemed the sanest option).
Signed-off-by: David Weinehall <tao@kernel.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Linus Torvalds [Sat, 18 Nov 2006 03:31:09 +0000 (19:31 -0800)]
Revert "ACPI: created a dedicated workqueue for notify() execution"
This reverts commit
37605a6900f6b4d886d995751fcfeef88c4e462c.
Again.
This same bug has now been introduced twice: it was done earlier by
commit
b8d35192c55fb055792ff0641408eaaec7c88988, only to be reverted
last time in commit
72945b2b90a5554975b8f72673ab7139d232a121.
We must NOT try to queue up notify handlers to another thread than the
normal ACPI execution thread, because the notifications on some systems
seem to just keep on accumulating until we run out of memory and/or
threads.
Keeping events within the one deferred execution thread automatically
throttles the events properly.
At least the Compaq N620c will lock up completely on the first thermal
event without this patch reverted.
Cc: David Brownell <david-b@pacbell.net>
Cc: Len Brown <len.brown@intel.com>
Cc: Alexey Starikovskiy <alexey.y.starikovskiy@linux.intel.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Linus Torvalds [Fri, 17 Nov 2006 19:14:56 +0000 (11:14 -0800)]
x86: be more careful when walking back the frame pointer chain
When showing the stack backtrace, make sure that we never accept not
only an unchanging frame pointer, but also a frame pointer that moves
back down the stack frame. It must always grow up (toward older stack
frames).
I doubt this has triggered, but a subtly corrupt stack with extremely
unlucky contents could cause us to loop forever on a bogus endless frame
pointer chain.
This review was triggered by much worse problems happening in some of
the other stack unwinding code.
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Ingo Molnar [Fri, 17 Nov 2006 18:57:22 +0000 (19:57 +0100)]
[PATCH] lockdep: fix static keys in module-allocated percpu areas
lockdep got confused by certain locks in modules:
INFO: trying to register non-static key.
the code is fine but needs lockdep annotation.
turning off the locking correctness validator.
Call Trace:
[<
ffffffff8026f40d>] dump_trace+0xaa/0x3f2
[<
ffffffff8026f78f>] show_trace+0x3a/0x60
[<
ffffffff8026f9d1>] dump_stack+0x15/0x17
[<
ffffffff802abfe8>] __lock_acquire+0x724/0x9bb
[<
ffffffff802ac52b>] lock_acquire+0x4d/0x67
[<
ffffffff80267139>] rt_spin_lock+0x3d/0x41
[<
ffffffff8839ed3f>] :ip_conntrack:__ip_ct_refresh_acct+0x131/0x174
[<
ffffffff883a1334>] :ip_conntrack:udp_packet+0xbf/0xcf
[<
ffffffff8839f9af>] :ip_conntrack:ip_conntrack_in+0x394/0x4a7
[<
ffffffff8023551f>] nf_iterate+0x41/0x7f
[<
ffffffff8025946a>] nf_hook_slow+0x64/0xd5
[<
ffffffff802369a2>] ip_rcv+0x24e/0x506
[...]
Steven Rostedt found the bug: static_obj() check did not take
PERCPU_ENOUGH_ROOM into account, so in-module DEFINE_PER_CPU-area locks
were triggering this message.
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Steven Rostedt <srostedt@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Ingo Molnar [Fri, 17 Nov 2006 13:26:18 +0000 (14:26 +0100)]
[PATCH] i386/x86_64: ACPI cpu_idle_wait() fix
The scheduler on Andreas Friedrich's hyperthreading system stopped
working properly: the scheduler would never move tasks to another CPU!
The lask known working kernel was 2.6.8.
After a couple of attempts to corner the bug, the following smoking gun
was found:
BIOS reported wrong ACPI idfor the processor
CPU#1: set_cpus_allowed(), swapper:1, 3 -> 2
[<
c0103bbe>] show_trace_log_lvl+0x34/0x4a
[<
c0103ceb>] show_trace+0x2c/0x2e
[<
c01045f8>] dump_stack+0x2b/0x2d
[<
c0116a77>] set_cpus_allowed+0x52/0xec
[<
c0101d86>] cpu_idle_wait+0x2e/0x100
[<
c0259c57>] acpi_processor_power_exit+0x45/0x58
[<
c0259752>] acpi_processor_remove+0x46/0xea
[<
c025c6fb>] acpi_start_single_object+0x47/0x54
[<
c025cee5>] acpi_bus_register_driver+0xa4/0xd3
[<
c04ab2d7>] acpi_processor_init+0x57/0x77
[<
c01004d7>] init+0x146/0x2fd
[<
c0103a87>] kernel_thread_helper+0x7/0x10
a quick look at cpu_idle_wait() shows how broken that code is
on i386: it changes the init task's affinity map but never
restores it ...
and because all userspace tasks get forked by init, they all
inherited that single-CPU affinity mask. x86_64 cloned this
bug too.
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Cc: Andreas Friedrich <andreas.friedrich@fujitsu-siemens.com>
Cc: Wolfgang Erig <Wolfgang.Erig@fujitsu-siemens.com>
Cc: Andrew Morton <akpm@osdl.org>
Cc: Adrian Bunk <bunk@stusta.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Ingo Molnar [Fri, 17 Nov 2006 04:57:49 +0000 (05:57 +0100)]
[PATCH] x86_64: stack unwinder crash fix
the new dwarf2 unwinder crashes while trying to dump the stack:
Leftover inexact backtrace:
Unable to handle kernel paging request at
ffffffff82800000 RIP:
[<
ffffffff8026cf26>] dump_trace+0x35b/0x3d2
PGD 203027 PUD 205027 PMD 0
Oops: 0000 [2] PREEMPT SMP
CPU 0
Modules linked in:
Pid: 30, comm: khelper Not tainted 2.6.19-rc6-rt1 #11
RIP: 0010:[<
ffffffff8026cf26>] [<
ffffffff8026cf26>] dump_trace+0x35b/0x3d2
RSP: 0000:
ffff81003fb9d848 EFLAGS:
00010006
RAX:
0000000000000000 RBX:
0000000000000000 RCX:
0000000000000000
RDX:
0000000000000000 RSI:
ffffffff805b3520 RDI:
0000000000000000
RBP:
ffffffff827ffff9 R08:
ffffffff80aad000 R09:
0000000000000005
R10:
ffffffff80aae000 R11:
ffffffff8037961b R12:
ffff81003fb9d858
R13:
0000000000000000 R14:
ffffffff80598460 R15:
ffffffff80ab1fc0
FS:
0000000000000000(0000) GS:
ffffffff806c4200(0000) knlGS:
0000000000000000
CS: 0010 DS: 0018 ES: 0018 CR0:
000000008005003b
CR2:
ffffffff82800000 CR3:
0000000000201000 CR4:
00000000000006e0
this crash happened because it did not sanitize the dwarf2 data it
got, and got an unaligned stack pointer - which happily walked past
the process stack (and eventually reached the end of kernel memory
and pagefaulted there) due to this naive iteration condition:
HANDLE_STACK (((long) stack & (THREAD_SIZE-1)) != 0);
note that i386 is alot more conservative when it comes to trusting
stack pointers:
static inline int valid_stack_ptr(struct thread_info *tinfo, void *p)
{
return p > (void *)tinfo &&
p < (void *)tinfo + THREAD_SIZE - 3;
}
but the x86_64 code did not take this bit of i386 code.
The fix is to align the stack pointer.
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Cc: Andi Kleen <ak@suse.de>
Cc: Jan Beulich <jbeulich@novell.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Jan-Benedict Glaw [Fri, 17 Nov 2006 09:32:04 +0000 (10:32 +0100)]
lkkbd: Remove my old snail-mail address
I moved to a different town and my old snail-mail address is invalid
now. Also, there's no need at all to have any address like that in
the sources, so remove it completely.
Signed-off-by: Jan-Benedict Glaw <jbglaw@lug-owl.de>
Linus Torvalds [Fri, 17 Nov 2006 06:18:28 +0000 (22:18 -0800)]
Fix generic fb_ddc i2c edid probe msg
Benh points out that the msgs[0].flags entry never got initialized, and
since it's an automatic stack allocation, it could have any random
value, which is bad.
Rewrite the initializer to explicitly initialize all fields of the small
i2c_msg structure array we generate. Just to keep it all obvious, let's
handle msgs[1].buf in the same initializer while we're at it, instead of
initializing that one separately later.
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Benjamin Herrenschmidt [Fri, 17 Nov 2006 04:35:00 +0000 (15:35 +1100)]
[PATCH] Fix radeon DDC regression
When radeonfb was changed to use the new "generic" ddc, a bit of
code initializing the GPIO lines was lost, causing it to not work
if the firmware didn't configure them properly, which seems to
happen on some cards.
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Linus Torvalds [Fri, 17 Nov 2006 00:40:04 +0000 (16:40 -0800)]
Merge /pub/scm/linux/kernel/git/gregkh/driver-2.6
* master.kernel.org:/pub/scm/linux/kernel/git/gregkh/driver-2.6:
aoe: Add forgotten NULL at end of attribute list in aoeblk.c
debugfs: check return value correctly
W1: ioremap balanced with iounmap
Linus Torvalds [Fri, 17 Nov 2006 00:39:46 +0000 (16:39 -0800)]
Merge /pub/scm/linux/kernel/git/gregkh/usb-2.6
* master.kernel.org:/pub/scm/linux/kernel/git/gregkh/usb-2.6:
USB: auerswald possible memleak fix
USB: ipaq: Add HTC Modem Support
USB: Fixed outdated usb_get_device_descriptor() documentation
usb-storage: Remove duplicated unusual_devs.h entries for Sony Ericsson P990i
USB: hid-core: Add quirk for new Apple keyboard/trackpad
USB Storage: unusual_devs.h entry for Sony Ericsson P990i
USB: correct keymapping on Powerbook built-in USB ISO keyboards
USB: OHCI: fix root-hub resume bug
USB: Fix UCR-61S2B unusual_dev entry
USB: ftdi driver pid for dmx-interfaces
USB: ftdi_sio: adds vendor/product id for a RFID construction kit
OHCI: disallow autostop when wakeup is not available