07 Aug, 2014
2 commits
04 Aug, 2014
1 commit
-
If get_host_stats failes we are using kfree to free the
skb. We should be using kfree_skb.This patch was made over Christoph's scsi-queue drivers-for-3.17 branch.
Signed-off-by: Mike Christie
Signed-off-by: Christoph Hellwig
01 Aug, 2014
8 commits
-
Fix printk format warnings (seen on i386 builds):
../drivers/scsi/u14-34f.c: In function 'port_detect':
../drivers/scsi/u14-34f.c:630:28: warning: format '%u' expects argument of type 'unsigned int', but argument 4 has type 'u64' [-Wformat=]
../drivers/scsi/u14-34f.c: In function 'u14_34f_queuecommand_lck':
../drivers/scsi/u14-34f.c:1290:25: warning: format '%llu' expects argument of type 'long long unsigned int', but argument 6 has type 'int' [-Wformat=]Signed-off-by: Randy Dunlap
Reviewed-by: Hannes Reinecke
Signed-off-by: Christoph Hellwig -
The current implementation may mix the negative value returned from
pm8001_set_nvmd with count. -(-ENOMEM) could be interpreted as bytes
programmed, this patch fixes it.Signed-off-by: Tomas Henzl
Signed-off-by: Suresh Thiagarajan
Signed-off-by: Christoph Hellwig -
The loopcount is calculated by using some weird magic. Use instead a boring
macro.Signed-off-by: Tomas Henzl
Acked-by: Suresh Thiagarajan
Signed-off-by: Christoph Hellwig -
Update pmcs mail list for pm8001 driver support
Signed-off-by: Suresh Thiagarajan
Acked-by: Jack Wang
Signed-off-by: Christoph Hellwig -
When a iscsi nop as ping timedout we were failing with the
common connection error code, ISCSI_ERR_CONN_FAILED. This
patch adds a new error code for this problem so can properly
track/distinguish in userspace.Signed-off-by: Mike Christie
Acked-by: Vikas Chaudhary
Reviewed-by: Hannes Reinecke
Signed-off-by: Christoph Hellwig -
When the get_host_stats call was not supported we were
returing EINVAL. This has us return ENOSYS, because for
software iscsi drivers where there is no host it is ok to not
have this callout.Signed-off-by: Mike Christie
Acked-by: Vikas Chaudhary
Reviewed-by: Hannes Reinecke
Signed-off-by: Christoph Hellwig -
iscsi_get_host_stats was dropping the error code returned
by drivers like qla4xxx.Signed-off-by: Mike Christie
Acked-by: Vikas Chaudhary
Signed-off-by: Christoph Hellwig -
qla4xxx was not always returning -EXYZ error codes when
qla4xxx_get_host_stats failed.Signed-off-by: Mike Christie
Acked-by: Vikas Chaudhary
Reviewed-by: Hannes Reinecke
Signed-off-by: Christoph Hellwig
30 Jul, 2014
8 commits
-
the qla4xxx_alloc_fw_dump() calls dma_alloc_coherent() but does not
check its return value.Signed-off-by: Maurizio Lombardi
Acked-By: Nilesh Javali
Signed-off-by: Christoph Hellwig -
Replacing strncpy with strlcpy to avoid strings that lacks null terminate.
And in some cases modified to copy one character less than the overall
length, as the entire area is already zeroed.Signed-off-by: Rickard Strandqvist
Acked-By: Nilesh Javali
Signed-off-by: Christoph Hellwig -
Replacing strncpy with strlcpy to avoid strings that lacks null terminate.
Signed-off-by: Rickard Strandqvist
Acked-By: Nilesh Javali
Signed-off-by: Christoph Hellwig -
As result of deprecation of MSI-X/MSI enablement functions
pci_enable_msix() and pci_enable_msi_block() all drivers
using these two interfaces need to be updated to use the
new pci_enable_msi_range() or pci_enable_msi_exact()
and pci_enable_msix_range() or pci_enable_msix_exact()
interfaces.Signed-off-by: Alexander Gordeev
Acked-By: Vikas Chaudhary
Signed-off-by: Christoph Hellwig -
As result of deprecation of MSI-X/MSI enablement functions
pci_enable_msix() and pci_enable_msi_block() all drivers
using these two interfaces need to be updated to use the
new pci_enable_msi_range() or pci_enable_msi_exact()
and pci_enable_msix_range() or pci_enable_msix_exact()
interfaces.Signed-off-by: Alexander Gordeev
Reviewed-by: Jack Wang
Signed-off-by: Christoph Hellwig -
Some devices don't like REPORT SUPPORTED OPERATION CODES and will
simply timeout causing sd_mod init to take a very very long time.
Introduce BLIST_NO_RSOC scsi scan flag, that stops RSOC from being
issued. Add it to Promise Vtrak E610f entry in scsi scan
blacklist. Fixes bug #79901 reported at
https://bugzilla.kernel.org/show_bug.cgi?id=79901Fixes: 98dcc2946adb ("SCSI: sd: Update WRITE SAME heuristics")
Signed-off-by: Janusz Dziemidowicz
Reviewed-by: Martin K. Petersen
Cc: stable@vger.kernel.org
Signed-off-by: Christoph Hellwig
29 Jul, 2014
9 commits
-
As result of deprecation of MSI-X/MSI enablement functions
pci_enable_msix() and pci_enable_msi_block() all drivers
using these two interfaces need to be updated to use the
new pci_enable_msi_range() or pci_enable_msi_exact()
and pci_enable_msix_range() or pci_enable_msix_exact()
interfaces.Signed-off-by: Alexander Gordeev
Acked-by: Arvind Kumar
Signed-off-by: Christoph Hellwig -
When a call to request_irq() failed pm8001_setup_msix()
still returns the success. This udate fixes the described
misbehaviour.Signed-off-by: Alexander Gordeev
Acked-by: Jack Wang
Signed-off-by: Christoph Hellwig -
There is no need to call pci_disable_msix() in case
the previous call to pci_enable_msix() failedSigned-off-by: Alexander Gordeev
Acked-by: James Smart
Signed-off-by: Christoph Hellwig -
As result of deprecation of MSI-X/MSI enablement functions
pci_enable_msix() and pci_enable_msi_block() all drivers
using these two interfaces need to be updated to use the
new pci_enable_msi_range() or pci_enable_msi_exact()
and pci_enable_msix_range() or pci_enable_msix_exact()
interfaces.Signed-off-by: Alexander Gordeev
Acked-by: Artur Paszkiewicz
Signed-off-by: Christoph Hellwig -
As result of deprecation of MSI-X/MSI enablement functions
pci_enable_msix() and pci_enable_msi_block() all drivers
using these two interfaces need to be updated to use the
new pci_enable_msi_range() or pci_enable_msi_exact()
and pci_enable_msix_range() or pci_enable_msix_exact()
interfaces.Signed-off-by: Alexander Gordeev
Acked-by: Anil Gurumurthy
Signed-off-by: Christoph Hellwig -
Signed-off-by: Alexander Gordeev
Acked-by: Anil Gurumurthy
Signed-off-by: Christoph Hellwig -
Function pci_enable_msix() should not be called in case
it threw a negative errno from a previous call.Signed-off-by: Alexander Gordeev
Acked-by: Anil Gurumurthy
Signed-off-by: Christoph Hellwig -
As result of deprecation of MSI-X/MSI enablement functions
pci_enable_msix() and pci_enable_msi_block() all drivers
using these two interfaces need to be updated to use the
new pci_enable_msi_range() or pci_enable_msi_exact()
and pci_enable_msix_range() or pci_enable_msix_exact()
interfaces.Signed-off-by: Alexander Gordeev
Acked-by: "Suma Ramars (sramars)"
Signed-off-by: Christoph Hellwig -
hostt->name might contain space, so use the ->proc_name short name instead
when creating per-driver command slabs.Signed-off-by: James Bottomley
Reported-by: poma
Tested-by: poma
Reviewed-by: Vladimir Davydov
Reviewed-by: Martin K. Petersen
Cc: stable@vger.kernel.org
Signed-off-by: Christoph Hellwig
26 Jul, 2014
12 commits
-
- add host_lock option whose default value is 0 which removes the
host_lock around all queued commands
- accept delay=-1 (_hi_) or -2 which use a tasklet to invoke
the scsi_done callback into the mid-layer. The default
is still delay=1 which uses a timer to delay 1 jiffy
- wire .change_queue_depth and .change_queue_type
functions to better simulate queueing in a modern LLD
- add SCSI_DEBUG_OPT_Q_NOISE (0x200) mask to only produce
debug output associated with queue full, plus from
.change_queue_depth and .change_queue_type functions
- add SCSI_DEBUG_OPT_ALL_TSF (0x400) mask which reports
all queued_arr fulls at TASK_SET_FULL, otherwise
SCSI_MLQUEUE_HOST_BUSY is returned
- add SCSI_DEBUG_OPT_RARE_TSF (0x800) mask which works
together with the every_nth option (> 0) to count
occurrences of num_in_q==queue_depth. When every_nth
is reached the victim (a command) yields TASK SET FULL
- clean up many debug messages.
- add ndelay= option that uses high resolution
timers; active if > 0 and then overrides delay= option
- expand Unit Attention handling: POR, BUS_RESET and
MODE PARAMETERS CHANGED
- support .eh_target_reset_handler and drop .bios_param
- add OPT_N_WCE mask so caching page yields WCE=0
- add OPT_RESET_NOISE mask to log aborts and resets
- add OPT_NO_CDB_NOISE mask to not log each cdb
- MODE SELECT support for changing caching page's WCE
- name common ioctls in log
- when fake_rw=1, do not vmalloc fake store; make
UNMAP and WRITE SAME obey fake_rw
- more logging and code improvements including better
sense buffer handlingWith fio and four (pseudo) devices I have observed 1.2 M IOPS
on my equipment. Rob Elliott who has done much testing and made
numerous suggestions, has better IOPS results than mine.Signed-off-by: Douglas Gilbert
Reviewed-by: Robert Elliott
Tested-by: Robert Elliott
Signed-off-by: Christoph Hellwig -
Add blist flags to permit the reading of the VPD pages even when
the target may claim SPC-2 compliance. MSFT targets currently
claim SPC-2 compliance while they implement post SPC-2 features.
With this patch we can correctly handle WRITE_SAME_16 issues.Signed-off-by: K. Y. Srinivasan
Reviewed-by: Hannes Reinecke
Signed-off-by: Christoph Hellwig -
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
Signed-off-by: Dolev Raviv
Signed-off-by: Christoph Hellwig -
Make undeclared functions static to suppress warnings
from sparse tool.Signed-off-by: Sujit Reddy Thumma
Signed-off-by: Dolev Raviv
Signed-off-by: Christoph Hellwig -
Signed-off-by: Vikas Chaudhary
Signed-off-by: Christoph Hellwig -
Instead of copying information to fw_control_context free it.
The task is forgotten thus also the reference to fw_control_context
and the completion thread takes the info from virt_ptr again.Signed-off-by: Tomas Henzl
Acked-by: Suresh Thiagarajan
Signed-off-by: Christoph Hellwig -
The driver checks the return valu, but after he tries to wait_for_completion
which might never happen. Also the ioctl buffer is freed at the end of the
function, so the first removal is not needed.Signed-off-by: Tomas Henzl
Acked-by: Suresh Thiagarajan
Signed-off-by: Christoph Hellwig -
ccb->fw_control_context is copied to local fw_control_context and
the local variable is never used laterFree ccb->fw_control_context. The task is forgotten thus also the
reference to fw_control_context and the completion thread takes the info
from virt_ptr again.Signed-off-by: Tomas Henzl
Acked-by: Suresh Thiagarajan
Signed-off-by: Christoph Hellwig -
There is a risk that the variable will be used without being initialized.
This was largely found by using a static code analysis program called cppche
Signed-off-by: Rickard Strandqvist
Acked-by: Suresh Thiagarajan
Acked-by: Jack Wang
Signed-off-by: Christoph Hellwig -
Removal of null pointer checks that could never happen
Signed-off-by: Rickard Strandqvist
Acked-by: Suresh Thiagarajan
Acked-by: Jack Wang
Signed-off-by: Christoph Hellwig -
The driver ignores the return value in a lot of places, fix
it at least somewhere (and release the resources in such cases),
to avoid that bad things happen.
A memory leak is fixed too.Signed-off-by: Tomas Henzl
Acked-by: Suresh Thiagarajan
Acked-by: Jack Wang
Signed-off-by: Christoph Hellwig -
Patch adds a new spinlock to protect the ccb management.
It may happen that concurrent threads become the same tag value
from the 'alloc' function', the spinlock prevents this situation.Signed-off-by: Tomas Henzl
Acked-by: Suresh Thiagarajan
Acked-by: Jack Wang
Signed-off-by: Christoph Hellwig