Mike Christie [Wed, 30 May 2007 17:57:18 +0000 (12:57 -0500)]
[SCSI] libiscsi: fix iscsi cmdsn allocation
The cmdsn allocation and pdu transmit code can race, and we can end
up sending a pdu with cmdsn 10 before a pdu with 5. The target will
then fail the connection/session. This patch fixes the problem by
delaying the cmdsn allocation until we are about to send the pdu.
This also removes the xmitmutex. We were using the connection xmitmutex
during error handling to handle races with mtask and ctask cleanup and
completion. For ctasks we now have nice refcounting and for the mtask,
if we hit the case where the mtask timesout and it is floating
around somewhere in the driver, we end up dropping the session.
And to handle session level cleanup, we use the xmit suspend bit
along with scsi_flush_queue and the session lock to make sure
that the xmit thread is not possibly transmitting a task while
we are trying to kill it.
Signed-off-by: Mike Christie <michaelc@cs.wisc.edu>
Cc: Roland Dreier <rdreier@cisco.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Mike Christie [Wed, 30 May 2007 17:57:17 +0000 (12:57 -0500)]
[SCSI] iscsi tcp: fix iscsi xmit state machine
If iscsi_tcp partially sends a header, it would recalculate the
header size and readd the size of the digest (if header digests
are used).This would cause us to send sizeof(digest) extra bytes
when we sent the rest of the header.
Signed-off-by: Mike Christie <michaelc@cs.wisc.edu>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Mike Christie [Wed, 30 May 2007 17:57:16 +0000 (12:57 -0500)]
[SCSI] iscsi class, iscsi_tcp, ib_iser: add sysfs chap file
The attached patches add sysfs files for the chap settings
to the iscsi transport class, iscsi_tcp and ib_iser. This is
needed for software iscsi because there are times when iscsid
can die and it will need to reread the values it was using.
And it is needed by qla4xxx for basic management opertaions.
This patch does not hook in qla4xxx yet, because I am not sure
the mbx command to use.
Signed-off-by: Mike Christie <michaelc@cs.wisc.edu>
Cc: Roland Dreier <rdreier@cisco.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Mike Christie [Wed, 30 May 2007 17:57:15 +0000 (12:57 -0500)]
[SCSI] iscsi: Some fixes in preparation for bidirectional support - total_length
- Remove shadow of request length from struct iscsi_cmd_task.
- change all users to use scsi_cmnd->request_bufflen directly
(With bidi we will use scsi-ml API to retrieve in/out length)
Signed-off-by: Boaz Harrosh <bharrosh@panasas.com>
Signed-off-by: Benny Halevy <bhalevy@panasas.com>
Signed-off-by: Mike Christie <michaelc@cs.wisc.edu>
Cc: Roland Dreier <rdreier@cisco.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Mike Christie [Wed, 30 May 2007 17:57:14 +0000 (12:57 -0500)]
[SCSI] iscsi: Some fixes in preparation for bidirectional support - exp_datasn
This patch fixes handling of expected datasn/r2tsn as received from
target. It is done according to: T10 rfc3720 section 3.2.2.3. Data Sequencing.
. unify expected datasn/r2tsn into one counter
. calculate than check expected datasn/r2tsn. On error print a message
and fail the request. (TODO use iscsi retransmits)
. remove the FIXME ;)
. avoid zero length memset
Signed-off-by: Boaz Harrosh <bharrosh@panasas.com>
Signed-off-by: Benny Halevy <bhalevy@panasas.com>
Signed-off-by: Mike Christie <michaelc@cs.wisc.edu>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Mike Christie [Wed, 30 May 2007 17:57:13 +0000 (12:57 -0500)]
[SCSI] iscsi class, qla4xxx, iscsi_tcp, ib_iser: export/set initiator name
For iscsi root boot, software iscsi needs to know what the BIOS/OF
initiator used for the initiator name so this puts it in sysfs
for userspace to be able to pick up.
For hw iscsi, it is nice to see what the card is using.
This patch adds the new param, and hooks in qla4xxx, iscsi_tcp, and ib_iser.
Signed-off-by: Mike Christie <michaelc@cs.wisc.edu>
Cc: Roland Dreier <rdreier@cisco.com>
Cc: David C Somayajulu <david.somayajulu@qlogic.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Mike Christie [Wed, 30 May 2007 17:57:12 +0000 (12:57 -0500)]
[SCSI] libiscsi, iscsi_tcp, ib_iser : add sw iscsi host get/set params helpers
iscsid and udev need to key off the hw address being
used so add some helpers for iser and iscsi tcp.
Also convert them
Signed-off-by: Mike Christie <michaelc@cs.wisc.edu>
Cc: Roland Dreier <rdreier@cisco.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Mike Christie [Wed, 30 May 2007 17:57:11 +0000 (12:57 -0500)]
[SCSI] iscsi class: add iscsi host set param event
The iscsi class uses the set_param event to set session
and connection params. This patch adds a set_host_param
so we can set host level values.
Signed-off-by: Mike Christie <michaelc@cs.wisc.edu>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Mike Christie [Wed, 30 May 2007 17:57:10 +0000 (12:57 -0500)]
[SCSI] iscsi_transport, qla4xxx: have class lookup host for drivers
We are going to be adding more host level sysfs attrs and
set_params, so this patch has them take a scsi_host instead
of either a scsi_host or host no.
Signed-off-by: Mike Christie <michaelc@cs.wisc.edu>
Cc: David C Somayajulu <david.somayajulu@qlogic.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Mike Christie [Wed, 30 May 2007 17:57:09 +0000 (12:57 -0500)]
[SCSI] qla4xxx: export mac as hw address
Export mac as hw address.
Signed-off-by: Mike Christie <michaelc@cs.wisc.edu>
Cc: David C Somayajulu <david.somayajulu@qlogic.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Mike Christie [Wed, 30 May 2007 17:57:08 +0000 (12:57 -0500)]
[SCSI] iscsi_transport: export hw address
Add hw address sysfs file.
Signed-off-by: Mike Christie <michaelc@cs.wisc.edu>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Mike Christie [Wed, 30 May 2007 17:57:07 +0000 (12:57 -0500)]
[SCSI] iscsi_transport: Check iscsi interface skb allocation return value
Let's not oops when we cannot allocate a skb! Add a check
for if alloc_skb fails.
Signed-off-by: Mike Christie <michaelc@cs.wisc.edu>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Salyzyn, Mark [Wed, 30 May 2007 14:01:14 +0000 (10:01 -0400)]
[SCSI] aacraid: Changeable queue depth
Inspired by Brian King's patch to the ibmvscsi driver. Adds support for
a changeable queue depth to the aacraid driver.
Signed-off-by: Mark Salyzyn <aacraid@adaptec.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
FUJITA Tomonori [Mon, 14 May 2007 11:13:44 +0000 (20:13 +0900)]
[SCSI] megaraid: convert to use the data buffer accessors
- remove the unnecessary map_single path.
- convert to use the new accessors for the sg lists and the
parameters.
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Acked-by: Sumant Patro <sumant.patro@lsi.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
FUJITA Tomonori [Fri, 25 May 2007 20:04:08 +0000 (05:04 +0900)]
[SCSI] megaraid_sas: convert to use the data buffer accessors
- remove the unnecessary map_single path.
- convert to use the new accessors for the sg lists and the
parameters.
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Acked-by: Sumant Patro <sumant.patro@lsi.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
FUJITA Tomonori [Mon, 14 May 2007 11:17:27 +0000 (20:17 +0900)]
[SCSI] megaraid_old: convert to use the data buffer accessors
- remove the unnecessary map_single path.
- convert to use the new accessors for the sg lists and the
parameters.
Jens Axboe <jens.axboe@oracle.com> did the for_each_sg cleanup.
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Acked-by: Sumant Patro <sumant.patro@lsi.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Christoph Hellwig [Thu, 31 May 2007 18:12:32 +0000 (20:12 +0200)]
[SCSI] esp: use shost_priv
Signed-off-by: Christoph Hellwig <hch@lst.de>
Acked-by: David Miller <davem@davemloft.net>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Christoph Hellwig [Thu, 31 May 2007 18:12:26 +0000 (20:12 +0200)]
[SCSI] introduce shost_priv helper
Currently accessing the scsi host private data is rather messy because
it comes as an unsigned long that always needs a cast first. This patch
introduces a helper that does the cast called shost_priv. It's similar
in spirit to netdev_priv for network drivers.
This is the first patch introducing the macro, and the second patch
in the series will convert esp and it's subdrivers as an example.
Further conversion will wait until the helper is in the tree to make
patch juggling easier.
Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
FUJITA Tomonori [Fri, 25 May 2007 17:08:10 +0000 (02:08 +0900)]
[SCSI] dpt_i2o: convert to use the data buffer accessors
- remove the unnecessary map_single path.
- convert to use the new accessors for the sg lists and the
parameters.
Jens Axboe <jens.axboe@oracle.com> did the for_each_sg cleanup.
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
ACK. Code inspected. Driver changes NOT unit tested or compile tested.
Acked-by: "Salyzyn, Mark" <mark_salyzyn@adaptec.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
FUJITA Tomonori [Fri, 25 May 2007 16:55:38 +0000 (01:55 +0900)]
[SCSI] qla2xxx: convert to use the data buffer accessors
- remove the unnecessary map_single path.
- convert to use the new accessors for the sg lists and the
parameters.
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Acked-by: Andrew Vasquez <andrew.vasquez@qlogic.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
FUJITA Tomonori [Thu, 31 May 2007 06:24:03 +0000 (15:24 +0900)]
[SCSI] 3w-9xxx: eliminate missed map_single path
This removes the remaining unnecessary map_single path
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
James Bottomley [Thu, 31 May 2007 04:57:05 +0000 (23:57 -0500)]
[SCSI] Merge up to linux-2.6 head
Conflicts:
drivers/scsi/jazz_esp.c
Same changes made by both SCSI and SPARC trees: problem with UTF-8
conversion in the copyright.
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
FUJITA Tomonori [Mon, 14 May 2007 11:20:27 +0000 (20:20 +0900)]
[SCSI] 3w-xxxx: convert to use the data buffer accessors
- remove the unnecessary map_single path.
- convert to use the new accessors for the sg lists and the
parameters.
Jens Axboe <jens.axboe@oracle.com> did the for_each_sg cleanup.
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Acked-by: Adam Radford <linuxraid@amcc.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
FUJITA Tomonori [Fri, 25 May 2007 17:33:31 +0000 (02:33 +0900)]
[SCSI] 3w-9xxx: convert to use the data buffer accessors
- remove the unnecessary map_single path.
- convert to use the new accessors for the sg lists and the
parameters.
Jens Axboe <jens.axboe@oracle.com> did the for_each_sg cleanup.
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Acked-by: Adam Radford <linuxraid@amcc.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Bryan Wu [Thu, 31 May 2007 03:31:55 +0000 (11:31 +0800)]
a bug in ramfs_nommu_resize function, passing old size to vmtruncate
It should be pass "newsize" to vmtruncate function to modify the
inode->i_size, while the old size is passed to vmtruncate.
This bug was caught by LTP truncate test case on Blackfin platform.
After it was fixed, the LTP truncate test case passed.
Signed-off-by: Bryan Wu <bryan.wu@analog.com>
Cc: David Howells <dhowells@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Trond Myklebust [Wed, 30 May 2007 16:58:00 +0000 (12:58 -0400)]
NFS: Fix a refcount leakage in O_DIRECT
The current code is leaking a reference to dreq->kref when the calls to
nfs_direct_read_schedule() and nfs_direct_write_schedule() return an
error.
This patch moves the call to kref_put() from nfs_direct_wait() back into
nfs_direct_read() and nfs_direct_write() (which are the functions that
actually took the reference in the first place) fixing the leak.
Thanks to Denis V. Lunev for spotting the bug and proposing the original
fix.
Acked-by: Denis V. Lunev <dlunev@gmail.com>
Acked-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Kyle McMartin [Wed, 30 May 2007 06:43:16 +0000 (02:43 -0400)]
fix possible null ptr deref in kallsyms_lookup
ugh, this function gets called by our unwinder. recursive backtrace for
the win... bisection to find this one was "fun."
Signed-off-by: Kyle McMartin <kyle@parisc-linux.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Richard Henderson [Tue, 29 May 2007 23:03:28 +0000 (16:03 -0700)]
alpha: support new syscalls
Some of the new syscalls require supporting TIF_RESTORE_SIGMASK.
Signed-off-by: Richard Henderson <rth@twiddle.net>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Richard Henderson [Tue, 29 May 2007 23:01:35 +0000 (16:01 -0700)]
alpha: cleanup in bitops.h
Remove 2 functions private to the alpha implemetation,
in favor of similar functions in <linux/log2.h>.
Provide a more efficient version of the fls64 function
for pre-ev67 alphas.
Signed-off-by: Richard Henderson <rth@twiddle.net>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Linus Torvalds [Wed, 30 May 2007 17:04:01 +0000 (10:04 -0700)]
Merge master.kernel.org:/home/rmk/linux-2.6-arm
* master.kernel.org:/home/rmk/linux-2.6-arm:
[ARM] Fix some section mismatch warnings
[ARM] 4417/1: Serial: Fix AMBA drivers locking
[ARM] 4394/1: ARMv7: Add the TLB range operations
[ARM] 4410/1: Remove extern declarations in coyote/ixdpg425-pci.c
[ARM] 4416/1: NWFPE: fix undeclared symbols
[ARM] 4415/1: AML5900: fix sparse warnings from map_io
[ARM] 4414/1: S3C2443: sparse fix for clock.c
[ARM] 4412/1: S3C2412: reset errata fix
[ARM] 4411/1: KS8695: Another serial driver fix
[ARM] oprofile: avoid lockdep warnings on mpcore oprofile init
[ARM] Fix stacktrace FP range checking
[ARM] use __used attribute
[ARM] enable arbitary speed tty ioctls and split input/output speed
[ARM] remove unused header file: arch/arm/mach-s3c2410/bast.h
[ARM] 4406/1: Trivial NSLU2 / NAS-100D header & setup code cleanup
[ARM] 4405/1: NSLU2, DSM-G600 frequency fixup code
[ARM] 4404/1: Trivial IXP42x Kconfig cleanup
[ARM] 4403/1: Make the PXA-I2C driver work with lockdep validator
[ARM] 4402/1: S3C2443: Add physical address of HSMMC controller
[ARM] 4401/1: S3C2443: Add definitions for port GPIOJ
Russell King [Wed, 30 May 2007 16:48:45 +0000 (17:48 +0100)]
[ARM] Fix some section mismatch warnings
The following patch fixes these section mismatch warnings:
WARNING: arch/arm/mach-at91/built-in.o(.text+0xdf4): Section mismatch: reference to .init.data:dk_nand_partition (between 'nand_partitions' and 'at91_leds_event')
WARNING: arch/arm/mach-at91/built-in.o(.text+0xbdc): Section mismatch: reference to .init.data:ek_nand_partition (after 'nand_partitions')
WARNING: arch/arm/mach-at91/built-in.o(.text+0xbdc): Section mismatch: reference to .init.data:ek_nand_partition (between 'nand_partitions' and 'ads7843_pendown_state')
WARNING: arch/arm/mach-at91/built-in.o(.text+0xbdc): Section mismatch: reference to .init.data:ek_nand_partition (after 'nand_partitions')
WARNING: arch/arm/mach-at91/built-in.o(.text+0xc28): Section mismatch: reference to .init.data:kb9202_nand_partition (after 'nand_partitions')
WARNING: arch/arm/mach-footbridge/built-in.o(.text+0xaa4): Section mismatch: reference to .init.data:cats_pci (between 'cats_pci_init' and 'ebsa285_leds_event')WARNING: arch/arm/mach-ixp2000/built-in.o(.text+0xb54): Section mismatch: reference to .init.text:ixp2000_init_irq (between 'ixdp2x00_init_irq' and 'ixdp2x00_irq_handler')
WARNING: arch/arm/mach-ixp23xx/built-in.o(.text+0x670): Section mismatch: reference to .init.text:ixp23xx_pci_common_init (between 'ixp23xx_pci_slave_init' and 'ixp23xx_pci_scan_bus')
WARNING: arch/arm/mach-ixp23xx/built-in.o(.text+0x890): Section mismatch: reference to .init.text:ixp23xx_init_irq (between 'ixdp2351_init_irq' and 'roadrunner_pci_preinit')
WARNING: arch/arm/mach-ixp23xx/built-in.o(.text+0x9a8): Section mismatch: reference to .init.text:ixp23xx_pci_preinit (after 'roadrunner_pci_preinit')
WARNING: arch/arm/mach-imx/built-in.o(__ksymtab+0x80): Section mismatch: reference to .init.text:imx_set_mmc_info (between '__ksymtab_imx_set_mmc_info' and '__ksymtab_set_imx_fb_info')
WARNING: arch/arm/mach-imx/built-in.o(__ksymtab+0x88): Section mismatch: reference to .init.text:set_imx_fb_info (after '__ksymtab_set_imx_fb_info')
WARNING: arch/arm/mach-sa1100/built-in.o(.text+0x1930): Section mismatch: reference to .init.data:neponset_port_fns (between 'neponset_probe' and 'assabet_leds_event')
WARNING: drivers/built-in.o(.text+0x3f100): Section mismatch: reference to .init.text:ps2_clear_input (between 'ps2_probe' and 'ps2_cmd_aborted')
WARNING: drivers/built-in.o(.text+0x3f1c8): Section mismatch: reference to .init.text:ps2_clear_input (between 'ps2_probe' and 'ps2_cmd_aborted')
WARNING: drivers/built-in.o(.text+0x4f988): Section mismatch: reference to .init.text:ps2_clear_input (between 'ps2_probe' and 'ps2_cmd_aborted')
WARNING: drivers/built-in.o(.text+0x4fa50): Section mismatch: reference to .init.text:ps2_clear_input (between 'ps2_probe' and 'ps2_cmd_aborted')
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Acked-by: Lennert Buytenhek <buytenh@wantstofly.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Linus Torvalds [Wed, 30 May 2007 16:02:33 +0000 (09:02 -0700)]
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:
ehea: Fixed multi queue RX bug
sky2: enable IRQ on duplex renegotiation
e1000: restore netif_poll_enable call but make sure IRQs are off
defxx: Fix the handling of ioremap() failures
sky2: program proper register for fiber PHY
sky2: checksum offload plus vlan bug
sky2: dont set bogus bit in PHY register
[PATCH] hostap: Allocate enough tailroom for TKIP
[PATCH] softmac: alloc_ieee80211() NULL check
[PATCH] ieee80211: fix incomplete error message
[PATCH] prism54: fix monitor mode oops
Linus Torvalds [Wed, 30 May 2007 15:19:15 +0000 (08:19 -0700)]
Merge branch 'for-linus' of git://oss.sgi.com:8090/xfs/xfs-2.6
* 'for-linus' of git://oss.sgi.com:8090/xfs/xfs-2.6:
[XFS] Write at EOF may not update filesize correctly.
Thomas Klein [Wed, 30 May 2007 10:39:23 +0000 (12:39 +0200)]
ehea: Fixed multi queue RX bug
Must access the respective queue's dummy netdev instead of the port's netdev.
Signed-off-by: Thomas Klein <tklein@de.ibm.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Stephen Hemminger [Thu, 24 May 2007 22:22:47 +0000 (15:22 -0700)]
sky2: enable IRQ on duplex renegotiation
Don't want IRQ on FIFO error because there is nothing useful to do with it.
But do want IRQ on duplex change.
Signed-off-by: Stephen Hemminger <shemminger@linux-foundation.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Herbert Xu [Tue, 29 May 2007 22:07:31 +0000 (15:07 -0700)]
e1000: restore netif_poll_enable call but make sure IRQs are off
This restores the previously removed netif_poll_enable call in e1000_open.
It's needed on all but the first call to e1000_open for a NIC as
e1000_close always calls netif_poll_disable.
netif_poll_enable can only be called safely if no polls have been
scheduled. This should be the case as long as we don't enter our IRQ
handler.
In order to guarantee this we explicitly disable IRQs as early as possible
when we're probing the NIC.
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Cc: "Kok, Auke" <auke-jan.h.kok@intel.com>
Cc: Jeff Garzik <jeff@garzik.org>
Cc: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Maciej W. Rozycki [Tue, 29 May 2007 15:12:22 +0000 (16:12 +0100)]
defxx: Fix the handling of ioremap() failures
If ioremap_nocache() is unfortunate enough to fail, the error code is not
set correctly leading to a false success from dfx_register(). This change
fixes the problem.
Signed-off-by: Maciej W. Rozycki <macro@linux-mips.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Stephen Hemminger [Thu, 24 May 2007 22:22:45 +0000 (15:22 -0700)]
sky2: program proper register for fiber PHY
Driver was reading value from one register, setting bit and then
writing the wrong register.
Signed-off-by: Stephen Hemminger <shemminger@linux-foundation.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Stephen Hemminger [Thu, 24 May 2007 22:22:44 +0000 (15:22 -0700)]
sky2: checksum offload plus vlan bug
Driver was not correctly setting up transmit descriptor when doing
VLAN tag insertion with checksum offload.
Signed-off-by: Stephen Hemminger <shemminger@linux-foundation.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Stephen Hemminger [Thu, 24 May 2007 22:22:43 +0000 (15:22 -0700)]
sky2: dont set bogus bit in PHY register
This code inherited from the sk98lin driver is incorrect on the Yukon2.
The GPHY_CTRL register values are specific to the internal PHY of the chip
and the values used were leftovers.
Driver was setting bit 13 which is now the INT polarity for the PHY!
Signed-off-by: Stephen Hemminger <shemminger@linux-foundation.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Jeff Garzik [Wed, 30 May 2007 13:46:14 +0000 (09:46 -0400)]
Merge branch 'upstream-fixes' of git://git./linux/kernel/git/linville/wireless-2.6 into upstream-fixes
Robert P. J. Day [Wed, 23 May 2007 21:41:40 +0000 (14:41 -0700)]
[SCSI] gdth: Fix obvious typo "spin_lock_irqrestore()"
Fix misspelled "spin_lock_irqrestore" to read "spin_unlock_irqrestore"
instead.
Presumably, GDTH_RTC doesn't get used a lot.
Signed-off-by: Robert P. J. Day <rpjday@mindspring.com>
Acked-by: Achim Leubner <achim_leubner@adaptec.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
David Rientjes [Wed, 23 May 2007 21:41:52 +0000 (14:41 -0700)]
[SCSI] gdth: fix ambiguous gdthtable definition
Labeling a variable as __attribute_used__ is ambiguous: it means
__attribute__((unused)) for gcc <3.4 and __attribute__((used)) for gcc >=3.4.
There is no such thing as labeling a variable as __attribute__((used)). We
assume that we're simply suppressing a warning here if gdthtable[] is declared
but unreferenced.
Acked-by: Achim Leubner <achim_leubner@adaptec.com>
Signed-off-by: David Rientjes <rientjes@google.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
FUJITA Tomonori [Fri, 25 May 2007 17:12:48 +0000 (02:12 +0900)]
[SCSI] nsp32: convert to use the data buffer accessors
- remove the unnecessary map_single path.
- convert to use the new accessors for the sg lists and the
parameters.
Jens Axboe <jens.axboe@oracle.com> did the for_each_sg cleanup.
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Acked-by: GOTO Masanori <gotom@sanori.org>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Thomas Gleixner [Tue, 29 May 2007 20:53:50 +0000 (21:53 +0100)]
[ARM] 4417/1: Serial: Fix AMBA drivers locking
The -rt patch triggered a lockdep warning in the amba serial drivers, which never
shows up on UP kernels. On SMP systems this would trigger as well.
Release the port lock before calling tty_flip_buffer_push() and reacquire it after
the call. This matches the code in the 8250 serial driver.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Catalin Marinas [Fri, 18 May 2007 10:25:31 +0000 (11:25 +0100)]
[ARM] 4394/1: ARMv7: Add the TLB range operations
We are currently using the ARMv6 operations but need to duplicate some
of the code because of the introduction of the new CPU barrier
instructions in ARMv7.
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Michael-Luke Jones [Sun, 27 May 2007 20:33:28 +0000 (21:33 +0100)]
[ARM] 4410/1: Remove extern declarations in coyote/ixdpg425-pci.c
This patch removes apparently unnecessary extern declarations in
coyote-pci.c and ixdpg425-pci.c within arch/arm/mach-ixp4xx and
has been compile-tested without producing warnings or errors.
Kernel coding style forbids the use of extern declarations within .c
files.
Signed-off-by: Michael-Luke Jones <mlj28@cam.ac.uk>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Ben Dooks [Mon, 28 May 2007 18:03:47 +0000 (19:03 +0100)]
[ARM] 4416/1: NWFPE: fix undeclared symbols
Fix the undeclared symbols sparse is warning about.
arch/arm/nwfpe/softfloat.c:1727:7: warning: symbol 'float64_to_uint32' was not declared. Should it be static?
arch/arm/nwfpe/softfloat.c:1753:7: warning: symbol 'float64_to_uint32_round_to_zero' was not declared. Should it be static?
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Ben Dooks [Mon, 28 May 2007 17:57:31 +0000 (18:57 +0100)]
[ARM] 4415/1: AML5900: fix sparse warnings from map_io
The map_io function does not need to be exported
from this file, and therefore should be declared
static.
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Ben Dooks [Mon, 28 May 2007 17:55:43 +0000 (18:55 +0100)]
[ARM] 4414/1: S3C2443: sparse fix for clock.c
Fix sparse warnings in the arch/arm/mach-s3c2443/clock.c,
including an bug in initialising the cf clock initialiser
where two values are being set for the ctrlbit.
arch/arm/mach-s3c2443/clock.c:397:12: warning: symbol 'clk_usb_bus_host' was not declared. Should it be static?
arch/arm/mach-s3c2443/clock.c:760:4: error: Initializer entry defined twice
arch/arm/mach-s3c2443/clock.c:761:4: also defined here
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Ben Dooks [Mon, 28 May 2007 17:19:16 +0000 (18:19 +0100)]
[ARM] 4412/1: S3C2412: reset errata fix
The S3C2412 has an reset-errata where the clock
may cause a glitch switching back to EXTCLK. We
force a switch to EXTCLK before writing the
reset register to force use of the CLKCON sync
logic to properly switch.
Fix problem reported by Matthieu Castet.
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Andrew Victor [Mon, 28 May 2007 09:47:19 +0000 (10:47 +0100)]
[ARM] 4411/1: KS8695: Another serial driver fix
Fix a error reported by newer versions of GCC.
error: static declaration of 'ks8695_reg' follows non-static declaration
Signed-off-by: Andrew Victor <andrew@sanpeople.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Russell King [Sat, 26 May 2007 11:08:29 +0000 (12:08 +0100)]
[ARM] oprofile: avoid lockdep warnings on mpcore oprofile init
Fix lockdep warnings, caused by 'set_affinity' being called without
the correct locks taken and local interrupts disabled:
=================================
[ INFO: inconsistent lock state ]
2.6.22-rc2 #1
---------------------------------
inconsistent {in-hardirq-W} -> {hardirq-on-W} usage.
swapper/1 [HC0[0]:SC0[0]:HE1:SE1] takes:
(irq_controller_lock){++..}, at: [<
c002be50>] gic_set_cpu+0x60/0xa0
{in-hardirq-W} state was registered at:
[<
c005d9a8>] lock_acquire+0x58/0x6c
[<
c0233068>] _spin_lock+0x40/0x50
[<
c002c020>] gic_mask_irq+0x2c/0x6c
[<
c0069c64>] handle_level_irq+0x11c/0x14c
[<
c0020060>] asm_do_IRQ+0x60/0x84
[<
c0020d2c>] __irq_svc+0x4c/0xc0
[<
c000ed84>] __alloc_bootmem_nopanic+0x74/0x88
[<
c000edb0>] __alloc_bootmem+0x18/0x3c
[<
c000fa00>] alloc_large_system_hash+0x16c/0x200
[<
c00108dc>] inode_init_early+0x5c/0xa4
[<
c00106dc>] vfs_caches_init_early+0x24/0xa0
[<
c0008e54>] start_kernel+0x220/0x2fc
[<
00008078>] 0x8078
irq event stamp: 88438
hardirqs last enabled at (88438): [<
c0020dc0>] preempt_return+0x20/0x2c
hardirqs last disabled at (88436): [<
c00417bc>] __do_softirq+0xb0/0x138
softirqs last enabled at (88437): [<
c0041810>] __do_softirq+0x104/0x138
softirqs last disabled at (88428): [<
c0041d9c>] irq_exit+0x68/0x7c
other info that might help us debug this:
no locks held by swapper/1.
stack backtrace:
[<
c0025ecc>] (dump_stack+0x0/0x14) from [<
c005b1e4>] (print_usage_bug+0x138/0x168)
[<
c005b0ac>] (print_usage_bug+0x0/0x168) from [<
c005be80>] (mark_lock+0x484/0x6a0)
[<
c005b9fc>] (mark_lock+0x0/0x6a0) from [<
c005cc48>] (__lock_acquire+0x3c0/0x10c8)
[<
c005c888>] (__lock_acquire+0x0/0x10c8) from [<
c005d9a8>] (lock_acquire+0x58/0x6c)
[<
c005d950>] (lock_acquire+0x0/0x6c) from [<
c0233068>] (_spin_lock+0x40/0x50)
[<
c0233028>] (_spin_lock+0x0/0x50) from [<
c002be50>] (gic_set_cpu+0x60/0xa0)
[<
c002bdf0>] (gic_set_cpu+0x0/0xa0) from [<
c01b04cc>] (em_route_irq+0x38/0x40)
[<
c01b0494>] (em_route_irq+0x0/0x40) from [<
c01b04ec>] (em_setup+0x18/0xa4)
[<
c01b04d4>] (em_setup+0x0/0xa4) from [<
c001570c>] (oprofile_arch_init+0x24/0xe8)
[<
c00156e8>] (oprofile_arch_init+0x0/0xe8) from [<
c0015640>] (oprofile_init+0x1c/0x64)
[<
c0015624>] (oprofile_init+0x0/0x64) from [<
c0008a20>] (kernel_init+0x154/0x368)
[<
c00088cc>] (kernel_init+0x0/0x368) from [<
c003ef34>] (do_exit+0x0/0x904)
oprofile: using arm/mpcore
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Russell King [Sat, 26 May 2007 11:04:17 +0000 (12:04 +0100)]
[ARM] Fix stacktrace FP range checking
Fix an oops in the stacktrace code, caused by improper range checking.
We subtract 12 off 'fp' before testing to see if it's below the low
bound. However, if 'fp' were zero before, it becomes a very large
positive number, causing this test to succeed where it should fail.
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
David Rientjes [Fri, 11 May 2007 23:18:55 +0000 (16:18 -0700)]
[ARM] use __used attribute
Use the newly introduced __used attribute in place of the deprecated
__attribute_used__. Functionally the same.
Signed-off-by: David Rientjes <rientjes@google.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Brian King [Tue, 29 May 2007 20:46:14 +0000 (15:46 -0500)]
[SCSI] ibmvscsi: Changeable queue depth
Adds support for a changeable queue depth to ibmvscsi.
Signed-off-by: Brian King <brking@linux.vnet.ibm.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
FUJITA Tomonori [Sat, 26 May 2007 01:01:24 +0000 (10:01 +0900)]
[SCSI] stex: convert to use the data buffer accessors
- remove the unnecessary map_single path.
- convert to use the new accessors for the sg lists and the
parameters.
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Acked-by: Ed Lin <ed.lin@promise.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Matt Mackall [Wed, 30 May 2007 02:58:10 +0000 (21:58 -0500)]
random: fix seeding with zero entropy
Add data from zero-entropy random_writes directly to output pools to
avoid accounting difficulties on machines without entropy sources.
Tested on lguest with all entropy sources disabled.
Signed-off-by: Matt Mackall <mpm@selenic.com>
Acked-by: "Theodore Ts'o" <tytso@mit.edu>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Matt Mackall [Wed, 30 May 2007 02:54:27 +0000 (21:54 -0500)]
random: fix error in entropy extraction
Fix cast error in entropy extraction.
Add comments explaining the magic 16.
Remove extra confusing loop variable.
Signed-off-by: Matt Mackall <mpm@selenic.com>
Acked-by: "Theodore Ts'o" <tytso@mit.edu>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Linus Torvalds [Wed, 30 May 2007 01:12:34 +0000 (18:12 -0700)]
Merge branch 'for-linus' of /linux/kernel/git/roland/infiniband
* 'for-linus' of master.kernel.org:/pub/scm/linux/kernel/git/roland/infiniband:
IB/mlx4: Fix last allocated object tracking in bitmap allocator
IB/cm: Fix stale connection detection
IPoIB/cm: Fix performance regression on Mellanox
IB/mthca: Fix handling of send CQE with error for QPs connected to SRQ
Thomas Gleixner [Tue, 29 May 2007 21:47:39 +0000 (23:47 +0200)]
NOHZ: prevent multiplication overflow - stop timer for huge timeouts
get_next_timer_interrupt() returns a delta of (LONG_MAX > 1) in case
there is no timer pending. On 64 bit machines this results in a
multiplication overflow in tick_nohz_stop_sched_tick().
Reported by: Dave Miller <davem@davemloft.net>
Make the return value a constant and limit the return value to a 32 bit
value.
When the max timeout value is returned, we can safely stop the tick
timer device. The max jiffies delta results in a 12 days timeout for
HZ=1000.
In the long term the get_next_timer_interrupt() code needs to be
reworked to return ktime instead of jiffies, but we have to wait until
the last users of the original NO_IDLE_HZ code are converted.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Acked-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
FUJITA Tomonori [Sat, 26 May 2007 05:08:20 +0000 (14:08 +0900)]
[SCSI] qla4xxx: convert to use the data buffer accessors
- remove the unnecessary map_single path.
- convert to use the new accessors for the sg lists and the
parameters.
Jens Axboe <jens.axboe@oracle.com> did the for_each_sg cleanup.
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Acked-by: David C Somayajulu <david.somayajulu@qlogic.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Roland Dreier [Tue, 29 May 2007 23:07:09 +0000 (16:07 -0700)]
IB/mlx4: Fix last allocated object tracking in bitmap allocator
Set last allocated object to the object after the one just allocated
before ORing in the extra top bits. Also handle the case where this
wraps around.
Signed-off-by: Roland Dreier <rolandd@cisco.com>
Sean Hefty [Tue, 22 May 2007 00:38:02 +0000 (17:38 -0700)]
IB/cm: Fix stale connection detection
The ib_cm can incorrectly detect a stale connection (a new connection
request for a QPN that is already connected) as a duplicate connection
request. Separate the handling of potential duplicate REQs from stale
connections.
Signed-off-by: Sean Hefty <sean.hefty@intel.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
Michael S. Tsirkin [Mon, 28 May 2007 11:37:27 +0000 (14:37 +0300)]
IPoIB/cm: Fix performance regression on Mellanox
commit
518b1646 ("IPoIB/cm: Fix SRQ WR leak") introduced a severe
performance regression on Mellanox cards, because keeping a QP in the
error state for extended periods of time moves hardware to the slow
path (until the QP is destroyed). For example, MPI latency goes from
~3 usecs to ~7 usecs.
Fix this by posting a send WR on one of the QPs that are being
flushed, instead of using a separate drain QP that is kept in the
error state.
This fixes bug <https://bugs.openfabrics.org/show_bug.cgi?id=636>,
reported and bisected by Scott Weitzenkamp at Cisco and debugged by
Sasha Mikheev at Voltaire.
Signed-off-by: Michael S. Tsirkin <mst@dev.mellanox.co.il>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
Michael S. Tsirkin [Sun, 27 May 2007 15:06:42 +0000 (18:06 +0300)]
IB/mthca: Fix handling of send CQE with error for QPs connected to SRQ
mthca_free_err_wqe() currently treats both send and receive CQEs
identically if a QP is using an SRQ. But for Tavor hardware, send
CQEs with error can be chained together even if the RQ is part of SRQ,
so we may miss some CQEs.
Fix by following the WQE chain for all send CQEs even for non-SRQ QPs.
This fixes crashes in IPoIB CM:
<https://bugs.openfabrics.org//show_bug.cgi?id=604>
Signed-off-by: Michael S. Tsirkin <mst@dev.mellanox.co.il>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
FUJITA Tomonori [Fri, 25 May 2007 15:37:15 +0000 (00:37 +0900)]
[SCSI] fusion: convert to use the data buffer accessors
- remove the unnecessary map_single path.
- convert to use the new accessors for the sg lists and the
parameters.
TODO: use scsi_for_each_sg().
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Acked-by: Eric Moore <eric.moore@lsi.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
FUJITA Tomonori [Fri, 25 May 2007 15:26:59 +0000 (00:26 +0900)]
[SCSI] ipr: convert to use the data buffer accessors
- remove the unnecessary map_single path.
- convert to use the new accessors for the sg lists and the
parameters.
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Acked-by: Brian King <brking@linux.vnet.ibm.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Linus Torvalds [Tue, 29 May 2007 21:03:42 +0000 (14:03 -0700)]
Merge branch 'master' of /linux/kernel/git/davem/sparc-2.6
* 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6:
[SPARC64]: Fill holes in hypervisor APIs and fix KTSB registry.
[SPARC64]: Fix two bugs wrt. kernel 4MB TSB.
[SPARC]: Mark as emulating cmpxchg, add appropriate depends for DRM.
[SPARC]: Emulate cmpxchg like parisc
[SPARC64]: Fix _PAGE_EXEC_4U check in sun4u I-TLB miss handler.
[SPARC]: Linux always started with 9600 8N1
[SPARC64]: arch/sparc64/time.c doesn't compile on Ultra 1 (no PCI)
[SPARC64]: Eliminate NR_CPUS limitations.
[SPARC64]: Use machine description and OBP properly for cpu probing.
[SPARC64]: Negotiate hypervisor API for PCI services.
[SPARC64]: Report proper system soft state to the hypervisor.
[SPARC64]: Fix typo in sun4v_hvapi_register error handling.
[SCSI] ESP: Kill SCSI_ESP_CORE and link directly just like jazz_esp
[SCSI] jazz_esp: Converted to use esp_core.
[SPARC64]: PCI device scan is way too verbose by default.
[SERIAL] sunzilog: section mismatch fix
[SPARC32]: Removes mismatch section warnigs in sparc time.c file
[SPARC64]: Don't be picky about virtual-dma values on sun4v.
[SPARC64]: Kill unused DIE_PAGE_FAULT enum value.
[SCSI] pluto: Use wait_for_completion_timeout.
Linus Torvalds [Tue, 29 May 2007 20:45:38 +0000 (13:45 -0700)]
Merge branch 'for-linus' of git://git./linux/kernel/git/ieee1394/linux1394-2.6
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6:
firewire: fix return code
firewire: prefix modules with firewire- instead of fw-
firewire: Add missing byteswapping for receive DMA programs.
ieee1394: raw1394: Fix async send
ieee1394: eth1394: bring back a parent device
ieee1394: eth1394: handle tlabel exhaustion
ieee1394: eth1394: remove bogus netif_wake_queue
ieee1394: sbp2: include workqueue.h
Linus Torvalds [Tue, 29 May 2007 20:44:34 +0000 (13:44 -0700)]
Merge branch 'hwmon-for-linus' of git://jdelvare.pck.nerim.net/jdelvare-2.6
* 'hwmon-for-linus' of git://jdelvare.pck.nerim.net/jdelvare-2.6:
hwmon/applesmc: Handle name file creation error and deletion
hwmon/applesmc: Simplify dependencies
hwmon-vid: Don't spam the logs when VRM version is missing
hwmon/w83627hf: Be quiet when no chip is found
hwmon/coretemp: Add more safety checks
hwmon/ds1621: Fix swapped temperature limits
Linus Torvalds [Tue, 29 May 2007 20:42:28 +0000 (13:42 -0700)]
Merge branch 'for_paulus' of /linux/kernel/git/galak/powerpc
* 'for_paulus' of master.kernel.org:/pub/scm/linux/kernel/git/galak/powerpc:
[POWERPC] Fix Kconfig warning
[PPC] Fix modpost warning
[POWERPC] Fix modpost warning
[POWERPC] Fix Section mismatch warnings
[POWERPC] QE: fix Kconfig 'select' warning with UCC_FAST
[POWERPC] 52xx: unbreak lite5200 dts (_pic vs. -pic)
[PPC] Remove duplicate export of __div64_32.
[PPC] Fix COMMON symbol warnings
Linus Torvalds [Tue, 29 May 2007 20:39:52 +0000 (13:39 -0700)]
Merge /linux/kernel/git/jejb/scsi-rc-fixes-2.6
* master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6:
[SCSI] megaraid_sas: intercept cmd timeout and throttle io
[SCSI] fusion: Fix |/|| confusion
[SCSI] aic94xx: asd_clear_nexus should fail if the cleared task does not complete
[SCSI] aic7xxx: fix aicasm build failure with gcc-3.4.6
[SCSI] aacraid: apply commit config for reset_devices flag
[SCSI] sd: fix refcounting regression in suspend/resume routines
[SCSI] aacraid: fix panic on short Inquiry
[SCSI] aacraid: Correct sa platform support. (Was: [Bug 8469] Bad EIP value on pentium3 SMP kernel-2.6.21.1)
[SCSI] NCR53C9x: correct spelling mistake in deprecation notice
[SCSI] tgt: fix a rdma indirect transfer error bug
[SCSI] MegaRAID: Update MAINTAINERS email-id
[SCSI] stex: minor cleanup and version update
[SCSI] stex: fix reset recovery for console device
[SCSI] stex: extend hard reset wait time
[SCSI] stex: fix id mapping issue
[SCSI] ipr: Proper return codes for eh_dev_reset for SATA devices
[SCSI] zfcp: IO stall after deleting and path checker changes after reenabling zfcp devices
[SCSI] zfcp: avoid clutter in erp_dbf
Alan Stern [Tue, 29 May 2007 20:34:52 +0000 (16:34 -0400)]
USB: replace flush_workqueue with cancel_sync_work
This patch (as912) replaces a couple of calls to flush_workqueue()
with cancel_sync_work() and cancel_rearming_delayed_work(). Using a
more directed approach allows us to avoid some nasty deadlocks. The
prime example occurs when a first-level device (the parent is a root
hub) is removed while at the same time the root hub gets a remote
wakeup request. khubd would try to flush the autosuspend workqueue
while holding the root-hub's lock, and the remote-wakeup workqueue
routine would be waiting to lock the root hub.
The patch also reorganizes the power management portion of
usb_disconnect(), separating it out into its own routine. The
autosuspend workqueue entry is cancelled immediately instead of
waiting for the device's release routine. In addition,
synchronization with the autosuspend thread is carried out even for
root hubs (an oversight in the original code).
Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Greg KH <gregkh@suse.de>
Cc: Mark Lord <lkml@rtr.ca>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
FUJITA Tomonori [Fri, 25 May 2007 17:46:37 +0000 (02:46 +0900)]
[SCSI] libsas: convert to use the data buffer accessors
- convert to use the new accessors for the sg lists and the
parameters.
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Acked-by: Darrick J. Wong <djwong@us.ibm.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
FUJITA Tomonori [Fri, 25 May 2007 17:45:17 +0000 (02:45 +0900)]
[SCSI] cciss: convert to use the data buffer accessors
- remove the unnecessary map_single path.
- convert to use the new accessors for the sg lists and the
parameters.
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Acked-by: Mike Miller <Mike.Miller@hp.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Brandon Craig Rhodes [Mon, 28 May 2007 16:38:46 +0000 (09:38 -0700)]
[PATCH] hostap: Allocate enough tailroom for TKIP
When hostap_tx_encrypt() tries to allocate enough headroom and
tailroom for ieee80211 encryption, it only makes enough room for the
"mpdu" phase of the operation, but forgets about the "msdu" phase.
(For TKIP, these two phases require, respectively, 4 and 8 bytes of
tailroom, per the "ieee80211_crypt_tkip" structure at the bottom of
net/ieee80211/ieee80211_crypt_tkip.c.)
Signed-off-by: Brandon Craig Rhodes <brandon@rhodesmill.org>
Signed-off-by: Jouni Malinen <j@w1.fi>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Akinobu Mita [Sun, 27 May 2007 14:26:31 +0000 (23:26 +0900)]
[PATCH] softmac: alloc_ieee80211() NULL check
This patch adds missing NULL check and trims a line longer than 80 columns.
Cc: Johannes Berg <johannes@sipsolutions.net>
Cc: Joe Jezak <josejx@gentoo.org>
Cc: Daniel Drake <dsd@gentoo.org>
Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Akinobu Mita [Sun, 27 May 2007 14:25:00 +0000 (23:25 +0900)]
[PATCH] ieee80211: fix incomplete error message
Fix error message:
Unable to network device. --> Unable to allocate network device.
Cc: James Ketrenos <jketreno@linux.intel.com>
Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Björn Steinbrink [Mon, 28 May 2007 01:43:39 +0000 (03:43 +0200)]
[PATCH] prism54: fix monitor mode oops
Manually set the device of a skb for prism54 cards that are in monitor
mode as we never call eth_type_trans in that case.
Signed-off-by: Björn Steinbrink <B.Steinbrink@gmx.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
David S. Miller [Tue, 29 May 2007 09:22:14 +0000 (02:22 -0700)]
[SPARC64]: Fill holes in hypervisor APIs and fix KTSB registry.
Several interfaces were missing and others misnumbered or
improperly documented.
Also, make sure to check the return value when registering
the kernel TSBs with the hypervisor. This helped to find
the 4MB kernel TSB alignment bug fixed in a previous changeset.
Signed-off-by: David S. Miller <davem@davemloft.net>
David S. Miller [Tue, 29 May 2007 08:58:31 +0000 (01:58 -0700)]
[SPARC64]: Fix two bugs wrt. kernel 4MB TSB.
1) The TSB lookup was not using the correct hash mask.
2) It was not aligned on a boundary equal to it's size,
which is required by the sun4v Hypervisor.
wasn't having it's return value checked, and that bug will be fixed up
as well in a subsequent changeset.
Signed-off-by: David S. Miller <davem@davemloft.net>
Martin Habets [Tue, 29 May 2007 08:11:57 +0000 (01:11 -0700)]
[SPARC]: Mark as emulating cmpxchg, add appropriate depends for DRM.
The DRM code depends on an atomic version of cmpxchg(), which is not
available on sparc32. Since other platforms besides sparc32 have this
issue a KCONFIG option is added for it.
Signed-off-by: Martin Habets <errandir_news@mph.eclipse.co.uk>
Signed-off-by: David S. Miller <davem@davemloft.net>
Kyle McMartin [Tue, 29 May 2007 09:51:13 +0000 (02:51 -0700)]
[SPARC]: Emulate cmpxchg like parisc
Signed-off-by: Kyle McMartin <kyle@parisc-linux.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
David S. Miller [Mon, 28 May 2007 03:24:47 +0000 (20:24 -0700)]
[SPARC64]: Fix _PAGE_EXEC_4U check in sun4u I-TLB miss handler.
It was using an immediate _PAGE_EXEC_4U value in an 'and'
instruction to perform the test. This doesn't work because
the immediate field is signed 13-bit, this the mask being
tested against the PTE was 0x1000 sign-extended to 32-bits
instead of just plain 0x1000.
Signed-off-by: David S. Miller <davem@davemloft.net>
Jan Engelhardt [Sun, 27 May 2007 21:48:54 +0000 (14:48 -0700)]
[SPARC]: Linux always started with 9600 8N1
The Linux kernel ignored the PROM's serial settings (115200,n,8,1 in
my case). This was because mode_prop remained "ttyX-mode" (expected:
"ttya-mode") due to the constness of string literals when used with
"char *". Since there is no "ttyX-mode" property in the PROM, Linux
always used the default 9600.
[ Investigation of the suncore.s assembler reveals that gcc optimizied
away the stores, yet did not emit a warning, which is a pretty
anti-social thing to do and is the only reason this bug lived for
so long -DaveM ]
Signed-off-by: Jan Engelhardt <jengelh@gmx.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
Horst H. von Brand [Sun, 27 May 2007 00:47:53 +0000 (17:47 -0700)]
[SPARC64]: arch/sparc64/time.c doesn't compile on Ultra 1 (no PCI)
This is bug 8540 on bugzilla.kernel.org
arch/sparc64/time.c contains references to assorted bq4802 stuff if
CONFIG_PCI is not set, and compile fails. I #ifdef'ed out everything
that looks PCI-ish in that file.
Signed-off-by: David S. Miller <davem@davemloft.net>
David S. Miller [Sat, 26 May 2007 08:14:43 +0000 (01:14 -0700)]
[SPARC64]: Eliminate NR_CPUS limitations.
Cheetah systems can have cpuids as large as 1023, although physical
systems don't have that many cpus.
Only three limitations existed in the kernel preventing arbitrary
NR_CPUS values:
1) dcache dirty cpu state stored in page->flags on
D-cache aliasing platforms. With some build time
calculations and some build-time BUG checks on
page->flags layout, this one was easily solved.
2) The cheetah XCALL delivery code could only handle
a cpumask with up to 32 cpus set. Some simple looping
logic clears that up too.
3) thread_info->cpu was a u8, easily changed to a u16.
There are a few spots in the kernel that still put NR_CPUS
sized arrays on the kernel stack, but that's not a sparc64
specific problem.
Signed-off-by: David S. Miller <davem@davemloft.net>
David S. Miller [Fri, 25 May 2007 22:49:59 +0000 (15:49 -0700)]
[SPARC64]: Use machine description and OBP properly for cpu probing.
Signed-off-by: David S. Miller <davem@davemloft.net>
David S. Miller [Fri, 25 May 2007 08:04:15 +0000 (01:04 -0700)]
[SPARC64]: Negotiate hypervisor API for PCI services.
Signed-off-by: David S. Miller <davem@davemloft.net>
David S. Miller [Fri, 25 May 2007 07:37:12 +0000 (00:37 -0700)]
[SPARC64]: Report proper system soft state to the hypervisor.
Signed-off-by: David S. Miller <davem@davemloft.net>
David S. Miller [Fri, 25 May 2007 07:33:49 +0000 (00:33 -0700)]
[SPARC64]: Fix typo in sun4v_hvapi_register error handling.
Signed-off-by: David S. Miller <davem@davemloft.net>
David S. Miller [Wed, 23 May 2007 06:48:10 +0000 (23:48 -0700)]
[SCSI] ESP: Kill SCSI_ESP_CORE and link directly just like jazz_esp
Signed-off-by: David S. Miller <davem@davemloft.net>
Thomas Bogendoerfer [Wed, 23 May 2007 00:03:44 +0000 (17:03 -0700)]
[SCSI] jazz_esp: Converted to use esp_core.
Use new esp_scsi for JAZZ SCSI host adapter driver
Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
David S. Miller [Tue, 22 May 2007 08:24:14 +0000 (01:24 -0700)]
[SPARC64]: PCI device scan is way too verbose by default.
These messages were very useful when bringing up the
OBP based PCI device scan code, but it's just a lot
of noise every bootup now especially on big machines.
The messages can be re-enabled via 'ofpci_debug=1' on
the kernel command line.
Signed-off-by: David S. Miller <davem@davemloft.net>
Krzysztof Helt [Sat, 19 May 2007 19:06:02 +0000 (12:06 -0700)]
[SERIAL] sunzilog: section mismatch fix
This patch fixes section mismatch warnings in the sunzilog driver.
Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: David S. Miller <davem@davemloft.net>
Krzysztof Helt [Sat, 19 May 2007 19:03:24 +0000 (12:03 -0700)]
[SPARC32]: Removes mismatch section warnigs in sparc time.c file
This patch removes mismatch section warnings in the
sparc/kernel/time.c file.
Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: David S. Miller <davem@davemloft.net>
David S. Miller [Thu, 24 May 2007 01:00:46 +0000 (18:00 -0700)]
[SPARC64]: Don't be picky about virtual-dma values on sun4v.
Handle arbitrary base and length values as long as they
are multiples of IO_PAGE_SIZE.
Bug found by Arun Kumar Rao.
Signed-off-by: David S. Miller <davem@davemloft.net>
Christoph Hellwig [Wed, 23 May 2007 21:57:49 +0000 (14:57 -0700)]
[SPARC64]: Kill unused DIE_PAGE_FAULT enum value.
sparc64 got rid of the pagefault notifiers, so the enum value for them
can go away aswell.
Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
Christoph Hellwig [Wed, 23 May 2007 21:56:45 +0000 (14:56 -0700)]
[SCSI] pluto: Use wait_for_completion_timeout.
Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: David S. Miller <davem@davemloft.net>