Sujit Reddy Thumma [Mon, 26 May 2014 05:29:14 +0000 (10:59 +0530)]
scsi: ufs: Fix device and host reset methods
As of now SCSI initiated error handling is broken because,
the reset APIs don't try to bring back the device initialized and
ready for further transfers.
In case of timeouts, the scsi error handler takes care of handling aborts
and resets. Improve the error handling in such scenario by resetting the
device and host and re-initializing them in proper manner.
Signed-off-by: Sujit Reddy Thumma <sthumma@codeaurora.org>
Reviewed-by: Yaniv Gardi <ygardi@codeaurora.org>
Tested-by: Dolev Raviv <draviv@codeaurora.org>
Acked-by: Vinayak Holikatti <vinholikatti@gmail.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Sujit Reddy Thumma [Mon, 26 May 2014 05:29:13 +0000 (10:59 +0530)]
scsi: ufs: Fix hardware race conditions while aborting a command
There is a possible race condition in the hardware when the abort
command is issued to terminate the ongoing SCSI command as described
below:
- A bit in the door-bell register is set in the controller for a
new SCSI command.
- In some rare situations, before controller get a chance to issue
the command to the device, the software issued an abort command.
- If the device recieves abort command first then it returns success
because the command itself is not present.
- Now if the controller commits the command to device it will be
processed.
- Software thinks that command is aborted and proceed while still
the device is processing it.
- The software, controller and device may go out of sync because of
this race condition.
To avoid this, query task presence in the device before sending abort
task command so that after the abort operation, the command is guaranteed
to be non-existent in both controller and the device.
Signed-off-by: Sujit Reddy Thumma <sthumma@codeaurora.org>
Reviewed-by: Yaniv Gardi <ygardi@codeaurora.org>
Tested-by: Dolev Raviv <draviv@codeaurora.org>
Acked-by: Vinayak Holikatti <vinholikatti@gmail.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Sujit Reddy Thumma [Mon, 26 May 2014 05:29:12 +0000 (10:59 +0530)]
scsi: ufs: Fix broken task management command implementation
Currently, sending Task Management (TM) command to the card might
be broken in some scenarios as listed below:
Problem: If there are more than 8 TM commands the implementation
returns error to the caller.
Fix: Wait for one of the slots to be emptied and send the command.
Problem: Sometimes it is necessary for the caller to know the TM service
response code to determine the task status.
Fix: Propogate the service response to the caller.
Problem: If the TM command times out no proper error recovery is
implemented.
Fix: Clear the command in the controller door-bell register, so that
further commands for the same slot don't fail.
Problem: While preparing the TM command descriptor, the task tag used
should be unique across SCSI/NOP/QUERY/TM commands and not the
task tag of the command which the TM command is trying to manage.
Fix: Use a unique task tag instead of task tag of SCSI command.
Problem: Since the TM command involves H/W communication, abruptly ending
the request on kill interrupt signal might cause h/w malfunction.
Fix: Wait for hardware completion interrupt with TASK_UNINTERRUPTIBLE
set.
Signed-off-by: Sujit Reddy Thumma <sthumma@codeaurora.org>
Reviewed-by: Yaniv Gardi <ygardi@codeaurora.org>
Tested-by: Dolev Raviv <draviv@codeaurora.org>
Acked-by: Vinayak Holikatti <vinholikatti@gmail.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Sujit Reddy Thumma [Mon, 26 May 2014 05:29:11 +0000 (10:59 +0530)]
scsi: ufs: make undeclared functions static
Make undeclared functions static and declare exported symbols
to suppress warnings from sparse tool.
Signed-off-by: Sujit Reddy Thumma <sthumma@codeaurora.org>
Acked-by: Vinayak Holikatti <vinholikatti@gmail.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Sujit Reddy Thumma [Mon, 26 May 2014 05:29:10 +0000 (10:59 +0530)]
scsi: ufs: fix endianness sparse warnings
Fix many warnings with incorrect endian assumptions
which makes the code unportable to new architectures.
The UFS specification defines the byte order as big-endian
for UPIU structure and little-endian for the host controller
transfer/task management descriptors.
Signed-off-by: Sujit Reddy Thumma <sthumma@codeaurora.org>
Acked-by: Vinayak Holikatti <vinholikatti@gmail.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Joe Handzik [Wed, 21 May 2014 16:16:01 +0000 (11:16 -0500)]
hpsa: fix bad comparison of signed with unsigned in hpsa_update_scsi_devices
rescan_hba_mode was defined as a u8 so could never be less than zero:
rescan_hba_mode = hpsa_hba_mode_enabled(h);
if (rescan_hba_mode < 0)
goto out;
Signed-off-by: Joe Handzik <joseph.t.handzik@hp.com>
Signed-off-by: Stephen M. Cameron <scameron@beardog.cce.hp.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Finn Thain [Tue, 18 Mar 2014 00:42:24 +0000 (11:42 +1100)]
scsi/NCR5380: merge sun3_scsi_vme.c into sun3_scsi.c
The sun3 drivers suffer from a whole bunch of duplicated code. Fix this
by following the g_NCR5380_mmio example. (Notionally, sun3_scsi relates to
sun3_scsi_vme in the same way that g_NCR5380 relates to g_NCR5380_mmio.)
Dead code is also removed: we now have working debug macros so
SUN3_SCSI_DEBUG is undesirable. Dead code within #ifdef OLD_DMA is also
dropped, consistent with sun3_scsi_vme.c.
Signed-off-by: Finn Thain <fthain@telegraphics.com.au>
Acked-by: Sam Creasey <sammy@sammy.net>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Finn Thain [Tue, 18 Mar 2014 00:42:23 +0000 (11:42 +1100)]
scsi/NCR5380: reduce depth of sun3_scsi nested includes
Move the #include "NCR5380.h" out of the sun3_scsi.h header file and into
the driver .c files, like all the other NCR5380 drivers in the tree.
This improves uniformity and reduces the depth of nested includes. The
sequence of #include's, #define's and #if's no longer does my head in.
Signed-off-by: Finn Thain <fthain@telegraphics.com.au>
Acked-by: Sam Creasey <sammy@sammy.net>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Finn Thain [Tue, 18 Mar 2014 00:42:22 +0000 (11:42 +1100)]
scsi/NCR5380: remove unused macro definitions
Remove the unused (and divergent) debugging macro definitions from
the sun3_NCR5380 and atari_NCR5380 drivers. These drivers have been
converted to use the common macros in NCR5380.h.
Signed-off-by: Finn Thain <fthain@telegraphics.com.au>
Acked-by: Sam Creasey <sammy@sammy.net>
Acked-by: Michael Schmitz <schmitz@debian.org>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Finn Thain [Tue, 18 Mar 2014 00:42:21 +0000 (11:42 +1100)]
scsi/NCR5380: fix and standardize NDEBUG macros
All three NCR5380 core driver implementations share the same NCR5380.h
header file so they need to agree on certain macro definitions.
The flag bit used by the NDEBUG_MERGING macro in atari_NCR5380 and
sun3_NCR5380 collides with the bit used by NDEBUG_LISTS.
Moreover, NDEBUG_ABORT appears in NCR5380.c so it should be defined in
NCR5380.h rather than in each of the many drivers using that core.
An undefined NDEBUG_ABORT macro caused compiler errors and led to dodgy
workarounds in the core driver that can now be removed.
(See commits
f566a576bca09de85bf477fc0ab2c8c96405b77b and
185a7a1cd79b9891e3c17abdb103ba1c98d6ca7a.)
Move all of the NDEBUG_ABORT, NDEBUG_TAGS and NDEBUG_MERGING macro
definitions into NCR5380.h where all the other NDEBUG macros live.
Also, incorrect "#ifdef NDEBUG" becomes "#if NDEBUG" to fix the warning:
drivers/scsi/mac_scsi.c: At top level:
drivers/scsi/NCR5380.c:418: warning: 'NCR5380_print' defined but not used
drivers/scsi/NCR5380.c:459: warning: 'NCR5380_print_phase' defined but not used
The debugging code is now enabled when NDEBUG != 0.
Signed-off-by: Finn Thain <fthain@telegraphics.com.au>
Acked-by: Sam Creasey <sammy@sammy.net>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Finn Thain [Tue, 18 Mar 2014 00:42:20 +0000 (11:42 +1100)]
scsi/NCR5380: adopt dprintk()
All NCR5380 drivers already include the NCR5380.h header. Better to
adopt those macros rather than have three variations on them.
Moreover, the macros in NCR5380.h are preferable because the atari_NCR5380
and sun3_NCR5380 versions are inflexible. For example, they can't accomodate
dprintk(NDEBUG_MAIN | NDEBUG_QUEUES, ...)
Replace the *_PRINTK macros from atari_NCR5380.h and sun3_NCR5380.h with
the equivalent macros from NCR5380.h.
Signed-off-by: Finn Thain <fthain@telegraphics.com.au>
Acked-by: Sam Creasey <sammy@sammy.net>
Acked-by: Michael Schmitz <schmitz@debian.org>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Finn Thain [Tue, 18 Mar 2014 00:42:19 +0000 (11:42 +1100)]
scsi/NCR5380: adopt NCR5380_dprint() and NCR5380_dprint_phase()
All NCR5380 drivers already include the NCR5380.h header. Better to
adopt those macros rather than have three variations on them.
Moreover, the macros in NCR5380.h are preferable anyway: the atari_NCR5380
and sun3_NCR5380 versions are inflexible. For example, they can't accomodate
NCR5380_dprint(NDEBUG_MAIN | NDEBUG_QUEUES, ...)
Replace the NCR_PRINT* macros from atari_NCR5380.h and sun3_NCR5380.h with
the equivalent macros from NCR5380.h.
Signed-off-by: Finn Thain <fthain@telegraphics.com.au>
Acked-by: Sam Creasey <sammy@sammy.net>
Acked-by: Michael Schmitz <schmitz@debian.org>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Finn Thain [Tue, 18 Mar 2014 00:42:18 +0000 (11:42 +1100)]
scsi/NCR5380: fix dprintk macro usage and definition
There are three implementations of the core NCR5380 driver and three sets
of debugging macro definitions. And all three implementations use the
NCR5380.h header as well.
Two of the definitions of the dprintk macro accept a variable argument list
whereas the third does not. Standardize on the variable argument list.
Signed-off-by: Finn Thain <fthain@telegraphics.com.au>
Acked-by: Sam Creasey <sammy@sammy.net>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Finn Thain [Tue, 18 Mar 2014 00:42:17 +0000 (11:42 +1100)]
scsi/NCR5380: fix build failures when debugging is enabled
The change from cmd->target to cmd->device->id was apparently the purpose of
commit
a7f251228390e87d86c5e3846f99a455517fdd8e in
kernel/git/tglx/history.git but some instances have been missed.
Also fix the "NDEBUG_LAST_WRITE_SENT" and "NDEBUG_ALL" typo's.
Also fix some format strings (%ul becomes %lu) that caused compiler warnings.
Signed-off-by: Finn Thain <fthain@telegraphics.com.au>
Acked-by: Sam Creasey <sammy@sammy.net>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Finn Thain [Tue, 18 Mar 2014 00:42:16 +0000 (11:42 +1100)]
scsi/NCR5380: use NCR5380_dprint() instead of NCR5380_print()
Only the NCR5380_dprint() macro should invoke the NCR5380_print() function.
That's why NCR5380.c only defines the function #if NDEBUG. Use the standard
macro.
Signed-off-by: Finn Thain <fthain@telegraphics.com.au>
Acked-by: Sam Creasey <sammy@sammy.net>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Finn Thain [Tue, 18 Mar 2014 00:42:15 +0000 (11:42 +1100)]
scsi/NCR5380: remove old CVS keywords
Signed-off-by: Finn Thain <fthain@telegraphics.com.au>
Acked-by: Sam Creasey <sammy@sammy.net>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Finn Thain [Tue, 18 Mar 2014 00:42:14 +0000 (11:42 +1100)]
scsi/NCR5380: remove redundant HOSTS_C macro tests
HOSTS_C is always undefined. There is no hosts.c anymore.
Signed-off-by: Finn Thain <fthain@telegraphics.com.au>
Acked-by: Sam Creasey <sammy@sammy.net>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Finn Thain [Tue, 18 Mar 2014 00:42:13 +0000 (11:42 +1100)]
scsi/NCR5380: remove unused BOARD_NORMAL and BOARD_NCR53C400
BOARD_NORMAL is completely unused and BOARD_NCR53C400 is used only by
g_NCR5380 internally. Remove the unused definitions.
Signed-off-by: Finn Thain <fthain@telegraphics.com.au>
Acked-by: Sam Creasey <sammy@sammy.net>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Christoph Hellwig [Thu, 1 May 2014 14:51:51 +0000 (16:51 +0200)]
scsi_debug: simple short transfer injection
Add an option to only transfer half the data for every n-th command.
Signed-off-by: Christoph Hellwig <hch@lst.de>
Acked-by: Douglas Gilbert <dgilbert@interlog.com>
Reviewed-by: Nicholas Bellinger <nab@linux-iscsi.org>
Christoph Hellwig [Thu, 1 May 2014 14:51:50 +0000 (16:51 +0200)]
virtio_scsi: use cmd_size
Taken almost entirely from Nicholas Bellinger's scsi-mq conversion.
Signed-off-by: Christoph Hellwig <hch@lst.de>
Acked-by: Paolo Bonzini <pbonzini@redhat.com>
Reviewed-by: Nicholas Bellinger <nab@linux-iscsi.org>
Maurizio Lombardi [Tue, 1 Apr 2014 11:58:22 +0000 (13:58 +0200)]
bnx2fc: fix memory leak in bnx2fc_allocate_hash_table()
In case of error, the bnx2fc_allocate_hash_table() didn't free
all the memory it allocated.
Signed-off-by: Maurizio Lombardi <mlombard@redhat.com>
Acked-by: Eddie Wai <eddie.wai@broadcom.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Maurizio Lombardi [Tue, 1 Apr 2014 11:58:21 +0000 (13:58 +0200)]
bnx2fc: fix memory leak and potential NULL pointer dereference.
If bnx2fc_allocate_hash_table() for some reasons fails, it is possible that the
hash_tbl_segments or the hash_tbl_pbl pointers are NULL.
In this case bnx2fc_free_hash_table() will panic the system.
this patch also fixes a memory leak, the hash_tbl_segments pointer was never
freed.
Signed-off-by: Maurizio Lombardi <mlombard@redhat.com>
Acked-by: Eddie Wai <eddie.wai@broadcom.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Maurizio Lombardi [Tue, 1 Apr 2014 11:58:20 +0000 (13:58 +0200)]
bnx2fc: remove unused variable hash_table_size
hash_table_size is not used by the bnx2fc_free_hash_table() function.
Signed-off-by: Maurizio Lombardi <mlombard@redhat.com>
Acked-by: Eddie Wai <eddie.wai@broadcom.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Joe Handzik [Thu, 15 May 2014 20:44:47 +0000 (15:44 -0500)]
hpsa: do not ignore failure of sense controller parameters command
Signed-off-by: Joe Handzik <joseph.t.handzik@hp.com>
Signed-off-by: Stephen M. Cameron <scameron@beardog.cce.hp.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Joe Handzik [Thu, 15 May 2014 20:44:42 +0000 (15:44 -0500)]
hpsa: fix memory leak in hpsa_hba_mode_enabled
And while we're at it fix a magic number
Signed-off-by: Joe Handzik <joseph.t.handzik@hp.com>
Signed-off-by: Stephen M. Cameron <scameron@beardog.cce.hp.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Joe Handzik [Thu, 8 May 2014 19:27:24 +0000 (14:27 -0500)]
hpsa: add new Smart Array PCI IDs (May 2014)
Signed-off-by: Scott Teel <scott.teel@hp.com>
Signed-off-by: Joe Handzik <joseph.t.handzik@hp.com>
Signed-off-by: Stephen M. Cameron <scameron@beardog.cce.hp.com>
Cc: stable@vger.kernel.org
Signed-off-by: Christoph Hellwig <hch@lst.de>
Joe Handzik [Wed, 26 Mar 2014 22:48:11 +0000 (17:48 -0500)]
hpsa: Checking for a NULL return from a kzalloc call
Checking for a NULL return from a kzalloc call in hpsa_get_pdisk_of_ioaccel2.
Signed-off-by: Scott Teel <scott.teel@hp.com>
Signed-off-by: Joe Handzik <joseph.t.handzik@hp.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Suresh Thiagarajan [Fri, 9 May 2014 06:01:01 +0000 (11:31 +0530)]
pm80xx : Fix missing NULL pointer checks and memory leaks
Checking return value for the memory allocattion and freeing it
while exiting the function
Signed-off-by: Viswas G <Viswas.G@pmcs.com>
Signed-off-by: Suresh Thiagarajan <Suresh.Thiagarajan@pmcs.com>
Reviewed-by: Tomas Henzl <thenzl@redhat.com>
Acked-by: Jack Wang <xjtuwjp@gmail.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Ming Lei [Thu, 8 May 2014 07:23:45 +0000 (15:23 +0800)]
virtio_scsi: remove ACCESS_ONCE() and smp_read_barrier_depends()
Access to tgt->req_vq is strictly serialized by spin_lock
of tgt->tgt_lock, so the ACCESS_ONCE() isn't necessary.
smp_read_barrier_depends() in virtscsi_req_done was introduced
to order reading req_vq and decreasing tgt->reqs, but it isn't
needed now because req_vq is read from
scsi->req_vqs[vq->index - VIRTIO_SCSI_VQ_BASE] instead of
tgt->req_vq, so remove the unnecessary barrier.
Also remove related comment about the barrier.
Signed-off-by: Ming Lei <tom.leiming@gmail.com>
Acked-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
James Smart [Wed, 7 May 2014 21:16:46 +0000 (17:16 -0400)]
lpfc: Add iotag memory barrier
Add a memory barrier to ensure the valid bit is read before
any of the cqe payload is read. This fixes an issue seen
on Power where the cqe payload was getting loaded before
the valid bit. When this occurred, we saw an iotag out of
range error when a command completed, but since the iotag
looked invalid the command didn't get completed to scsi core.
Later we hit the command timeout, attempted to abort the command,
then waited for the aborted command to get returned. Since the
adapter already returned the command, we timeout waiting,
and end up escalating EEH all the way to host reset. This
patch fixes this issue.
Signed-off-by: Brian King <brking@linux.vnet.ibm.com>
Signed-off-by: James Smart <james.smart@emulex.com>
---
lpfc_sli.c | 21 +++++++++++++++++++++
1 file changed, 21 insertions(+)
Signed-off-by: Christoph Hellwig <hch@lst.de>
Finn Thain [Mon, 5 May 2014 05:35:30 +0000 (15:35 +1000)]
MAINTAINERS: add an entry for all the NCR5380 drivers
Signed-off-by: Finn Thain <fthain@telegraphics.com.au>
Acked-by: Michael Schmitz <schmitzmic@gmail.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Michael Schmitz [Fri, 2 May 2014 08:43:01 +0000 (20:43 +1200)]
m68k/atari - atari_scsi: change abort/reset return codes
[Resend of earlier patch - added equivalent changes to sun3 NCR5380 code]
The abort/reset lowlevel return codes had changed with the new
error SCSI handling - update Atari and Sun3 NCR5380 drivers to reflect this.
Change reset handling for Atari to clear queues only, do not attempt
to call done() on each command aborted by the reset. The EH code
should do that for us. Queues _must_ be cleared, otherwise
atari_scsi_bus_reset will not release the ST-DMA lock, deadlocking
further error recovery.
Update the Sun3 NCR5380 driver as well - the Sun3 driver was
derived from the Atari one. Kudos to Finn Thain for the Sun3 part
and cleaning up the header files. After the header cleanup, the
initio.h include (!) can be dropped from sun3_scsi.h now.
Signed-off-by: Michael Schmitz <schmitz@debian.org>
Signed-off-by: Finn Thain <fthain@telegraphics.com.au>
Acked-by: Sam Creasey <sammy@sammy.net>
Cc: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: James E.J. Bottomley <JBottomley@parallels.com>
Cc: linux-scsi@vger.kernel.org
Signed-off-by: Christoph Hellwig <hch@lst.de>
Mathias Krause [Thu, 1 May 2014 09:48:25 +0000 (11:48 +0200)]
aic79xx: fix misuse of static variables
The format strings for various printk()s make use of a temporary
variable that is declared 'static'. This is probably not intended,
so fix those.
Found in the PaX patch, written by the PaX Team.
Signed-off-by: Mathias Krause <minipli@googlemail.com>
Acked-by: Hannes Reinecke <hare@suse.de>
Cc: "James E.J. Bottomley" <JBottomley@parallels.com>
Cc: PaX Team <pageexec@freemail.hu>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Marek Vasut [Tue, 22 Apr 2014 18:23:39 +0000 (20:23 +0200)]
esas2r: Fix comment
Minor fix for a message in the driver so that it matches the function name.
Signed-off-by: Marek Vasut <marex@denx.de>
Cc: James Bottomley <JBottomley@Parallels.com>
Cc: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
Acked-by: Bradley Grove <bgrove@attotech.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Alexey Khoroshilov [Fri, 18 Apr 2014 07:58:42 +0000 (00:58 -0700)]
bfa: allocate memory with GFP_ATOMIC in spinlock context
bfa_fcb_pbc_vport_create() is called only from bfa_fcs_pbc_vport_init(),
that is called only from bfad_drv_start() with bfad_lock spinlock held.
So the patch replaces GFP_KERNEL with GFP_ATOMIC to avoid
sleeping in atomic spinlock context.
Found by Linux Driver Verification project (linuxtesting.org).
Signed-off-by: Alexey Khoroshilov <khoroshilov@ispras.ru>
Acked-by: Anil Gurumurthy <anil.gurumurthy@qlogic.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Vikas Chaudhary [Thu, 10 Apr 2014 01:12:29 +0000 (21:12 -0400)]
qla4xxx: Update driver version to 5.04.00-k6
Signed-off-by: Vikas Chaudhary <vikas.chaudhary@qlogic.com>
Reviewed-by: Mike Christie <michaelc@cs.wisc.edu>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Adheer Chandravanshi [Thu, 10 Apr 2014 01:12:28 +0000 (21:12 -0400)]
qla4xxx: Fix smatch warning in func qla4xxx_conn_get_param
Signed-off-by: Vikas Chaudhary <vikas.chaudhary@qlogic.com>
Reviewed-by: Mike Christie <michaelc@cs.wisc.edu>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Adheer Chandravanshi [Thu, 10 Apr 2014 01:12:27 +0000 (21:12 -0400)]
qla4xxx: Fix smatch warning in func qla4xxx_get_ep_param
Fix following smatch warning:-
drivers/scsi/qla4xxx/ql4_os.c:1752 qla4xxx_get_ep_param() warn: variable dereferenced before check 'qla_ep' (see line 1745)
Signed-off-by: Vikas Chaudhary <vikas.chaudhary@qlogic.com>
Reviewed-by: Mike Christie <michaelc@cs.wisc.edu>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Nilesh Javali [Thu, 10 Apr 2014 01:12:26 +0000 (21:12 -0400)]
qla4xxx: Fix memory leak for ha->saved_acb
Signed-off-by: Vikas Chaudhary <vikas.chaudhary@qlogic.com>
Reviewed-by: Mike Christie <michaelc@cs.wisc.edu>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Nilesh Javali [Thu, 10 Apr 2014 01:12:25 +0000 (21:12 -0400)]
qla4xxx: Export sysfs DDBs from DPC handler
Issue:
modprobe qla4xxx is killed by systemd due to timeout.
Solution:
The exporting of sysfs DDBs from qla4xxx_probe_adapter added delay of
approximately 15s due to which system-udevd killed the modprobe of the
driver. Added fix to export the sysfs DDBs from the DPC handler.
Signed-off-by: Nilesh Javali <nilesh.javali@qlogic.com>
Signed-off-by: Vikas Chaudhary <vikas.chaudhary@qlogic.com>
Reviewed-by: Mike Christie <michaelc@cs.wisc.edu>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Tej Parkash [Thu, 10 Apr 2014 01:12:24 +0000 (21:12 -0400)]
qla4xxx: Disable INTx interrupt for ISP82XX
Signed-off-by: Tej Parkash <tej.parkash@qlogic.com>
Signed-off-by: Vikas Chaudhary <vikas.chaudhary@qlogic.com>
Reviewed-by: Mike Christie <michaelc@cs.wisc.edu>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Vikas Chaudhary [Tue, 25 Feb 2014 03:07:05 +0000 (22:07 -0500)]
qla4xxx: Update driver version to 5.04.00-k5
Signed-off-by: Vikas Chaudhary <vikas.chaudhary@qlogic.com>
Reviewed-by: Mike Christie <michaelc@cs.wisc.edu>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Vikas Chaudhary [Tue, 25 Feb 2014 03:07:04 +0000 (22:07 -0500)]
qla4xxx: Fix memory leak in func qla4_84xx_config_acb()
Use correct goto statement to free dma memory in case of
failure in function qla4_84xx_config_acb()
Signed-off-by: Vikas Chaudhary <vikas.chaudhary@qlogic.com>
Reviewed-by: Mike Christie <michaelc@cs.wisc.edu>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Vikas Chaudhary [Tue, 25 Feb 2014 03:07:03 +0000 (22:07 -0500)]
qla4xxx: Initialize hardware queue for ISP40XX
Issue:
System crash while target discovery for ISP40XX
Root cause:
Function qla4xxx_init_rings() is not called for ISP40XX
Fix:
Call function qla4xxx_init_rings() for ISP40XX from
qla4xxx_start_firmware().
Signed-off-by: Vikas Chaudhary <vikas.chaudhary@qlogic.com>
Reviewed-by: Mike Christie <michaelc@cs.wisc.edu>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Vikas Chaudhary [Tue, 25 Feb 2014 03:07:02 +0000 (22:07 -0500)]
qla4xxx: Check for correct return status
Check for correct return status in function -
qla4_8xxx_minidump_pex_dma_read
Signed-off-by: Vikas Chaudhary <vikas.chaudhary@qlogic.com>
Reviewed-by: Mike Christie <michaelc@cs.wisc.edu>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Vikas Chaudhary [Tue, 25 Feb 2014 03:07:01 +0000 (22:07 -0500)]
qla4xxx: qla4xxx: Move qla4_8xxx_ms_mem_write_128b to ql4_nx.c
Signed-off-by: Vikas Chaudhary <vikas.chaudhary@qlogic.com>
Reviewed-by: Mike Christie <michaelc@cs.wisc.edu>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Tej Parkash [Tue, 25 Feb 2014 03:07:00 +0000 (22:07 -0500)]
qla4xxx: Added PEX DMA Support for ISP8022 Adapter
Signed-off-by: Tej Parkash <tej.parkash@qlogic.com>
Signed-off-by: Vikas Chaudhary <vikas.chaudhary@qlogic.com>
Reviewed-by: Mike Christie <michaelc@cs.wisc.edu>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Tej Parkash [Tue, 25 Feb 2014 03:06:59 +0000 (22:06 -0500)]
qla4xxx: Added new opcodes for 84XX Minidump template
Updated driver with new opcode (RDDFE, RDMDIO and POLLWR) which are
added with latest firmware minidump template
Signed-off-by: Tej Parkash <tej.parkash@qlogic.com>
Signed-off-by: Vikas Chaudhary <vikas.chaudhary@qlogic.com>
Reviewed-by: Mike Christie <michaelc@cs.wisc.edu>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Tej Parkash [Tue, 25 Feb 2014 03:06:58 +0000 (22:06 -0500)]
qla4xxx: Add support of 0xFF capture mask for minidump
Signed-off-by: Tej Parkash <tej.parkash@qlogic.com>
Signed-off-by: Vikas Chaudhary <vikas.chaudhary@qlogic.com>
Reviewed-by: Mike Christie <michaelc@cs.wisc.edu>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Tej Parkash [Tue, 25 Feb 2014 03:06:57 +0000 (22:06 -0500)]
qla4xxx: Change default capture to firmware defined capture mask
Signed-off-by: Tej Parkash <tej.parkash@qlogic.com>
Signed-off-by: Vikas Chaudhary <vikas.chaudhary@qlogic.com>
Reviewed-by: Mike Christie <michaelc@cs.wisc.edu>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Tej Parkash [Tue, 25 Feb 2014 03:06:56 +0000 (22:06 -0500)]
qla4xxx: Do not wait for IO completion, after issuing stop_firmware
Problem:
iSCSI stop_firmware mailbox command is not completing outstanding IO.
Solution:
Do not wait for IO completion after issuing stop_firmware mailbox
command
Signed-off-by: Tej Parkash <tej.parkash@qlogic.com>
Signed-off-by: Vikas Chaudhary <vikas.chaudhary@qlogic.com>
Reviewed-by: Mike Christie <michaelc@cs.wisc.edu>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Nathan Fontenot [Wed, 9 Apr 2014 18:32:06 +0000 (13:32 -0500)]
Update Maintainers for IBM Power 842, vscsi, and vfc drivers
Update the MAINTAINERS file to indicate the current maintainers
for the IBM Power 842 Compression driver, IBM Power Virtual SCSI
driver and the IBM Power Virtual FC Driver.
Signed-off-by: Nathan Fontenot <nfont@linux.vnet.ibm.com>
Acked-by: Brian King <brking@linux.vnet.ibm.com>
Acked-by: Robert Jennings <rob@pochix.net>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Shlomo Pongratz [Sun, 30 Mar 2014 12:26:29 +0000 (15:26 +0300)]
scsi/libiscsi: Fix static checker warning on bh locking
Commit
659743b "[SCSI] libiscsi: Reduce locking contention in fast path" introduced a
new smatch warning on libiscsi.c "iscsi_xmit_task() warn: inconsistent returns
bottom_half:: locked (1410 [(-61)]) unlocked (1425 [0], 1425 [s32min-(-1),1-s32max])",
which we can eliminate by using non bh locking on the nested spin_lock call.
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Shlomo Pongratz <shlomop@mellanox.com>
Signed-off-by: Or Gerlitz <ogerlitz@mellanox.com>
Reviewed-by: Mike Christie <michaelc@cs.wisc.edu>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Hiral Shah [Fri, 18 Apr 2014 19:28:19 +0000 (12:28 -0700)]
fnic: fnic Control Path Trace Utility
Fnic Ctlr Path Trace utility is a tracing functionality built directly into fnic
driver to trace the control path frames like discovery, FLOGI request/reply,
PLOGI request/reply, link event etc. It will be one trace file for all fnics.
It will help us to debug and resolve the discovery and initialization related
issues in more convenient way. This trace information includes time stamp,
Host Number, Frame type, Frame Length and Frame. By default,64 pages are
allocated but we can change the number of allocated pages by module parameter
fnic_fc_trace_max_page. Each entry is of 256 byte and available entries are
depends on allocated number of pages. We can turn on or off the fnic control
path trace functionality by module paramter fc_trace_enable and/or reset the
trace contain by module paramter fc_trace_clear.
Signed-off-by: Hiral Shah <hishah@cisco.com>
Signed-off-by: Sesidhar Baddela <sebaddel@cisco.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Hiral Shah [Fri, 18 Apr 2014 19:28:18 +0000 (12:28 -0700)]
fnic: Failing to queue aborts due to Q full cause terminate driver timeout
In fnic abort handler, abort queuing can be failed when hardware queue is full.
The command state is left as abort queued. The command with abort queued state
will never be queued next time for abort or termiantion.
Fix restores the command state in above case.
Signed-off-by: Hiral Shah <hishah@cisco.com>
Signed-off-by: Sesidhar Baddela <sebaddel@cisco.com>
Signed-off-by: Narsimhulu Musini <nmusini@cisco.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Hiral Shah [Fri, 18 Apr 2014 19:28:17 +0000 (12:28 -0700)]
fnic: NoFIP solicitation frame in NONFIP mode and changed IO Throttle count
This patch contains following three minor fixes.
1) During Probe, fnic was sending FIP solicitation in Non FIP mode which is not
expected, setting the internal fip state to Non FIP mode explicitly, avoids
sending FIP frame.
2) When target goes offline, all outstanding IOs belong to the target will be
terminated by driver, If the termination count is high, then it influences
firmware responsiveness. To improve the responsiveness, default IO throttle
count is reduced to 256.
3) Accessing Virtual Fabric Id (vfid) and fc_map of Fibre-Channel Forwarder(FCF)
is invalid in fnic driver when Clear Virtual Link(CVL) is received prior to
receiving flogi reject from switch. As CVL clears all FCFs.
Signed-off-by: Hiral Shah <hishah@cisco.com>
Signed-off-by: Sesidhar Baddela <sebaddel@cisco.com>
Signed-off-by: Narsimhulu Musini <nmusini@cisco.com>
Signed-off-by: Anantha Tungarakodi <atungara@cisco.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Saurav Kashyap [Fri, 11 Apr 2014 20:54:47 +0000 (16:54 -0400)]
qla2xxx: Update the driver version to 8.07.00.08-k.
Signed-off-by: Giridhar Malavali <giridhar.malavali@qlogic.com>
Signed-off-by: Saurav Kashyap <saurav.kashyap@qlogic.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Chad Dupuis [Fri, 11 Apr 2014 20:54:46 +0000 (16:54 -0400)]
qla2xxx: Remove wait for online from host reset handler.
This can block progress of the SCSI error handler thread and cause long I/O
outages. Instead just fail immediately if another reset is going on or we are
accessing flash memory.
Signed-off-by: Chad Dupuis <chad.dupuis@qlogic.com>
Signed-off-by: Saurav Kashyap <saurav.kashyap@qlogic.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Chad Dupuis [Fri, 11 Apr 2014 20:54:45 +0000 (16:54 -0400)]
qla2xxx: Do logins from a chip reset in DPC thread instead of the error handler thread.
Attempting to do any logins from the SCSI reset handler can lead to a deadlock
scenario if a rport times out and the FC transport layer. Move doing any port
logins to the DPC thread so as not to impede the progress of the SCSI error
handler thread and avoid deadlock situations.
Signed-off-by: Chad Dupuis <chad.dupuis@qlogic.com>
Signed-off-by: Saurav Kashyap <saurav.kashyap@qlogic.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Quinn Tran [Fri, 11 Apr 2014 20:54:44 +0000 (16:54 -0400)]
qla2xxx: ABTS cause double free of qla_tgt_cmd +.
Fix double free problem within qla2xxx driver where
current code prematurely free qla_tgt_cmd while firmware
still has the command. When firmware release the command
after abort, the code attempt a second free as part of
command completion processing.
When TCM start the free process, NULL pointer was hit.
------
WARNING: CPU: 8 PID: 43613 at lib/list_debug.c:62 __list_del_entry+0x82/0xd0()
list_del corruption. next->prev should be
ffff88082b5cfb08, but was
6b6b6b6b6b6b6b6b
CPU: 8 PID: 43613 Comm: kworker/8:0 Tainted: GF W O 3.13.0-rc3-nab_t10dif+ #6
Hardware name: HP ProLiant DL380p Gen8, BIOS P70 08/20/2012
Workqueue: events cache_reap
000000000000003e ffff88081b2e3c78 ffffffff815a051f 000000000000003e
ffff88081b2e3cc8 ffff88081b2e3cb8 ffffffff8104fc2c 0000000000000000
ffff88082b5cfb00 ffff88081c788d00 ffff88082b5d7200 ffff88082b5d3080
Call Trace:
[<
ffffffff815a051f>] dump_stack+0x49/0x62
[<
ffffffff8104fc2c>] warn_slowpath_common+0x8c/0xc0
[<
ffffffff8104fd16>] warn_slowpath_fmt+0x46/0x50
[<
ffffffff812b6592>] __list_del_entry+0x82/0xd0
[<
ffffffff8106d48c>] process_one_work+0x12c/0x510
[<
ffffffff8106d4d3>] ? process_one_work+0x173/0x510
[<
ffffffff8106ebdf>] worker_thread+0x11f/0x3a0
[<
ffffffff8106eac0>] ? manage_workers+0x170/0x170
[<
ffffffff81074f26>] kthread+0xf6/0x120
[<
ffffffff8109f103>] ? __lock_release+0x133/0x1b0
[<
ffffffff81074e30>] ? __init_kthread_worker+0x70/0x70
[<
ffffffff815aec2c>] ret_from_fork+0x7c/0xb0
[<
ffffffff81074e30>] ? __init_kthread_worker+0x70/0x70
---[ end trace
dfc05c3f7caf8ebe ]---
BUG: unable to handle kernel NULL pointer dereference at
0000000000000008
IP: [<
ffffffff8106d391>] process_one_work+0x31/0x510
-------
Signed-off-by: Quinn Tran <quinn.tran@qlogic.com>
Signed-off-by: Giridhar Malavali <giridhar.malavali@qlogic.com>
Signed-off-by: Saurav Kashyap <saurav.kashyap@qlogic.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Quinn Tran [Fri, 11 Apr 2014 20:54:43 +0000 (16:54 -0400)]
qla2xxx: T10-Dif: add T10-PI support
Add support for T10-Dif for Target Mode to qla driver.
The driver will look for firmware attribute that support
this feature. When the feature is present, the capabilities
will be report to TCM layer.
Add CTIO CRC2 iocb to build T10-Dif commands.
Add support routines to process good & error cases.
Signed-off-by: Quinn Tran <quinn.tran@qlogic.com>
Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
Signed-off-by: Giridhar Malavali <giridhar.malavali@qlogic.com>
Signed-off-by: Saurav Kashyap <saurav.kashyap@qlogic.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Himanshu Madhani [Fri, 11 Apr 2014 20:54:42 +0000 (16:54 -0400)]
qla2xxx: Remove mapped vp index iterator macro dead code.
Signed-off-by: Himanshu Madhani <himanshu.madhani@qlogic.com>
Signed-off-by: Saurav Kashyap <saurav.kashyap@qlogic.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Joe Carnuccio [Fri, 11 Apr 2014 20:54:41 +0000 (16:54 -0400)]
qla2xxx: Add MBC option for fast SFP data access.
Signed-off-by: Joe Carnuccio <joe.carnuccio@qlogic.com>
Signed-off-by: Saurav Kashyap <saurav.kashyap@qlogic.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Himanshu Madani [Fri, 11 Apr 2014 20:54:40 +0000 (16:54 -0400)]
qla2xxx: Fix beacon blink logic for ISP26xx/83xx.
Signed-off-by: Himanshu Madani <himanshu.madani@qlogic.com>
Signed-off-by: Saurav Kashyap <saurav.kashyap@qlogic.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Tej Prakash [Fri, 11 Apr 2014 20:54:39 +0000 (16:54 -0400)]
qla2xxx: Don't check for firmware hung during the reset context for ISP82XX.
Signed-off-by: Tej Prakash <tej.prakash@qlogic.com>
Signed-off-by: Saurav Kashyap <saurav.kashyap@qlogic.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Sawan Chandak [Fri, 11 Apr 2014 20:54:38 +0000 (16:54 -0400)]
qla2xxx: Delay driver unload if there is any pending activity going on.
Signed-off-by: Sawan Chandak <sawan.chandak@qlogic.com>
Signed-off-by: Saurav Kashyap <saurav.kashyap@qlogic.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Joe Carnuccio [Fri, 11 Apr 2014 20:54:37 +0000 (16:54 -0400)]
qla2xxx: ISP27xx queue index shadow registers.
For ISP27xx use the request/response queue index shadow registers
to avoid directly access them on the PCI bus.
Signed-off-by: Joe Carnuccio <joe.carnuccio@qlogic.com>
Signed-off-by: Saurav Kashyap <saurav.kashyap@qlogic.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Joe Carnuccio [Fri, 11 Apr 2014 20:54:36 +0000 (16:54 -0400)]
qla2xxx: ISP27xx firmware dump template spec updates (including T274).
Signed-off-by: Joe Carnuccio <joe.carnuccio@qlogic.com>
Signed-off-by: Saurav Kashyap <saurav.kashyap@qlogic.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Chad Dupuis [Fri, 11 Apr 2014 20:54:35 +0000 (16:54 -0400)]
qla2xxx: Reduce the time we wait for a command to complete during SCSI error handling.
Signed-off-by: Chad Dupuis <chad.dupuis@qlogic.com>
Signed-off-by: Saurav Kashyap <saurav.kashyap@qlogic.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Hiral Patel [Fri, 11 Apr 2014 20:54:34 +0000 (16:54 -0400)]
qla2xxx: Check the QLA8044_CRB_DRV_ACTIVE_INDEX register when we are not the owner of the reset.
Signed-off-by: Hiral Patel <hiral.patel@qlogic.com>
Signed-off-by: Saurav Kashyap <saurav.kashyap@qlogic.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Chad Dupuis [Fri, 11 Apr 2014 20:54:33 +0000 (16:54 -0400)]
qla2xxx: Clear loop_id for ports that are marked lost during fabric scanning.
Signed-off-by: Chad Dupuis <chad.dupuis@qlogic.com>
Signed-off-by: Saurav Kashyap <saurav.kashyap@qlogic.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Armen Baloyan [Fri, 11 Apr 2014 20:54:32 +0000 (16:54 -0400)]
qla2xxx: Adjust adapter reset routine to the changes in firmware specification for ISPFx00.
Signed-off-by: Armen Baloyan <armen.baloyan@qlogic.com>
Signed-off-by: Saurav Kashyap <saurav.kashyap@qlogic.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Chad Dupuis [Fri, 11 Apr 2014 20:54:31 +0000 (16:54 -0400)]
qla2xxx: Avoid escalating the SCSI error handler if the command is not found in firmware.
If the firmware cannot find the command specified then return SUCCESS to the
error handler so as not to needlessly escalate. Also cleanup the resources for
the command since we cannot expect the original command to returned in
interrupt context.
Signed-off-by: Chad Dupuis <chad.dupuis@qlogic.com>
Signed-off-by: Saurav Kashyap <saurav.kashyap@qlogic.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Atul Deshmukh [Fri, 11 Apr 2014 20:54:30 +0000 (16:54 -0400)]
qla2xxx: IOCB data should be copied to I/O mem using memcpy_toio.
Signed-off-by: Atul Deshmukh <atul.deshmukh@qlogic.com>
Signed-off-by: Saurav Kashyap <saurav.kashyap@qlogic.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Joe Carnuccio [Fri, 11 Apr 2014 20:54:29 +0000 (16:54 -0400)]
qla2xxx: ISP8044 poll ipmdio bus timeout improvement.
Signed-off-by: Joe Carnuccio <joe.carnuccio@qlogic.com>
Signed-off-by: Saurav Kashyap <saurav.kashyap@qlogic.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Chad Dupuis [Fri, 11 Apr 2014 20:54:28 +0000 (16:54 -0400)]
qla2xxx: Remove unnecessary printk_ratelimited from qla_nx2.c
Signed-off-by: Chad Dupuis <chad.dupuis@qlogic.com>
Signed-off-by: Saurav Kashyap <saurav.kashyap@qlogic.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Atul Deshmukh [Fri, 11 Apr 2014 20:54:27 +0000 (16:54 -0400)]
qla2xxx: Include <delay.h> file for msleep declartion in qla_nx2.c file.
Signed-off-by: Atul Deshmukh <atul.deshmukh@qlogic.com>
Signed-off-by: Saurav Kashyap <saurav.kashyap@qlogic.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Atul Deshmukh [Fri, 11 Apr 2014 20:54:26 +0000 (16:54 -0400)]
qla2xxx: Use proper log message for flash lock failed error.
Signed-off-by: Atul Deshmukh <atul.deshmukh@qlogic.com>
Signed-off-by: Saurav Kashyap <saurav.kashyap@qlogic.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Armen Baloyan [Fri, 11 Apr 2014 20:54:25 +0000 (16:54 -0400)]
qla2xxx: Decrease pci access for response queue processing for ISPFX00.
Signed-off-by: Armen Baloyan <armen.baloyan@qlogic.com>
Signed-off-by: Saurav Kashyap <saurav.kashyap@qlogic.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Armen Baloyan [Fri, 11 Apr 2014 20:54:24 +0000 (16:54 -0400)]
qla2xxx: Change copyright year to 2014 in all the source files.
Signed-off-by: Armen Baloyan <armen.baloyan@qlogic.com>
Signed-off-by: Saurav Kashyap <saurav.kashyap@qlogic.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Joe Carnuccio [Fri, 11 Apr 2014 20:54:23 +0000 (16:54 -0400)]
qla2xxx: Update entry type 270 to match spec update.
Increment the address by 4 on each iteration.
Signed-off-by: Joe Carnuccio <joe.carnuccio@qlogic.com>
Signed-off-by: Saurav Kashyap <saurav.kashyap@qlogic.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Hiral Patel [Fri, 11 Apr 2014 20:54:22 +0000 (16:54 -0400)]
qla2xxx: Enable fw_dump_size for ISP8044.
Signed-off-by: Hiral Patel <hiral.patel@qlogic.com>
Signed-off-by: Saurav Kashyap <saurav.kashyap@qlogic.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Hiral Patel [Fri, 11 Apr 2014 20:54:21 +0000 (16:54 -0400)]
qla2xxx: Introduce fw_dump_flag to track fw dump progress.
Signed-off-by: Hiral Patel <hiral.patel@qlogic.com>
Signed-off-by: Saurav Kashyap <saurav.kashyap@qlogic.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Hiral Patel [Fri, 11 Apr 2014 20:54:20 +0000 (16:54 -0400)]
qla2xxx: Remove unnecessary delays from fw dump code path.
Signed-off-by: Hiral Patel <hiral.patel@qlogic.com>
Signed-off-by: Saurav Kashyap <saurav.kashyap@qlogic.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Hiral Patel [Fri, 11 Apr 2014 20:54:19 +0000 (16:54 -0400)]
qla2xxx: Track the process when the ROM_LOCK failure happens
Signed-off-by: Hiral Patel <hiral.patel@qlogic.com>
Signed-off-by: Saurav Kashyap <saurav.kashyap@qlogic.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Joe Carnuccio [Fri, 11 Apr 2014 20:54:18 +0000 (16:54 -0400)]
qla2xxx: Correction to ISP27xx template entry types 256 and 258.
The window address inserted into the dump should be have been
incremented by 1 rather than 4.
Signed-off-by: Joe Carnuccio <joe.carnuccio@qlogic.com>
Signed-off-by: Saurav Kashyap <saurav.kashyap@qlogic.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Joe Carnuccio [Fri, 11 Apr 2014 20:54:17 +0000 (16:54 -0400)]
qla2xxx: Add ISP8044 serdes bsg interface.
Signed-off-by: Joe Carnuccio <joe.carnuccio@qlogic.com>
Signed-off-by: Saurav Kashyap <saurav.kashyap@qlogic.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Giridhar Malavali [Fri, 11 Apr 2014 20:54:16 +0000 (16:54 -0400)]
qla2xxx: Check for peg alive counter and clear any outstanding mailbox command.
Signed-off-by: Giridhar Malavali <giridhar.malavali@qlogic.com>
Signed-off-by: Saurav Kashyap <saurav.kashyap@qlogic.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Pratik Mohanty [Fri, 11 Apr 2014 20:54:15 +0000 (16:54 -0400)]
qla2xxx: Support of new firmware dump opcodes QLA8044_RDDFE(38), QLA8044_RDMDIO(39),QLA8044_POLLWR(40).
Signed-off-by: Pratik Mohanty <pratik.mohanty@qlogic.com>
Signed-off-by: Saurav Kashyap <saurav.kashyap@qlogic.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Saurav Kashyap [Fri, 11 Apr 2014 20:54:14 +0000 (16:54 -0400)]
qla2xxx: Allow the next firmware dump if the previous dump capture fails for ISP8044.
Signed-off-by: Giridhar Malavali <giridhar.malvali@qlogic.com>
Signed-off-by: Saurav Kashyap <saurav.kashyap@qlogic.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Joe Carnuccio [Fri, 11 Apr 2014 20:54:13 +0000 (16:54 -0400)]
qla2xxx: Add pci device id 0x2271.
Signed-off-by: Joe Carnuccio <joe.carnuccio@qlogic.com>
Signed-off-by: Saurav Kashyap <saurav.kashyap@qlogic.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Giridhar Malavali [Fri, 11 Apr 2014 20:54:12 +0000 (16:54 -0400)]
qla2xxx: Issue abort command for outstanding commands during cleanup when only firmware is alive.
Signed-off-by: Giridhar Malavali <giridhar.malavali@qlogic.com>
Signed-off-by: Saurav Kashyap <saurav.kashyap@qlogic.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Giridhar Malavali [Fri, 11 Apr 2014 20:54:11 +0000 (16:54 -0400)]
qla2xxx: Log when device state is moved to failed state.
Signed-off-by: Giridhar Malavali <giridhar.malavali@qlogic.com>
Signed-off-by: Saurav Kashyap <saurav.kashyap@qlogic.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Joe Carnuccio [Fri, 11 Apr 2014 20:54:10 +0000 (16:54 -0400)]
qla2xxx: Correct ISP83xx/ISP27xx mislogic in setting out_mb in qla25xx_init_req_que().
Signed-off-by: Joe Carnuccio <joe.carnuccio@qlogic.com>
Signed-off-by: Saurav Kashyap <saurav.kashyap@qlogic.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Joe Carnuccio [Fri, 11 Apr 2014 20:54:09 +0000 (16:54 -0400)]
qla2xxx: Allow ISP83XX and ISP27XX both to write req_q_out register.
Signed-off-by: Joe Carnuccio <joe.carnuccio@qlogic.com>
Signed-off-by: Saurav Kashyap <saurav.kashyap@qlogic.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Joe Carnuccio [Fri, 11 Apr 2014 20:54:08 +0000 (16:54 -0400)]
qla2xxx: Correct operations for ISP27xx template types 270 and 271.
Signed-off-by: Joe Carnuccio <joe.carnuccio@qlogic.com>
Signed-off-by: Saurav Kashyap <saurav.kashyap@qlogic.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Chad Dupuis [Fri, 11 Apr 2014 20:54:07 +0000 (16:54 -0400)]
qla2xxx: Do not schedule reset when one is already active when receiving an invalid status handle.
If an adapter reset is already in progress, do not schedule another one when
we receive an invalid status handle.
Signed-off-by: Chad Dupuis <chad.dupuis@qlogic.com>
Signed-off-by: Saurav Kashyap <saurav.kashyap@qlogic.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Saurav Kashyap [Fri, 11 Apr 2014 20:54:06 +0000 (16:54 -0400)]
qla2xxx: Wait for reset completion without lock for ISPFX00.
Signed-off-by: Giridhar Malavali <giridhar.malavali@qlogic.com>
Signed-off-by: Saurav Kashyap <saurav.kashyap@qlogic.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Tomas Henzl [Tue, 1 Apr 2014 11:59:50 +0000 (13:59 +0200)]
megaraid_sas: fix a small problem when reading state value from hw
When the driver reads state values from the hw it might happen that
different values are read in subsequent reads and this can cause problems,
this may lead to a timeout in this function and a non working adapter.
Cc: Adam Radford <aradford@gmail.com>
Signed-off-by: Tomas Henzl <thenzl@redhat.com>
Reviewed-by: Shintaro Minemoto <fj3207hq@aa.jp.fujitsu.com>
Acked-by: Sumit Saxena <sumit.saxena@lsi.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Linus Torvalds [Fri, 9 May 2014 20:10:52 +0000 (13:10 -0700)]
Linux 3.15-rc5