linux-2.6
17 years ago[SCSI] areca: improve driver stability and compatibility
nickcheng(鄭守謙 [Fri, 15 Jun 2007 03:43:32 +0000 (11:43 +0800)] 
[SCSI] areca: improve driver stability and compatibility

Description:

    1. Implement PCI-Express error recovery function and AER
       capability, especially thanks to Yanmin Zhang's openhanded help
       about AER

    2. Implement the selection of ARCMSR_MAX_XFER_SECTORS_B=4096 if
       firmware version is latter than 1.42

    3. Add arcmsr_done4_abort_postqueue in arcmsr_iop_reset function
       to improve the stability as hot-unplug/plug

    4. Modify the ISR, arcmsr_interrupt routine, to prevent the
       inconsistency with sg_mod driver if application directly calls
       the arcmsr driver w/o passing through scsi midlayer

Signed-off-by: Nick Cheng <nick.cheng@areca.com.tw>
[jejb: unused variable removal]
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
17 years ago[SCSI] aacraid: convert to use the data buffer accessors
FUJITA Tomonori [Fri, 25 May 2007 17:00:42 +0000 (02:00 +0900)] 
[SCSI] aacraid: 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: "Salyzyn, Mark" <mark_salyzyn@adaptec.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
17 years ago[SCSI] ips: convert to use the data buffer accessors
FUJITA Tomonori [Wed, 13 Jun 2007 14:27:09 +0000 (23:27 +0900)] 
[SCSI] ips: 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.

TODO: use scsi_for_each_sg() in the breakup handling.

Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Acked-by: "Salyzyn, Mark" <mark_salyzyn@adaptec.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
17 years ago[SCSI] ib_srp: convert to use the data buffer accessors
FUJITA Tomonori [Fri, 25 May 2007 17:28:25 +0000 (02:28 +0900)] 
[SCSI] ib_srp: 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: Roland Dreier <rdreier@cisco.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
17 years ago[SCSI] mesh: convert to use the data buffer accessors
FUJITA Tomonori [Sat, 26 May 2007 04:07:28 +0000 (13:07 +0900)] 
[SCSI] mesh: 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: Paul Mackerras <paulus@samba.org>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
17 years ago[SCSI] iscsi class, iscsi_tcp, iser, qla4xxx: add netdevname sysfs attr
Mike Christie [Wed, 30 May 2007 17:57:25 +0000 (12:57 -0500)] 
[SCSI] iscsi class, iscsi_tcp, iser, qla4xxx: add netdevname sysfs attr

iSCSI must support software iscsi (iscsi_tcp, iser), hardware iscsi (qla4xxx),
and partial offload (broadcom). To be able to allow each stack or driver
or port (virtual or physical) to be able to log into the same target portal
we use the initiator tuple [[HWADDRESS | NETDEVNAME], INITIATOR_NAME] and
the target tuple [TARGETNAME, CONN_ADDRESS, CONN_PORT] to id a session.
This patch adds the netdev name, which is used by software iscsi when
it binds a session to a netdevice using the SO_BINDTODEVICE sock opt.
It cannot use HWADDRESS because if someone did vlans then the same netdevice
will have the same mac and the initiator,target id will not be unique.

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>
17 years ago[SCSI] iscsi class, qla4xxx, iscsi_tcp: export local address
Mike Christie [Wed, 30 May 2007 17:57:24 +0000 (12:57 -0500)] 
[SCSI] iscsi class, qla4xxx, iscsi_tcp: export local address

This patch exports the local address for the session. For
qla4xxx this is the ip of the hba's port. For software
this is the src addr of the socket.

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>
17 years ago[SCSI] iscsi_tcp: fix fd leak
Mike Christie [Wed, 30 May 2007 17:57:23 +0000 (12:57 -0500)] 
[SCSI] iscsi_tcp: fix fd leak

This patch should fix the file descriptor leak problem. A quick look
through the kernel shows that users of sockfd_lookup use sockfd_put to
release their handle. We were using sock_release which from the comments
and code look like it does not release the get() on the file from the
lookup.

Signed-off-by: Mike Christie <michaelc@cs.wisc.edu>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
17 years ago[SCSI] qla4xxx: add iscsi_transport capps for fw capacilities
Mike Christie [Wed, 30 May 2007 17:57:22 +0000 (12:57 -0500)] 
[SCSI] qla4xxx: add iscsi_transport capps for fw capacilities

Userspace will want to know what the driver/FW/HW capabilites
when it comes to some operations like if the hardware can
do discovery or if it can store iscsi info like what target
was used for boot. This patch adds some new caps so userspace
can tell if the driver supports hardware/fw based sendtargets
discovery and if the hardware has some flash which may be
holding or can contain some iscsi target info
.
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>
17 years ago[SCSI] iscsi_tcp: remove DMA alignment restriction
Mike Christie [Wed, 30 May 2007 17:57:21 +0000 (12:57 -0500)] 
[SCSI] iscsi_tcp: remove DMA alignment restriction

Add a slave_configure function to iSCSI TCP to remove any DMA
alignment restriction.  This permits the use of direct IO from
arbitrary addresses.

Signed-off-by: Pete Wyckoff <pw@osc.edu>
Signed-off-by: Mike Christie <michaelc@cs.wisc.edu>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
17 years ago[SCSI] iscsi_tcp: fix handling of data buffer padding
Mike Christie [Wed, 30 May 2007 17:57:20 +0000 (12:57 -0500)] 
[SCSI] iscsi_tcp: fix handling of data buffer padding

If we got the padding, data and header in different skbs,
we were not handling the padding correctly because we attributed it
to the data's skb. This resulted in the initiator reading from
pad bytes + skb offset instead of the correct offset.

If you could not connect with the open solaris target, this
will fix the lock up problem you were hitting.

Signed-off-by: Mike Christie <michaelc@cs.wisc.edu>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
17 years ago[SCSI] libiscsi: make can_queue configurable
Mike Christie [Wed, 30 May 2007 17:57:19 +0000 (12:57 -0500)] 
[SCSI] libiscsi: make can_queue configurable

This patch allows us to set can_queue and cmds_per_lun from userspace
when we create the session/host. From there we can set it on a per
target basis. The patch fully converts iscsi_tcp, but only hooks
up ib_iser for cmd_per_lun since it currently has a lots of preallocations
based on can_queue.

Signed-off-by: Mike Christie <michaelc@cs.wisc.edu>
Cc: Roland Dreier <rdreier@cisco.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
17 years ago[SCSI] libiscsi: fix iscsi cmdsn allocation
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>
17 years ago[SCSI] iscsi tcp: fix iscsi xmit state machine
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>
17 years ago[SCSI] iscsi class, iscsi_tcp, ib_iser: add sysfs chap file
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>
17 years ago[SCSI] iscsi: Some fixes in preparation for bidirectional support - total_length
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>
17 years ago[SCSI] iscsi: Some fixes in preparation for bidirectional support - exp_datasn
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>
17 years ago[SCSI] iscsi class, qla4xxx, iscsi_tcp, ib_iser: export/set initiator name
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>
17 years ago[SCSI] libiscsi, iscsi_tcp, ib_iser : add sw iscsi host get/set params helpers
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>
17 years ago[SCSI] iscsi class: add iscsi host set param event
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>
17 years ago[SCSI] iscsi_transport, qla4xxx: have class lookup host for drivers
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>
17 years ago[SCSI] qla4xxx: export mac as hw address
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>
17 years ago[SCSI] iscsi_transport: export hw address
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>
17 years ago[SCSI] iscsi_transport: Check iscsi interface skb allocation return value
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>
17 years ago[SCSI] aacraid: Changeable queue depth
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>
17 years ago[SCSI] megaraid: convert to use the data buffer accessors
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>
17 years ago[SCSI] megaraid_sas: convert to use the data buffer accessors
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>
17 years ago[SCSI] megaraid_old: convert to use the data buffer accessors
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>
17 years ago[SCSI] esp: use shost_priv
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>
17 years ago[SCSI] introduce shost_priv helper
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>
17 years ago[SCSI] dpt_i2o: convert to use the data buffer accessors
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>
17 years ago[SCSI] qla2xxx: convert to use the data buffer accessors
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>
17 years ago[SCSI] 3w-9xxx: eliminate missed map_single path
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>
17 years ago[SCSI] Merge up to linux-2.6 head
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>
17 years ago[SCSI] 3w-xxxx: convert to use the data buffer accessors
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>
17 years ago[SCSI] 3w-9xxx: convert to use the data buffer accessors
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>
17 years agoa bug in ramfs_nommu_resize function, passing old size to vmtruncate
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>
17 years agoNFS: Fix a refcount leakage in O_DIRECT
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>
17 years agofix possible null ptr deref in kallsyms_lookup
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>
17 years agoalpha: support new syscalls
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>
17 years agoalpha: cleanup in bitops.h
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>
17 years agoMerge master.kernel.org:/home/rmk/linux-2.6-arm
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

17 years ago[ARM] Fix some section mismatch warnings
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>
17 years agoMerge branch 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik...
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

17 years agoMerge branch 'for-linus' of git://oss.sgi.com:8090/xfs/xfs-2.6
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.

17 years agoehea: Fixed multi queue RX bug
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>
17 years agosky2: enable IRQ on duplex renegotiation
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>
17 years agoe1000: restore netif_poll_enable call but make sure IRQs are off
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>
17 years agodefxx: Fix the handling of ioremap() failures
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>
17 years agosky2: program proper register for fiber PHY
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>
17 years agosky2: checksum offload plus vlan bug
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>
17 years agosky2: dont set bogus bit in PHY register
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>
17 years agoMerge branch 'upstream-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/linvil...
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

17 years ago[SCSI] gdth: Fix obvious typo "spin_lock_irqrestore()"
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>
17 years ago[SCSI] gdth: fix ambiguous gdthtable definition
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>
17 years ago[SCSI] nsp32: convert to use the data buffer accessors
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>
17 years ago[ARM] 4417/1: Serial: Fix AMBA drivers locking
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>
17 years ago[ARM] 4394/1: ARMv7: Add the TLB range operations
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>
17 years ago[ARM] 4410/1: Remove extern declarations in coyote/ixdpg425-pci.c
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>
17 years ago[ARM] 4416/1: NWFPE: fix undeclared symbols
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>
17 years ago[ARM] 4415/1: AML5900: fix sparse warnings from map_io
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>
17 years ago[ARM] 4414/1: S3C2443: sparse fix for clock.c
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>
17 years ago[ARM] 4412/1: S3C2412: reset errata fix
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>
17 years ago[ARM] 4411/1: KS8695: Another serial driver fix
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>
17 years ago[ARM] oprofile: avoid lockdep warnings on mpcore oprofile init
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>
17 years ago[ARM] Fix stacktrace FP range checking
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>
17 years ago[ARM] use __used attribute
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>
17 years ago[SCSI] ibmvscsi: Changeable queue depth
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>
17 years ago[SCSI] stex: convert to use the data buffer accessors
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>
17 years agorandom: fix seeding with zero entropy
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>
17 years agorandom: fix error in entropy extraction
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>
17 years agoMerge branch 'for-linus' of master.kernel.org:/pub/scm/linux/kernel/git/roland/infiniband
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

17 years agoNOHZ: prevent multiplication overflow - stop timer for huge timeouts
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>
17 years ago[SCSI] qla4xxx: convert to use the data buffer accessors
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>
17 years agoIB/mlx4: Fix last allocated object tracking in bitmap allocator
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>
17 years agoIB/cm: Fix stale connection detection
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>
17 years agoIPoIB/cm: Fix performance regression on Mellanox
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>
17 years agoIB/mthca: Fix handling of send CQE with error for QPs connected to SRQ
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>
17 years ago[SCSI] fusion: convert to use the data buffer accessors
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>
17 years ago[SCSI] ipr: convert to use the data buffer accessors
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>
17 years agoMerge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6
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.

17 years agoMerge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394...
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

17 years agoMerge branch 'hwmon-for-linus' of git://jdelvare.pck.nerim.net/jdelvare-2.6
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

17 years agoMerge branch 'for_paulus' of master.kernel.org:/pub/scm/linux/kernel/git/galak/powerpc
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

17 years agoMerge master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6
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

17 years agoUSB: replace flush_workqueue with cancel_sync_work
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>
17 years ago[SCSI] libsas: convert to use the data buffer accessors
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>
17 years ago[SCSI] cciss: convert to use the data buffer accessors
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>
17 years ago[PATCH] hostap: Allocate enough tailroom for TKIP
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>
17 years ago[PATCH] softmac: alloc_ieee80211() NULL check
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>
17 years ago[PATCH] ieee80211: fix incomplete error message
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>
17 years ago[PATCH] prism54: fix monitor mode oops
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>
17 years ago[SPARC64]: Fill holes in hypervisor APIs and fix KTSB registry.
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>
17 years ago[SPARC64]: Fix two bugs wrt. kernel 4MB TSB.
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>
17 years ago[SPARC]: Mark as emulating cmpxchg, add appropriate depends for DRM.
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>
17 years ago[SPARC]: Emulate cmpxchg like parisc
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>
17 years ago[SPARC64]: Fix _PAGE_EXEC_4U check in sun4u I-TLB miss handler.
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>
17 years ago[SPARC]: Linux always started with 9600 8N1
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>
17 years ago[SPARC64]: arch/sparc64/time.c doesn't compile on Ultra 1 (no PCI)
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>
17 years ago[SPARC64]: Eliminate NR_CPUS limitations.
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>