aboutsummaryrefslogtreecommitdiff
path: root/drivers
AgeCommit message (Collapse)AuthorFilesLines
2008-07-12[SCSI] libiscsi: modify libiscsi so it supports offloaded data pathsMike Christie1-75/+104
This patch modifies libiscsi, so drivers like bnx2i and iser can execute a command from queuecommand/send_pdu instead of having to be queued to be run in a workq. Signed-off-by: Mike Christie <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2008-07-12[SCSI] libiscsi, iscsi_tcp, iser: add session cmds array accessorMike Christie4-41/+63
Currently to get a ctask from the session cmd array, you have to know to use the itt modifier. To make this easier on LLDs and so in the future we can easilly kill the session array and use the host shared map instead, this patch adds a nice wrapper to strip the itt into a session->cmds index and return a ctask. Signed-off-by: Mike Christie <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2008-07-12[SCSI] iser: fix handling of scsi cmnds during recovery.Mike Christie4-5/+59
After the stop_conn callback has returned the LLD should not touch the scsi cmds. iscsi_tcp and libiscsi use the conn->recv_lock and suspend_rx field to halt recv path processing, but iser does not have any protection. This patch modifies iser so that userspace can just call the ep_disconnect callback, which will halt all recv IO, before calling the stop_conn callback so we do not have to worry about the conn->recv_lock and suspend rx field. iser just needs to stop the send side from accessing the ib conn. Fixup to handle when the ep poll fails and ep disconnect is called from Erez. Signed-off-by: Mike Christie <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2008-07-12[SCSI] iscsi: remove session/conn_data_size from iscsi_transportMike Christie5-48/+33
This removes the session and conn data_size fields from the iscsi_transport. Just pass in the value like with host allocation. This patch also makes it so the LLD iscsi_conn data is allocated with the iscsi_cls_conn. Signed-off-by: Mike Christie <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2008-07-12[SCSI] iscsi: add iscsi host helpersMike Christie4-29/+86
This finishes the host/session unbinding, by adding some helpers to add and remove hosts and the session they manage. Signed-off-by: Mike Christie <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2008-07-12[SCSI] iscsi: remove session and host binding in libiscsiMike Christie5-189/+206
bnx2i allocates a host per netdevice but will use libiscsi, so this unbinds the session from the host in that code. This will also be useful for the iser parent device dma settings fixes. Signed-off-by: Mike Christie <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2008-07-12[SCSI] iscsi class: rename iscsi_host to iscsi_cls_hostMike Christie1-13/+11
This renames the iscsi_host to iscsi_cls_host to match the other structs, because libiscsi wants to use the iscsi_host name in the future. Signed-off-by: Mike Christie <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2008-07-12[SCSI] iscsi class, iscsi drivers: remove unused iscsi_transport attrsMike Christie5-9/+1
max_cmd_len and max_conn are not really used. max_cmd_len is always 16 and can be set by the LLD. max_conn is always one since we do not support MCS. Signed-off-by: Mike Christie <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2008-07-12[SCSI] iscsi class, iscsi_tcp/iser: add host arg to session creationMike Christie3-11/+41
iscsi offload (bnx2i and qla4xx) allocate a scsi host per hba, so the session creation path needs a shost/host_no argument. Software iscsi/iser will follow the same behabior as before where it allcoates a host per session, but in the future iser will probably look more like bnx2i where the host's parent is the hardware (rnic for iser and for bnx2i it is the nic), because it does not use a socket layer like how iscsi_tcp does. Signed-off-by: Mike Christie <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2008-07-12[SCSI] mpt fusion : Adding FAULT Reset polling workPrakash, Sathya2-0/+94
When the firmware is in Fault state it will be identifed only when the next time the driver access the IOC state. This patch includes a polling function in the driver which will be executed in regular interval to check the status of the firmware and if it is in Fault state, then the firmware will be reset by the driver. Signed-off-by: Sathya Prakash <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2008-07-12[SCSI] mpt fusion : Setting intial period to 0xFF instead of 0xAPrakash, Sathya1-0/+1
The initial period is set to 0xFF Signed-off-by: Sathya Prakash <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2008-06-05[SCSI] mpt fusion : Updated copyright statment with 2008 includedPrakash, Sathya15-17/+17
Updating copyright statement to include the year 2008 Signed-off-by: Sathya Prakash <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2008-06-05[SCSI] mpt fusion: Driver version upgrade to 3.04.07Prakash, Sathya1-2/+2
Updating driver version to 3.04.07 from 3.04.06 Signed-off-by: Sathya Prakash <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2008-06-05[SCSI] zfcp: Fix sparse warning by providing new entry in dbfChristof Schmitt3-17/+28
drivers/s390/scsi/zfcp_dbf.c:692:2: warning: context imbalance in 'zfcp_rec_dbf_event_thread' - different lock contexts for basic block Replace the parameter indicating if the lock is held with a new entry function that only acquires the lock. This makes the lock handling more visible and removes the sparse warning. Signed-off-by: Christof Schmitt <[email protected]> Signed-off-by: Martin Peschke <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2008-06-05[SCSI] zfcp: remove some __attribute__ ((packed))Martin Peschke1-5/+5
There is no need to pack data structures which describe the contents of records in the new recovery trace. lcrash currently depends on the binary format for the other traces, removing the packed attribute from all traces would break trace debugging with lcrash. Signed-off-by: Martin Peschke <[email protected]> Signed-off-by: Christof Schmitt <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2008-06-05[SCSI] zfcp: Refine trace levels of some recovery related events.Martin Peschke1-2/+2
This change better spreads trace levels of recovery related events. There was an overlap of traces for some recovery triggers and the processing of recovery actions. Signed-off-by: Martin Peschke <[email protected]> Signed-off-by: Christof Schmitt <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2008-06-05[SCSI] zfcp: Add information about interrupt to trace.Martin Peschke4-2/+7
Store the index of the buffer in the inbound queue used to report request completion in trace record for request coompletion. This piece of information allows to better compare qdio and zfcp traces. Signed-off-by: Martin Peschke <[email protected]> Signed-off-by: Christof Schmitt <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2008-06-05[SCSI] zfcp: Rename sbal_curr to sbal_last.Martin Peschke5-31/+30
sbal_last is more appropriate, because it matches sbal_first. Signed-off-by: Martin Peschke <[email protected]> Signed-off-by: Christof Schmitt <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2008-06-05[SCSI] zfcp: Rename sbal_last.Martin Peschke2-5/+5
sbal_last is confusing, as it is not the last one actually used, but just a limit. sbal_limit is a better name. Signed-off-by: Martin Peschke <[email protected]> Signed-off-by: Christof Schmitt <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2008-06-05[SCSI] zfcp: Remove field sbal_last from trace record.Martin Peschke2-3/+0
This field is not needed, because it designates an index with a fix offset from sbal_first. It's name is confusing anyway. Signed-off-by: Martin Peschke <[email protected]> Signed-off-by: Christof Schmitt <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2008-06-05[SCSI] zfcp: Remove some sparse warningsChristof Schmitt1-1/+2
Remove some sparse warnings by telling sparse that zfcp_req_create acquires the lock for the request queue. Signed-off-by: Christof Schmitt <[email protected]> Signed-off-by: Martin Peschke <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2008-06-05[SCSI] zfcp: Fix fsf_status_read return code handlingHeiko Carstens1-4/+3
If allocation of a status buffer failed the function incorrectly returned 0 instead of -ENOMEM. Signed-off-by: Heiko Carstens <[email protected]> Signed-off-by: Martin Peschke <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2008-06-05[SCSI] zfcp: Fix mempool pointer for GID_PN request allocationChristof Schmitt1-6/+3
When allocating memory for GID_PN nameserver requests, the allocation function stores the pointer to the mempool, but then overwrites the pointer via memset. Later, the wrong function to free the memory will be called, since this is based on the stored pointer. Fix this by first initializing the struct and then storing the pointer. Signed-off-by: Christof Schmitt <[email protected]> Signed-off-by: Martin Peschke <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2008-06-05[SCSI] zfcp: receiving an unsolicted status can lead to I/O stallSwen Schillig6-35/+32
Processing of an unsolicted status request can lead to a locking race of the request_queue's queue_lock during the recreation of the used up status read request while still in interrupt context of the response handler. Detaching the 'refill' of the long running status read requests from the handler to a scheduled work is solving this issue. In addition, each refill-run is trying to re-establish the full amount of status read requests, which might have failed in earlier runs. Signed-off-by: Swen Schillig <[email protected]> Signed-off-by: Christof Schmitt <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2008-06-05[SCSI] mpt fusion: make struct mpt_proc_root_dir staticAdrian Bunk2-3/+1
This patch makes the needlessly global struct mpt_proc_root_dir static. Signed-off-by: Adrian Bunk <[email protected]> Acked-by: "Prakash, Sathya" <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2008-06-05[SCSI] make use of the residue valueJames Bottomley1-0/+9
USB sometimes doesn't return an error but instead returns a residue value indicating part (or all) of the command wasn't completed. So if the driver _done() error processing indicates the command was fully processed, subtract off the residue so that this USB error gets propagated. Cc: Alan Stern <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2008-06-05[SCSI] SCSI: remove dev->power.power_state from mesh driverAlan Stern1-6/+2
power.power_state is scheduled for removal. This patch (as1055) removes all uses of that field from the SCSI mesh driver. Signed-off-by: Alan Stern <[email protected]> Acked-by: Paul Mackerras <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2008-06-05[SCSI] aacraid: linit.c make aac_show_serial_number staticHarvey Harrison1-1/+1
drivers/scsi/aacraid/linit.c:865:9: warning: symbol 'aac_show_serial_number' was not declared. Should it be static? Signed-off-by: Harvey Harrison <[email protected]> Acked-by: Mark Salyzyn <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2008-06-05[SCSI] zfcp: sysfs attributes for fabric and channel latenciesChristof Schmitt1-0/+65
The latency information is provided on a SCSI device level (LUN) which can be found at the following location  /sys/class/scsi_device/<H:C:T:L>/device/cmd_latency  /sys/class/scsi_device/<H:C:T:L>/device/read_latency  /sys/class/scsi_device/<H:C:T:L>/device/write_latency Each sysfs attribute provides the available data: min, max and sum for fabric and channel latency and the number of requests processed. An overrun of the variables is neither detected nor treated. The file has to be read twice to make a meaningful statement, because only the differences of the values between the two reads can be used. A reset of the values can be achieved by writing to the attribute. Signed-off-by: Swen Schillig <[email protected]> Signed-off-by: Christof Schmitt <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2008-06-05[SCSI] zfcp: Track fabric and channel latencies provided by FCP adapterChristof Schmitt4-1/+82
Add the infrastructure to retrieve the fabric and channel latencies from FSF commands for each SCSI command that has been processed. For each unit, the sum, min, max and number of requests is tracked. Signed-off-by: Swen Schillig <[email protected]> Signed-off-by: Christof Schmitt <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2008-06-05[SCSI] scsi_dh: Remove hardware handler infrastructure from dmChandra Seetharaman4-278/+1
This patch just removes infrastructure that provided support for hardware handlers in the dm layer as it is not needed anymore. Signed-off-by: Chandra Seetharaman <[email protected]> Acked-by: Alasdair G Kergon <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2008-06-05[SCSI] scsi_dh: Remove hardware handlers from dmChandra Seetharaman5-1315/+0
This patch removes the 3 hardware handlers that currently exist under dm as the functionality is moved to SCSI layer in the earlier patches. [jejb: removed more makefile hunks and rejection fixes] Signed-off-by: Chandra Seetharaman <[email protected]> Acked-by: Alasdair G Kergon <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2008-06-05[SCSI] scsi_dh: Remove dm_pg_init_completeChandra Seetharaman1-41/+0
This patch just removes the dm layer's path initialization completion routine. This is separated from the other patch(scsi_dh: Use SCSI device handler in dm-multipath) Just to make that patch more readable. Signed-off-by: Chandra Seetharaman <[email protected]> Acked-by: Alasdair G Kergon <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2008-06-05[SCSI] scsi_dh: Add a single threaded workqueue for initializing pathsChandra Seetharaman1-7/+34
Before this patch set (SCSI hardware handlers), initialization of a path was done asynchronously. Doing that requires a workqueue in each device/hardware handler module and leads to unneccessary complication in the device handler code, making it difficult to read the code and follow the state diagram. Moving that workqueue to this level makes the device handler code simpler. Hence, the workqueue is moved to dm level. A new workqueue is added instead of adding it to the existing workqueue (kmpathd) for the following reasons: 1. Device activation has to happen faster, stacking them along with the other workqueue might lead to unnecessary delay in the activation of the path. 2. The effect could be felt the other way too. i.e the current events that are handled by the existing workqueue might get a delayed response. Signed-off-by: Chandra Seetharaman <[email protected]> Acked-by: Alasdair G Kergon <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2008-06-05[SCSI] scsi_dh: Use SCSI device handler in dm-multipathChandra Seetharaman2-51/+81
This patch converts dm-mpath to use scsi device handlers instead of dm's hardware handlers. This patch does not add any new functionality. Old behaviors remain and userspace tools work as is except that arguments supplied with hardware handler are ignored. One behavioral exception is: Activation of a path is synchronous in this patch, opposed to the older behavior of being asynchronous (changed in patch 07: scsi_dh: Add a single threaded workqueue for initializing a path) Note: There is no need to get a reference for the device handler module (as it was done in the dm hardware handler case) here as the reference is held when the device was first found. Instead we check and make sure that support for the specified device is present at table load time. Signed-off-by: Chandra Seetharaman <[email protected]> Signed-off-by: Mike Christie <[email protected]> Acked-by: Alasdair G Kergon <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2008-06-05[SCSI] scsi_dh: add EMC Clariion device handlerChandra Seetharaman3-0/+506
This adds support for EMC Clariions. This patch has the features that currently exists in mainline and advanced features from Ed's patches. Signed-off-by: Chandra Seetharaman <[email protected]> Signed-off-by: Mike Christie <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2008-06-05[SCSI] scsi_dh: add hp sw device handlerMike Christie3-0/+211
This patch provides the device handler to support the older hp boxes which cannot be upgraded. Signed-off-by: Mike Christie <[email protected]> Signed-off-by: Chandra Seetharaman <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2008-06-05[SCSI] scsi_dh: add lsi rdac device handlerChandra Seetharaman3-0/+698
This patch provides the device handler to support the LSI RDAC SCSI based storage devices. Signed-off-by: Chandra Seetharaman <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2008-06-05[SCSI] scsi_dh: add infrastructure for SCSI Device HandlersChandra Seetharaman8-0/+201
Some of the storage devices (that can be accessed through multiple paths), do need some special handling for 1. Activating the passive path of the storage access. 2. Decode and handle the special sense codes returned by the devices. 3. Handle the I/Os being sent to the passive path, especially during the device probe time. when accessed through multiple paths. As of today this special device handling is done at the dm-multipath layer using dm-handlers. That works well for (1); for (2) to be handled at dm layer, scsi sense information need to be exported from SCSI to dm-layer, which is not very attractive; (3) cannot be done at all at the dm layer. Device handler has been moved to SCSI mainly to handle (2) and (3) properly. Signed-off-by: Chandra Seetharaman <[email protected]> Signed-off-by: Mike Anderson <[email protected]> Signed-off-by: Mike Christie <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2008-06-04Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6Linus Torvalds16-54/+182
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (56 commits) l2tp: Fix possible oops if transmitting or receiving when tunnel goes down tcp: Fix for race due to temporary drop of the socket lock in skb_splice_bits. tcp: Increment OUTRSTS in tcp_send_active_reset() raw: Raw socket leak. lt2p: Fix possible WARN_ON from socket code when UDP socket is closed USB ID for Philips CPWUA054/00 Wireless USB Adapter 11g ssb: Fix context assertion in ssb_pcicore_dev_irqvecs_enable libertas: fix command size for CMD_802_11_SUBSCRIBE_EVENT ipw2200: expire and use oldest BSS on adhoc create airo warning fix b43legacy: Fix controller restart crash sctp: Fix ECN markings for IPv6 sctp: Flush the queue only once during fast retransmit. sctp: Start T3-RTX timer when fast retransmitting lowest TSN sctp: Correctly implement Fast Recovery cwnd manipulations. sctp: Move sctp_v4_dst_saddr out of loop sctp: retran_path update bug fix tcp: fix skb vs fack_count out-of-sync condition sunhme: Cleanup use of deprecated calls to save_and_cli and restore_flags. xfrm: xfrm_algo: correct usage of RIPEMD-160 ...
2008-06-04l2tp: Fix possible oops if transmitting or receiving when tunnel goes downJames Chapman1-23/+78
Some problems have been experienced in the field which cause an oops in the pppol2tp driver if L2TP tunnels fail while passing data. The pppol2tp driver uses private data that is referenced via the sk->sk_user_data of its UDP and PPPoL2TP sockets. This patch makes sure that the driver uses sock_hold() when it holds a reference to the sk pointer. This affects its sendmsg(), recvmsg(), getname(), [gs]etsockopt() and ioctl() handlers. Tested by ISP where problem was seen. System has been up 10 days with no oops since running this patch. Without the patch, an oops would occur every 1-2 days. Signed-off-by: James Chapman <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2008-06-04lt2p: Fix possible WARN_ON from socket code when UDP socket is closedJames Chapman1-0/+10
If an L2TP daemon closes a tunnel socket while packets are queued in the tunnel's reorder queue, a kernel warning is logged because the socket is closed while skbs are still referencing it. The fix is to purge the queue in the socket's release handler. WARNING: at include/net/sock.h:351 udp_lib_unhash+0x41/0x68() Pid: 12998, comm: openl2tpd Not tainted 2.6.25 #8 [<c0423c58>] warn_on_slowpath+0x41/0x51 [<c05d33a7>] udp_lib_unhash+0x41/0x68 [<c059424d>] sk_common_release+0x23/0x90 [<c05d16be>] udp_lib_close+0x8/0xa [<c05d8684>] inet_release+0x42/0x48 [<c0592599>] sock_release+0x14/0x60 [<c059299f>] sock_close+0x29/0x30 [<c046ef52>] __fput+0xad/0x15b [<c046f1d9>] fput+0x17/0x19 [<c046c8c4>] filp_close+0x50/0x5a [<c046da06>] sys_close+0x69/0x9f [<c04048ce>] syscall_call+0x7/0xb Signed-off-by: James Chapman <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2008-06-04Merge branch 'master' of ↵David S. Miller6-15/+40
master.kernel.org:/pub/scm/linux/kernel/git/linville/wireless-2.6
2008-06-04USB ID for Philips CPWUA054/00 Wireless USB Adapter 11gFelix Homann1-0/+1
Enable the Philips CPWUA054/00 in p54usb. Cc: Jeff Garzik <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2008-06-04ssb: Fix context assertion in ssb_pcicore_dev_irqvecs_enableMichael Buesch1-2/+2
This fixes a context assertion in ssb that makes b44 print out warnings on resume. This fixes the following kernel oops: http://www.kerneloops.org/oops.php?number=12732 http://www.kerneloops.org/oops.php?number=11410 Signed-off-by: Michael Buesch <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2008-06-04libertas: fix command size for CMD_802_11_SUBSCRIBE_EVENTHolger Schurig1-2/+2
The size was two small by two bytes. Signed-off-by: Holger Schurig Signed-off-by: John W. Linville <[email protected]>
2008-06-04ipw2200: expire and use oldest BSS on adhoc createDan Williams1-2/+25
If there are no networks on the free list, expire the oldest one when creating a new adhoc network. Because ipw2200 and the ieee80211 stack don't actually cull old networks and place them back on the free list unless they are needed for new probe responses, over time the free list would become empty and creating an adhoc network would fail due to the ! list_empty(...) check. Signed-off-by: Dan Williams <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2008-06-04airo warning fixAndrew Morton1-1/+1
WARNING: space prohibited between function name and open parenthesis '(' #22: FILE: drivers/net/wireless/airo.c:2907: + while ((IN4500 (ai, COMMAND) & COMMAND_BUSY) && (delay < 10000)) { total: 0 errors, 1 warnings, 8 lines checked ./patches/wireless-airo-waitbusy-wont-delay.patch has style problems, please review. If any of these errors are false positives report them to the maintainer, see CHECKPATCH in MAINTAINERS. Please run checkpatch prior to sending patches Cc: Dan Williams <[email protected]> Cc: Roel Kluin <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2008-06-04b43legacy: Fix controller restart crashMichael Buesch1-8/+9
This fixes a kernel crash on rmmod, in the case where the controller was restarted before doing the rmmod. Signed-off-by: Michael Buesch <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2008-06-04sunhme: Cleanup use of deprecated calls to save_and_cli and restore_flags.Mark Asselstine1-2/+2
Make use of local_irq_save and local_irq_restore rather then the deprecated save_and_cli and restore_flags calls. Signed-off-by: Mark Asselstine <[email protected]> Signed-off-by: David S. Miller <[email protected]>