Age | Commit message (Collapse) | Author | Files | Lines |
|
Separate out SET TARGET PORT GROUP functionality into a separate
function alua_stpg().
Reviewed-by: Bart Van Assche <[email protected]>
Reviewed-by: Christoph Hellwig <[email protected]>
Signed-off-by: Hannes Reinecke <[email protected]>
Signed-off-by: Martin K. Petersen <[email protected]>
|
|
Pass in the buffer as a function argument for submit_rtpg().
Reviewed-by: Martin K. Petersen <[email protected]>
Reviewed-by: Christoph Hellwig <[email protected]>
Reviewed-by: Bart Van Assche <[email protected]>
Signed-off-by: Hannes Reinecke <[email protected]>
Signed-off-by: Martin K. Petersen <[email protected]>
|
|
mpt_attach() was not checking for the failure to create fw_event_q.
Also, iounmap() was not being called in all error cases after ioremap()
had been called by mpt_mapresources().
Signed-off-by: Ewan D. Milne <[email protected]>
Reported-by: Insu Yun <[email protected]>
Reviewed-by: Tomas Henzl <[email protected]>
Reviewed-by: Johannes Thumshirn <[email protected]>
Signed-off-by: Martin K. Petersen <[email protected]>
|
|
We were getting build warning about:
drivers/scsi/dpt_i2o.c:183:29: warning: 'dptids' defined but not used
dptids[] is only used in the MODULE_DEVICE_TABLE so when MODULE is not
defined then dptids[] becomes unused.
Signed-off-by: Sudip Mukherjee <[email protected]>
Reviewed-by: Johannes Thumshirn <[email protected]>
Signed-off-by: Martin K. Petersen <[email protected]>
|
|
Updating maintainers list for MPT FUSION DRIVERS, broadcom support link
and email id.
Signed-off-by: Suganath prabu Subramani <[email protected]>
Signed-off-by: Chaitra P B <[email protected]>
Signed-off-by: Martin K. Petersen <[email protected]>
|
|
Deallocate resources before reallocating of the same in retry_allocation
path of _base_allocate_memory_pools()
Signed-off-by: Suganath prabu Subramani <[email protected]>
Signed-off-by: Chaitra P B <[email protected]>
Reviewed-by: Tomas Henzl <[email protected]>
Reviewed-by: Johannes Thumshirn <[email protected]>
Signed-off-by: Martin K. Petersen <[email protected]>
|
|
If you feed 32 bytes in then the kstrtoull() doesn't receive a terminated
string so will run off the end.
Signed-off-by: Alan Cox <[email protected]>
Reviewed-by: Johannes Thumshirn <[email protected]>
Signed-off-by: Martin K. Petersen <[email protected]>
|
|
Check the array size *before* dereferencing it with a user provided
offset.
Signed-off-by: Alan Cox <[email protected]>
Reviewed-by: Johannes Thumshirn <[email protected]>
Reviewed-by: Tomas Henzl <[email protected]>
Signed-off-by: Martin K. Petersen <[email protected]>
|
|
We were setting the queue depth correctly, then setting it back to
two. If you hit this as a bisection point then please send me an email
as it would imply we've been hiding other bugs with this one.
Cc: <[email protected]>
Signed-off-by: Alan Cox <[email protected]>
Reviewed-by: Hannes Reinicke <[email protected]>
Signed-off-by: Martin K. Petersen <[email protected]>
|
|
When logging async events the scsi_id, wwpn, and node_name values are
used directly from the CRQ struct which are of type __be64. This can be
confusing to someone looking through the log on a LE system. Instead
byteswap these values to host endian prior to logging.
Signed-off-by: Tyrel Datwyler <[email protected]>
Reviewed-by: Johannes Thumshirn <[email protected]>
Signed-off-by: Martin K. Petersen <[email protected]>
|
|
In a couple places the magic value of 2 is used to check the return code
of hypercalls. This translates to H_CLOSED.
Signed-off-by: Tyrel Datwyler <[email protected]>
Reviewed-by: Johannes Thumshirn <[email protected]>
Signed-off-by: Martin K. Petersen <[email protected]>
|
|
The values returned by the show functions for the host os_type,
mad_version, and partition_number attributes get their values directly
from the madapter_info struct whose associated fields are __be32
typed. Added endian conversion to ensure these values are sane on LE
platforms.
Signed-off-by: Tyrel Datwyler <[email protected]>
Reviewed-by: Johannes Thumshirn <[email protected]>
Signed-off-by: Martin K. Petersen <[email protected]>
|
|
A VIOSRP_HOST_CONFIG_TYPE management datagram (MAD) has existed in the
code for some time. From what information I've gathered from Brian King
this was likely implemented on the host side in a SLES 9 based VIOS,
which is no longer supported anywhere. Further, it is not defined in
PAPR or supported by any AIX based VIOS.
Treating as bit rot and removing the associated host config code. The
config attribute and its show function are left as not to break
userspace. The behavior remains the same returning nothing.
Signed-off-by: Tyrel Datwyler <[email protected]>
Reviewed-by: Johannes Thumshirn <[email protected]>
Signed-off-by: Martin K. Petersen <[email protected]>
|
|
The root node of the OF device tree is exported as of_root. No need to
look up the root by path name. Instead just get a reference directly via
of_root.
Signed-off-by: Tyrel Datwyler <[email protected]>
Reviewed-by: Johannes Thumshirn <[email protected]>
Signed-off-by: Martin K. Petersen <[email protected]>
|
|
Add defines for mad version and mad os_type, and replace the magic
numbers in set_adapter_info() accordingly.
Signed-off-by: Tyrel Datwyler <[email protected]>
Reviewed-by: Johannes Thumshirn <[email protected]>
Reviewed-by: Manoj Kumar <[email protected]>
Signed-off-by: Martin K. Petersen <[email protected]>
|
|
The PAPR defines four valid header values for the first byte of a CRQ
message. Namely, an unused/empty message (0x00), a valid
command/response entry (0x80), a valid initialization entry (0xC0), and
a valid transport event (0xFF). Further, initialization responses have
two formats namely initialize (0x01) and initialize complete
(0x02). Define these values as enums and use them in the code in
place of their magic number equivalents.
Signed-off-by: Tyrel Datwyler <[email protected]>
Reported-by: Johannes Thumshirn <[email protected]>
Reviewed-by: Manoj Kumar <[email protected]>
Signed-off-by: Martin K. Petersen <[email protected]>
|
|
The enum values for VIOSRP_LINUX_FORMAT and VIOSRP_INLINE_FORMAT are off
by one. They are currently defined as 0x06 and 0x07 respetively. These
values are defined in PAPR correctly as 0x05 and 0x06. This
inconsistency has gone unnoticed as neither enum is currently used. The
possible future support of PING messages between the VIOS and client
adapter relies on VIOSRP_INLINE_FORMAT crq messages. Corrected these
enum values to match PAPR definitions.
Signed-off-by: Tyrel Datwyler <[email protected]>
Reviewed-by: Johannes Thumshirn <[email protected]>
Reviewed-by: Manoj Kumar <[email protected]>
Signed-off-by: Martin K. Petersen <[email protected]>
|
|
free_cpu_mask_var before reply_q
Removed cpumask_clear as it is not required for zalloc_cpumask_var and
free free_cpumask_var before freeing reply_q.
Signed-off-by: Suganath prabu Subramani <[email protected]>
Signed-off-by: Chaitra P B <[email protected]>
Signed-off-by: Martin K. Petersen <[email protected]>
|
|
Several functions in lpfc have comments stating that the function must
be called with the hbalock (or hostlock, or ringlock) held. Add
lockdep_assert_held() annotations to these functions, so one can
actually verify the locks are held.
Signed-off-by: Johannes Thumshirn <[email protected]>
Acked-by: Dick Kennedy <[email protected]>
Signed-off-by: Martin K. Petersen <[email protected]>
|
|
__bfa_trc() compiles to 115 bytes of machine code.
With this .config: http://busybox.net/~vda/kernel_config
there are 1494 calls of __bfa_trc().
__bfa_trc32() is very similar, so it is uninlined too.
However, it appears to be unused, therefore this patch
ifdefs it out.
Change in code size is about 130,000 bytes:
text data bss dec hex filename
85975426 22294712 20627456 128897594 7aed23a vmlinux.before
85842882 22294584 20627456 128764922 7accbfa vmlinux
[mkp: Removed unused __bfa_trc32()]
Signed-off-by: Denys Vlasenko <[email protected]>
Acked-by: Anil Gurumurthy <[email protected]>
CC: Fabian Frederick <[email protected]>
CC: Anil Gurumurthy <[email protected]>
CC: Christoph Hellwig <[email protected]>
CC: Guenter Roeck <[email protected]>
CC: Ben Hutchings <[email protected]>
CC: James Bottomley <[email protected]>
CC: [email protected]
CC: [email protected]
Signed-off-by: Martin K. Petersen <[email protected]>
|
|
Modify ppa driver to use the new parallel port device model.
Signed-off-by: Sudip Mukherjee <[email protected]>
Reviewed-by: Johannes Thumshirn <[email protected]>
Signed-off-by: Martin K. Petersen <[email protected]>
|
|
We are getting build warning about:
"Section mismatch in reference from the variable sim710_eisa_driver to
the function .init.text:sim710_eisa_probe()
The variable sim710_eisa_driver references the function __init
sim710_eisa_probe()"
sim710_eisa_probe() was having __init but that was being referenced from
sim710_eisa_driver.
Signed-off-by: Sudip Mukherjee <[email protected]>
Reviewed-by: Johannes Thumshirn <[email protected]>
Signed-off-by: Martin K. Petersen <[email protected]>
|
|
In case of error, the memory allocated for phwi_ctrlr was not freed.
Signed-off-by: Maurizio Lombardi <[email protected]>
Reviewed-by: Johannes Thumshirn <[email protected]>
Reviewed-by: Jitendra Bhivare <[email protected]>
Signed-off-by: Martin K. Petersen <[email protected]>
|
|
[mkp: Only one typo remained]
Signed-off-by: Tomas Winkler <[email protected]>
Signed-off-by: Martin K. Petersen <[email protected]>
|
|
QUERY_DESC_GEOMETRY_MAZ_SIZE
QUERY_DESC_GEOMETRY_MAX_SIZE
Signed-off-by: Tomas Winkler <[email protected]>
Signed-off-by: Martin K. Petersen <[email protected]>
|
|
Sometimes queries from the device might return a failure so it is
recommended to retry sending the query, before giving up. This change
adds a wrapper to retry sending a query attribute, in cases where we
need to wait longer, before we continue, or before reporting a failure.
Reviewed-by: Gilad Broner <[email protected]>
Reviewed-by: Dolev Raviv <[email protected]>
Signed-off-by: Yaniv Gardi <[email protected]>
Signed-off-by: Martin K. Petersen <[email protected]>
|
|
Add a write memory barrier to make sure descriptors prepared are
actually written to memory before ringing the doorbell. We have also
added the write memory barrier after ringing the doorbell register so
that controller sees the new request immediately.
Reviewed-by: Dolev Raviv <[email protected]>
Signed-off-by: Gilad Broner <[email protected]>
Signed-off-by: Subhash Jadavani <[email protected]>
Signed-off-by: Yaniv Gardi <[email protected]>
Signed-off-by: Martin K. Petersen <[email protected]>
|
|
Performing several writes to UFS host controller registers has no
guarantee of ordering, so we must make sure register writes to setup
request list base address etc. are performed before the run/stop
register is enabled. In addition, when setting up a task request, we
must make sure the updating of descriptors takes places before ringing
the doorbell, similarly to setting up a transfer request.
Reviewed-by: Dolev Raviv <[email protected]>
Signed-off-by: Gilad Broner <[email protected]>
Signed-off-by: Yaniv Gardi <[email protected]>
Signed-off-by: Martin K. Petersen <[email protected]>
|
|
DME commands such as Hibern8 enter/exit and gear switch generate 2
completion interrupts, one for confirmation that command is received by
local UniPro and 2nd one is the final confirmation after communication
with remote UniPro. Currently both of these completions are registered
as interrupt events which is not quite necessary and instead we can just
wait for the interrupt of 2nd completion, this should reduce the number
of interrupts and could reduce the unnecessary CPU wakeups to handle
extra interrupts.
Reviewed-by: Gilad Broner <[email protected]>
Reviewed-by: Dolev Raviv <[email protected]>
Signed-off-by: Subhash Jadavani <[email protected]>
Signed-off-by: Yaniv Gardi <[email protected]>
Signed-off-by: Martin K. Petersen <[email protected]>
|
|
UFS flag query requests may fail sometimes due to timeouts etc. Add a
wrapper function to retry up to 10 times in case of such failure,
similar to retries being made for attribute queries.
Reviewed-by: Dolev Raviv <[email protected]>
Signed-off-by: Gilad Broner <[email protected]>
Signed-off-by: Yaniv Gardi <[email protected]>
Signed-off-by: Martin K. Petersen <[email protected]>
|
|
Hibern8 exit can be called from 3 different contexts:
- ufshcd_hibern8_exit_work
- ufshcd_ungate_work
- runtime/system resume
If hibern8 exit fails for some reason then we try to bring the link to
active state by link startup but this recovery mechanism results into
deadlock or errors from first 2 context listed above. This change fixes
the recovery by adding proper error handling mechanism.
Reviewed-by: Gilad Broner <[email protected]>
Reviewed-by: Dolev Raviv <[email protected]>
Signed-off-by: Subhash Jadavani <[email protected]>
Signed-off-by: Yaniv Gardi <[email protected]>
Signed-off-by: Martin K. Petersen <[email protected]>
|
|
If hibern8 enter command fails then UFS link state may be unknown which
may result into timeout of all the commands issued after failure.
This change does 2 things (for pre-defined number of retry counts) after
hibern8 enter failure:
1. Recovers the UFS link to active state
2. If link is recovered to active state, tries to put the UFS link in
hibern8 enter again until retry count expires.
Reviewed-by: Gilad Broner <[email protected]>
Reviewed-by: Dolev Raviv <[email protected]>
Signed-off-by: Subhash Jadavani <[email protected]>
Signed-off-by: Yaniv Gardi <[email protected]>
Signed-off-by: Martin K. Petersen <[email protected]>
|
|
The dme_peer get/set attribute commands are prone to errors, therefore
we add three retries for the UIC command sending. Error code returned
from ufshcd_send_uic_cmd() is checked, and unless it was successful or
the retries have finished, another command will be sent.
Reviewed-by: Gilad Broner <[email protected]>
Reviewed-by: Dolev Raviv <[email protected]>
Signed-off-by: Lee Susman <[email protected]>
Signed-off-by: Yaniv Gardi <[email protected]>
Signed-off-by: Martin K. Petersen <[email protected]>
|
|
If device raises the exception event in the response to the commands
sent during the runtime/system PM callbacks, exception event handler
might run in parallel with PM callbacks and may see unclocked register
accesses. This change fixes this issue by not scheduling the exception
event handler while PM callbacks are running.
Reviewed-by: Gilad Broner <[email protected]>
Reviewed-by: Dolev Raviv <[email protected]>
Signed-off-by: Subhash Jadavani <[email protected]>
Signed-off-by: Yaniv Gardi <[email protected]>
Signed-off-by: Martin K. Petersen <[email protected]>
|
|
fDeviceInit query response time for some devices is too long that
default query request timeout of 100ms may not be enough. Experiments
show that fDeviceInit response sometimes takes 500ms so to be on safer
side this change sets the timeout to 600ms. Without this change, we
might unnecessarily have to retry fDeviceInit query requests multiple
times and each query request timeout prints one error message.
Reviewed-by: Gilad Broner <[email protected]>
Reviewed-by: Dolev Raviv <[email protected]>
Signed-off-by: Subhash Jadavani <[email protected]>
Signed-off-by: Yaniv Gardi <[email protected]>
Signed-off-by: Martin K. Petersen <[email protected]>
|
|
When sending a query to the device returns with a timeout error, we
clear the corresponding bit in the DOORBELL register but we don't clear
the outstanding_request field as we should. This patch fixes this bug.
Reviewed-by: Subhash Jadavani <[email protected]>
Reviewed-by: Gilad Broner <[email protected]>
Reviewed-by: Dolev Raviv <[email protected]>
Signed-off-by: Yaniv Gardi <[email protected]>
Signed-off-by: Martin K. Petersen <[email protected]>
|
|
A race condition appear to exist between request completion when
scsi_done() is called to end the request and set the tag back to -1 (at
blk_queue_end_tag() scsi_end_request), and scsi layer error handling
which aborts the command and reuses it to request sense data. Sending
the request sense is done with tag which was set to -1 and so it is
invalid. Assert command tag passed from scsi layer is valid.
Reviewed-by: Subhash Jadavani <[email protected]>
Reviewed-by: Dolev Raviv <[email protected]>
Signed-off-by: Gilad Broner <[email protected]>
Signed-off-by: Yaniv Gardi <[email protected]>
Signed-off-by: Martin K. Petersen <[email protected]>
|
|
Some of the data structures (like response UPIU) and/or its elements
(unused fields) should be cleared before sending out the respective
command to UFS device.
This change clears the UPIU response data structure for query commands
and NOP command before sending out the command. We also initialize the
PRDT table length to zero which should take care of commands which
doesn't have any data associated with it. We are also clearing the
unused fields in request UPIU for NOP command.
Reviewed-by: Gilad Broner <[email protected]>
Reviewed-by: Dolev Raviv <[email protected]>
Signed-off-by: Subhash Jadavani <[email protected]>
Signed-off-by: Yaniv Gardi <[email protected]>
Tested-by: Tomas Winkler <[email protected]>
Signed-off-by: Martin K. Petersen <[email protected]>
|
|
Clear the UFS data structures before sending new request.
The SCSI command is sent to the device within the UFS UPIU request.
As part of the transfer UPIU preparation, the SCSI command is copied
to the UPIU structure according to the SCSI command size.
As different SCSI commands differ in size from each other, we need
to clear the whole SCSI command field to prevent sending uninitialized
data to the device.
The UPIU response doesn't always include the sense data and can differ
in size.
Hence, the UPIU response should also be cleared before the transfer.
Reviewed-by: Gilad Broner <[email protected]>
Reviewed-by: Dolev Raviv <[email protected]>
Signed-off-by: Subhash Jadavani <[email protected]>
Signed-off-by: Maya Erez <[email protected]>
Signed-off-by: Yaniv Gardi <[email protected]>
Signed-off-by: Martin K. Petersen <[email protected]>
|
|
When the scsi_dh core was moved into the scsi core module,
CONFIG_SCSI_DH became a 'bool' option, and now anything depending on it
can be built-in even when CONFIG_SCSI=m. This of course cannot link
successfully:
drivers/scsi/built-in.o: In function `rdac_init':
scsi_dh_alua.c:(.init.text+0x14): undefined reference to `scsi_register_device_handler'
scsi_dh_alua.c:(.init.text+0x64): undefined reference to `scsi_unregister_device_handler'
drivers/scsi/built-in.o: In function `alua_init':
scsi_dh_alua.c:(.init.text+0xb0): undefined reference to `scsi_register_device_handler'
As a workaround, this adds an extra dependency on CONFIG_SCSI, so
Kconfig can figure out whether built-in is allowed or not.
Signed-off-by: Arnd Bergmann <[email protected]>
Fixes: 086b91d052eb ("scsi_dh: integrate into the core SCSI code")
Signed-off-by: Martin K. Petersen <[email protected]>
|
|
Gcc incorrectly detects that two variables in aha1542_queuecommand might
be used without an initialization:
scsi/aha1542.c: In function 'aha1542_queuecommand':
scsi/aha1542.c:382:16: error: 'cptr' may be used uninitialized in this function [-Werror=maybe-uninitialized]
scsi/aha1542.c:379:11: error: 'sg_count' may be used uninitialized in this function [-Werror=maybe-uninitialized]
The only user of these is doing the same check that the assigment has,
so it is actually guaranteed to work. Adding an "else" clause with a
fake initialization shuts up the warning.
Signed-off-by: Arnd Bergmann <[email protected]>
Signed-off-by: Martin K. Petersen <[email protected]>
|
|
The qla4_83xx_rd_reg_indirect() function can fail when it is unable to
read a register, but not all callers check its return value before using
the register data, and gcc correctly warns about this:
qla4xxx/ql4_83xx.c: In function 'qla4_83xx_process_reset_template':
qla4xxx/ql4_83xx.c:1073:36: warning: 'value' may be used uninitialized in this function
ha->reset_tmplt.array[index++] = value;
^
qla4xxx/ql4_83xx.c:1050:11: note: 'value' was declared here
uint32_t value;
^
qla4xxx/ql4_83xx.c:902:8: warning: 'value' may be used uninitialized in this function
value &= p_rmw_hdr->test_mask;
^
qla4xxx/ql4_83xx.c:895:11: note: 'value' was declared here
uint32_t value;
^
In file included from ../include/linux/io.h:25:0,
from ../include/linux/pci.h:31,
from ../drivers/scsi/qla4xxx/ql4_def.h:16,
from ../drivers/scsi/qla4xxx/ql4_83xx.c:10:
asm/io.h:101:2: warning: 'value' may be used uninitialized in this function
asm volatile("str %1, %0"
^
qla4xxx/ql4_83xx.c:874:11: note: 'value' was declared here
uint32_t value;
^
Unfortunately, I don't see any helpful way to add proper error handling
for this case, and the failure scenario for rd_reg seems rather obscure,
so this bails out and makes the rd_reg accessor set the result to
0xffffffff so we at least get a predictable value.
Signed-off-by: Arnd Bergmann <[email protected]>
Acked-by: Nilesh Javali <[email protected]>
Signed-off-by: Martin K. Petersen <[email protected]>
|
|
We get a warning for the fas216 driver when it is compiled as a loadable
module, as the __setup() functions are never called then:
scsi/arm/fas216.c:101:19: warning: 'fas216_log_setup' defined but not used [-Wunused-function]
static int __init fas216_log_setup(char *str)
This adds an #ifndef MODULE around the definition to shut up the warning
and clarify for the reader when it is used or not.
Signed-off-by: Arnd Bergmann <[email protected]>
Signed-off-by: Martin K. Petersen <[email protected]>
|
|
The calc_sync_xfer function is only used if CONFIG_SCSI_ACORNSCSI_SYNC
is set, otherwise we get a compiler warning:
scsi/arm/acornscsi.c:680:15: warning: 'calc_sync_xfer' defined but not used [-Wunused-function]
unsigned char calc_sync_xfer(unsigned int period, unsigned int offset)
This marks the function as __maybe_unused to shut up the warning and
silently drop the function in the object code when there is no caller.
Signed-off-by: Arnd Bergmann <[email protected]>
Signed-off-by: Martin K. Petersen <[email protected]>
|
|
The seq_mpt_print_ioc_summary function is used for the
/proc/mpt/iocN/summary implementation and never gets called when
CONFIG_PROC_FS is disabled:
drivers/message/fusion/mptbase.c:6851:13: warning: 'seq_mpt_print_ioc_summary' defined but not used [-Wunused-function]
static void seq_mpt_print_ioc_summary(MPT_ADAPTER *ioc, struct seq_file *m, int showlan)
This adds an #ifdef to hide the function definition in that case and
avoid the warning.
Signed-off-by: Arnd Bergmann <[email protected]>
Signed-off-by: Martin K. Petersen <[email protected]>
|
|
The fdomain SCSI host driver is one of the last remaining drivers that
manually search the PCI bus using pci_get_device rather than registering
a pci_driver instance.
This means the module device table is unused when the driver is
built-in, and we get a warning about it:
drivers/scsi/fdomain.c:1773:29: warning: 'fdomain_pci_tbl' defined but not used [-Wunused-variable]
To avoid the warning, this adds another #ifdef around the table
definition.
Signed-off-by: Arnd Bergmann <[email protected]>
Signed-off-by: Martin K. Petersen <[email protected]>
|
|
A barrier should be added to ensure proper ordering of memory mapped
writes.
Signed-off-by: Tomas Henzl <[email protected]>
Reviewed-by: Kashyap Desai <[email protected]>
Acked-by: Kashyap Desai <[email protected]>
Signed-off-by: Martin K. Petersen <[email protected]>
|
|
This removes a redundant code block that will either be executed if the
ENABLE_FCP_RING_POLLING flag is set in phba->cfg_poll or not. The code
is just duplicated in both cases, hence we unify it again.
This probably is a left over from some sort of refactoring.
Signed-off-by: Johannes Thumshirn <[email protected]>
Reviewed-by: Matthew R. Ochs <[email protected]>
Reviewed-by: Tomas Henzl <[email protected]>
Reviewed-by: Sebastian Herbszt <[email protected]>
Acked-by: Dick Kennedy <[email protected]>
Signed-off-by: Martin K. Petersen <[email protected]>
|
|
Bump mpt3sas driver version from 09.102.00.00 to 12.100.00.00
Signed-off-by: Suganath prabu Subramani <[email protected]>
Signed-off-by: Chaitra P B <[email protected]>
Reviewed-by: Tomas Henzl <[email protected]>
Signed-off-by: Martin K. Petersen <[email protected]>
|
|
timedout IO.
Track msix of each IO and use the same msix for issuing abort to timed
out IO. With this driver will process IO's reply first followed by TM.
Signed-off-by: Suganath prabu Subramani <[email protected]>
Signed-off-by: Chaitra P B <[email protected]>
Reviewed-by: Tomas Henzl <[email protected]>
Signed-off-by: Martin K. Petersen <[email protected]>
|