https://bugzilla.kernel.org/show_bug.cgi?id=195285
Bug ID: 195285
Summary: qla2xxx FW immediatly crashing after target start
Product: SCSI Drivers
Version: 2.5
Kernel Version: 4.9.10-200.fc25.x86_64
Hardware: x86-64
OS: Lin
On Fri, 2017-04-07 at 16:14 -0500, Michael Cyr wrote:
> That then caused this issue, because release_cmd is always called, even
> if queue_status is not. Perhaps it would be cleaner to set some sort of
> status valid flag during queue_status instead of setting a flag in
> aborted_task?
Hello M
On 4/7/17 12:01 PM, Bryant G. Ly wrote:
On 4/7/17 11:36 AM, Bart Van Assche wrote:
On Fri, 2017-04-07 at 11:12 -0500, Bryant G. Ly wrote:
So from this stack trace it looks like the ibmvscsis driver is
sending an
extra response through send_messages even though an abort was issued.
IBMi, repo
Reviewed-by: Scott Benesh
Reviewed-by: Scott Teel
Reviewed-by: Kevin Barnett
Signed-off-by: Don Brace
---
drivers/scsi/hpsa.c |2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/scsi/hpsa.c b/drivers/scsi/hpsa.c
index 33db581..42047f0 100644
--- a/drivers/scsi/hpsa.c
- simplify the driver
- there are a lot of quirky racy conditions not handled
- causes more aborts/resets when the number of commands to
be aborted is large, such as in multi-path fail-overs.
- has been turned off in our internal driver since 8/31/2015
Reviewed-by: Scott Benesh
Reviewed-by
From: Scott Teel
create new worker thread to monitor controller events
- detect controller events more frequently.
- leave heartbeat check at 30 seconds.
Reviewed-by: Scott Benesh
Reviewed-by: Scott Teel
Reviewed-by: Kevin Barnett
Signed-off-by: Don Brace
---
drivers/scsi/hpsa.c | 32 ++
- Block I/O requests with 0 length transfers which go down
the ioaccel path. This causes lockup issues down in the basecode.
- These issues have been fixed, but there are customers who are
experiencing the issues when running older firmware.
Reviewed-by: Scott Benesh
Reviewed-by: Scot
- mark device state sooner.
Reviewed-by: Scott Benesh
Reviewed-by: Scott Teel
Reviewed-by: Kevin Barnett
Signed-off-by: Don Brace
---
drivers/scsi/hpsa.c | 44 ++--
1 file changed, 30 insertions(+), 14 deletions(-)
diff --git a/drivers/scsi/hpsa.c b
- queue depth assignment not in correct place, had no effect.
Reviewed-by: Scott Benesh
Reviewed-by: Scott Teel
Reviewed-by: Kevin Barnett
Signed-off-by: Don Brace
---
drivers/scsi/hpsa.c | 22 ++
drivers/scsi/hpsa.h |1 +
2 files changed, 11 insertions(+), 12 delet
- call scsi_done when the command completes.
Reviewed-by: Scott Benesh
Reviewed-by: Scott Teel
Reviewed-by: Kevin Barnett
Signed-off-by: Don Brace
---
drivers/scsi/hpsa.c |2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/scsi/hpsa.c b/drivers/scsi/hpsa.c
index 53
external shelves do not support BMICs.
Reviewed-by: Scott Benesh
Reviewed-by: Scott Teel
Reviewed-by: Kevin Barnett
Signed-off-by: Don Brace
---
drivers/scsi/hpsa.c |5 +
1 file changed, 5 insertions(+)
diff --git a/drivers/scsi/hpsa.c b/drivers/scsi/hpsa.c
index 73daace..8e22aed 100
- align with latest spec.
- added __attribute((aligned(512)))
Reviewed-by: Scott Teel
Reviewed-by: Scott Benesh
Reviewed-by: Kevin Barnett
Signed-off-by: Don Brace
---
drivers/scsi/hpsa_cmd.h | 20 ++--
1 file changed, 14 insertions(+), 6 deletions(-)
diff --git a/drivers
- schedule another scan.
- mark current scan as completed
Reviewed-by: Scott Benesh
Reviewed-by: Scott Teel
Reviewed-by: Kevin Barnett
Signed-off-by: Don Brace
---
drivers/scsi/hpsa.c |1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/scsi/hpsa.c b/drivers/scsi/hpsa.c
index 2990
Prevent enclosure resets.
Reviewed-by: Scott Benesh
Reviewed-by: Scott Teel
Reviewed-by: Kevin Barnett
Signed-off-by: Don Brace
---
drivers/scsi/hpsa.c |3 +++
1 file changed, 3 insertions(+)
diff --git a/drivers/scsi/hpsa.c b/drivers/scsi/hpsa.c
index 9fb30c4..2990897 100644
--- a/drive
Use the return from TUR as a check for the
device state.
Reviewed-by: Scott Benesh
Reviewed-by: Scott Teel
Reviewed-by: Kevin Barnett
Signed-off-by: Don Brace
---
drivers/scsi/hpsa.c |2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/scsi/hpsa.c b/drivers/scsi/hpsa
These patches are based on Linus's tree
These patches are for:
- Multipath failover support in general.
The changes are:
- update identify physical device structure
- align with FW
- stop getting enclosure info for externals
- no BMIC support
- update reset handler
- update to match
On Wed, 2017-04-05 at 07:41 -0400, Martin K. Petersen wrote:
> +static ssize_t
> +zeroing_mode_store(struct device *dev, struct device_attribute *attr,
> +const char *buf, size_t count)
> +{
> + struct scsi_disk *sdkp = to_scsi_disk(dev);
> +
> + if (!capable(CAP_SYS_ADMIN))
These patches are based on Linus's tree
These patches are for:
- Multipath failover support in general.
The changes are:
- update identify physical device structure
- align with FW
- stop getting enclosure info for externals
- no BMIC support
- update reset handler
- update to match
On Fri, 2017-04-07 at 13:29 -0600, Logan Gunthorpe wrote:
> On 07/04/17 09:49 AM, Bart Van Assche wrote:
> > Sorry that I had not yet noticed Logan's patch series. Should my two
> > patches that conflict with Logan's patch series be dropped and reworked
> > after Logan's patches are upstream?
>
>
Hi Bart,
On 07/04/17 09:49 AM, Bart Van Assche wrote:
> Sorry that I had not yet noticed Logan's patch series. Should my two
> patches that conflict with Logan's patch series be dropped and reworked
> after Logan's patches are upstream?
Yeah, Greg took my patchset around a few maintainers relativ
Due to relaxed ordering requirements on multiple architectures,
drivers are required to use wmb/rmb/mb combinations when they
need to guarantee observability between the memory and the HW.
The mpt3sas driver is already using wmb() for this purpose.
However, it issues a writel following wmb(). writ
On 04/07/2017 12:39 PM, Bart Van Assche wrote:
> On Fri, 2017-04-07 at 11:33 -0700, Bart Van Assche wrote:
>> On Fri, 2017-04-07 at 12:23 -0600, Jens Axboe wrote:
>>> On 04/07/2017 12:16 PM, Bart Van Assche wrote:
Hello Jens,
The six patches in this patch series fix the queue lockup
On Fri, 2017-04-07 at 11:33 -0700, Bart Van Assche wrote:
> On Fri, 2017-04-07 at 12:23 -0600, Jens Axboe wrote:
> > On 04/07/2017 12:16 PM, Bart Van Assche wrote:
> > > Hello Jens,
> > >
> > > The six patches in this patch series fix the queue lockup I reported
> > > recently on the linux-block m
On Wed, 2017-04-05 at 07:41 -0400, Martin K. Petersen wrote:
> Separating discards and zeroout operations allows us to remove the LBPRZ
> block zeroing constraints from discards and honor the device preferences
> for UNMAP commands.
>
> If supported by the device, we'll also choose UNMAP over one
On Fri, 2017-04-07 at 12:23 -0600, Jens Axboe wrote:
> On 04/07/2017 12:16 PM, Bart Van Assche wrote:
> > Hello Jens,
> >
> > The six patches in this patch series fix the queue lockup I reported
> > recently on the linux-block mailing list. Please consider these patches
> > for inclusion in the up
On Wed, 2017-04-05 at 07:41 -0400, Martin K. Petersen wrote:
> +static const char *zeroing_mode[] = {
> + [SD_ZERO_WRITE] = "write",
> + [SD_ZERO_WS]= "writesame",
> + [SD_ZERO_WS16_UNMAP]= "writesame_16_unmap",
> + [SD_ZERO_WS10_UNMAP]= "writesame_10_unm
On 04/07/2017 12:16 PM, Bart Van Assche wrote:
> Hello Jens,
>
> The six patches in this patch series fix the queue lockup I reported
> recently on the linux-block mailing list. Please consider these patches
> for inclusion in the upstream kernel.
Some of this we need in 4.11, but not all of it.
While running the srp-test software I noticed that request
processing stalls sporadically at the beginning of a test, namely
when mkfs is run against a dm-mpath device. Every time when that
happened the following command was sufficient to resume request
processing:
echo run >/sys/kernel/debug/
The blk_mq_dispatch_rq_list() implementation got modified several
times but the comments in that function were not updated every
time. Since it is nontrivial what is going on, update the comments
in blk_mq_dispatch_rq_list().
Signed-off-by: Bart Van Assche
Cc: Omar Sandoval
Cc: Christoph Hellwig
If a .queue_rq() function returns BLK_MQ_RQ_QUEUE_BUSY then the block
driver that implements that function is responsible for rerunning the
hardware queue once requests can be queued again successfully.
commit 52d7f1b5c2f3 ("blk-mq: Avoid that requeueing starts stopped
queues") removed the blk_mq_
Introduce a function that runs a hardware queue unconditionally
after a delay. Note: there is already a function that stops and
restarts a hardware queue after a delay, namely blk_mq_delay_queue().
This function will be used in the next patch in this series.
Signed-off-by: Bart Van Assche
Cc: Ch
Hello Jens,
The six patches in this patch series fix the queue lockup I reported
recently on the linux-block mailing list. Please consider these patches
for inclusion in the upstream kernel.
Thanks,
Bart.
Changes between v3 and v4:
- Addressed the review comments on version three of this series
To improve scalability, if hardware queues are shared, restart
a single hardware queue in round-robin fashion. Rename
blk_mq_sched_restart_queues() to reflect the new semantics.
Remove blk_mq_sched_mark_restart_queue() because this function
has no callers. Remove flag QUEUE_FLAG_RESTART because thi
Since the next patch in this series will use RCU to iterate over
tag_list, make this safe. Add lockdep_assert_held() statements
in functions that iterate over tag_list to make clear that using
list_for_each_entry() instead of list_for_each_entry_rcu() is
fine in these functions.
Signed-off-by: Bar
Hi Dan,
On 03/04/17 06:07 PM, Dan Williams wrote:
> The completely agnostic part is where I get worried, but I shouldn't
> say anymore until I actually read the patch.The worry is cases where
> this agnostic enabling allows unsuspecting code paths to do the wrong
> thing. Like bypass iomem safety.
On 4/7/2017 1:25 PM, James Bottomley wrote:
>> The right thing was to either call __raw_writel/__raw_readl or
>> write_relaxed/read_relaxed for multi-arch compatibility.
> writeX_relaxed and thus your patch is definitely wrong. The reason is
> that we have two ordering domains: the CPU and the Bus
On Fri, 2017-04-07 at 12:41 -0400, Sinan Kaya wrote:
> Due to relaxed ordering requirements on multiple architectures,
> drivers are required to use wmb/rmb/mb combinations when they
> need to guarantee observability between the memory and the HW.
>
> The mpt3sas driver is already using wmb() for
On 4/7/17 11:36 AM, Bart Van Assche wrote:
On Fri, 2017-04-07 at 11:12 -0500, Bryant G. Ly wrote:
So from this stack trace it looks like the ibmvscsis driver is sending an
extra response through send_messages even though an abort was issued.
IBMi, reported this issue internally when they were
On 4/7/2017 12:41 PM, Sinan Kaya wrote:
> The right thing was to either call __raw_writel/__raw_readl or
> write_relaxed/read_relaxed for multi-arch compatibility.
One can also argue to get rid of wmb(). I can go either way based
on the recommendation.
--
Sinan Kaya
Qualcomm Datacenter Technolog
Due to relaxed ordering requirements on multiple architectures,
drivers are required to use wmb/rmb/mb combinations when they
need to guarantee observability between the memory and the HW.
The mpt3sas driver is already using wmb() for this purpose.
However, it issues a writel following wmb(). writ
On Fri, 2017-04-07 at 11:12 -0500, Bryant G. Ly wrote:
> So from this stack trace it looks like the ibmvscsis driver is sending an
> extra response through send_messages even though an abort was issued.
> IBMi, reported this issue internally when they were testing the driver,
> because their clie
On Fri, 7 Apr 2017, 1:42pm -, Johannes Thumshirn wrote:
> Directly call ELS request handler functions in fc_lport_recv_els_req
> instead of saving the pointer to the handler's receive function and then
> later dereferencing this pointer.
>
> This makes the code a bit more obvious.
>
> Sign
On 04/07/2017 08:49 AM, Bryant G. Ly wrote:
> The driver is sending a response to the aborted task response
That occurrence of "response" looks extraneous?
> along with LIO sending the tmr response. SCSI spec says
> that the initiator
On 4/7/17 10:49 AM, Bryant G. Ly wrote:
The driver is sending a response to the aborted task response
along with LIO sending the tmr response. SCSI spec says
that the initiator that sends the abort task TM NEVER gets a
response to the aborted op and with the current code it will
send a response
On 04/06/2017 10:33 PM, Stephen Rothwell wrote:
> Hi Martin,
>
> Today's linux-next merge of the scsi-mkp tree got a conflict in:
>
> drivers/scsi/osd/osd_uld.c
>
> between commit:
>
> ac1ddc584e98 ("scsi: utilize new cdev_device_add helper function")
>
> from the char-misc tree and commit
The driver is sending a response to the aborted task response
along with LIO sending the tmr response. SCSI spec says
that the initiator that sends the abort task TM NEVER gets a
response to the aborted op and with the current code it will
send a response. Thus this fix will remove that response if
Directly call ELS request handler functions in fc_lport_recv_els_req
instead of saving the pointer to the handler's receive function and then
later dereferencing this pointer.
This makes the code a bit more obvious.
Signed-off-by: Johannes Thumshirn
---
drivers/scsi/libfc/fc_lport.c | 20 ++
Instead of rewriting write/readq, use linux/io-64-nonatomic-lo-hi.h which
already have them.
Signed-off-by: Corentin Labbe
---
drivers/scsi/smartpqi/smartpqi.h | 31 ++-
1 file changed, 2 insertions(+), 29 deletions(-)
diff --git a/drivers/scsi/smartpqi/smartpqi.h b/
On 2017-04-06, 6:33 AM, "Sagi Grimberg" wrote:
> Say it's connected via 2 legs, the bar is accessed from leg A and the
> data from the disk comes via leg B. In this case, the data is heading
> towards the p2p device via leg B (might be congested), the completion
> goes directly to the RC, and the
On 04/05/2017 01:40 PM, Andrey Ryabinin wrote:
> On 04/05/2017 10:46 AM, Vlastimil Babka wrote:
>> The function __alloc_pages_direct_compact() sets PF_MEMALLOC to prevent
>> deadlock during page migration by lock_page() (see the comment in
>> __unmap_and_move()). Then it unconditionally clears the
On April 05, 2017 3:47 PM Vlastimil Babka wrote:
>
> The previous patch has shown that simply setting and clearing PF_MEMALLOC in
> current->flags can result in wrongly clearing a pre-existing PF_MEMALLOC flag
> and potentially lead to recursive reclaim. Let's introduce helpers that
> support
>
Hi all,
the infamous syzkaller incovered some more issues in the sg driver.
This patchset fixes those two issues (and adds a fix for yet another
potential issue; checking for a NULL dxferp when dxfer_len is not 0).
It also removes handling of the SET_FORCE_LOW_DMA ioctl, which never
worked since t
sg_remove_sfp_usercontext() is clearing any sg requests,
but needs to take 'rq_list_lock' when modifying the list.
Reported-by: Christoph Hellwig
Signed-off-by: Hannes Reinecke
Reviewed-by: Johannes Thumshirn
Tested-by: Johannes Thumshirn
---
drivers/scsi/sg.c | 12 ++--
1 file change
The 'reserved' page array is used as a short-cut for mapping
data, saving us to allocate pages per request.
However, the 'reserved' array is only capable of holding one
request, so this patch introduces a mutex for protect
'sg_fd' against concurrent accesses.
Signed-off-by: Hannes Reinecke
Review
From: Johannes Thumshirn
Check for a valid direction before starting the request, otherwise we risk
running into an assertion in the scsi midlayer checking for vaild requests.
Signed-off-by: Johannes Thumshirn
Link: http://www.spinics.net/lists/linux-scsi/msg104400.html
Reported-by: Dmitry Vyuk
'Sg_request' is using a private list implementation; convert it
to standard lists.
Signed-off-by: Hannes Reinecke
Reviewed-by: Johannes Thumshirn
Tested-by: Johannes Thumshirn
---
drivers/scsi/sg.c | 147 ++
1 file changed, 61 insertions(+),
The ioctl SET_FORCE_LOW_DMA has never worked since the initial
git check-in, and the respective setting is nowadays handled
correctly.
So disable it entirely.
Signed-off-by: Hannes Reinecke
Reviewed-by: Johannes Thumshirn
Tested-by: Johannes Thumshirn
Reviewed-by: Christoph Hellwig
---
driver
On April 05, 2017 3:47 PM Vlastimil Babka wrote:
>
> The function __alloc_pages_direct_compact() sets PF_MEMALLOC to prevent
> deadlock during page migration by lock_page() (see the comment in
> __unmap_and_move()). Then it unconditionally clears the flag, which can clear
> a
> pre-existing PF_M
Unused.
Signed-off-by: Hannes Reinecke
Reviewed-by: Johannes Thumshirn
Tested-by: Johannes Thumshirn
Reviewed-by: Christoph Hellwig
---
drivers/scsi/sg.c | 2 --
1 file changed, 2 deletions(-)
diff --git a/drivers/scsi/sg.c b/drivers/scsi/sg.c
index 11ca00d..92cc658 100644
--- a/drivers/scsi
The PCI pool API is deprecated. This commit replaces the PCI pool old
API by the appropriate function with the DMA pool API.
Signed-off-by: Romain Perier
Acked-by: Peter Senna Tschudin
Tested-by: Peter Senna Tschudin
Acked-by: Doug Ledford
Tested-by: Doug Ledford
---
drivers/infiniband/hw/mt
The PCI pool API is deprecated. This commit replaces the PCI pool old
API by the appropriate function with the DMA pool API.
Signed-off-by: Romain Perier
Acked-by: Peter Senna Tschudin
Tested-by: Peter Senna Tschudin
---
drivers/dma/pch_dma.c | 12 ++--
1 file changed, 6 insertions(+),
The PCI pool API is deprecated. This commit replaces the PCI pool old
API by the appropriate function with the DMA pool API.
Signed-off-by: Romain Perier
Acked-by: Peter Senna Tschudin
Acked-by: Jeff Kirsher
Tested-by: Peter Senna Tschudin
---
drivers/net/ethernet/intel/e100.c | 12 ++
The PCI pool API is deprecated. This commit replaces the PCI pool old
API by the appropriate function with the DMA pool API.
Signed-off-by: Romain Perier
Acked-by: Peter Senna Tschudin
Tested-by: Peter Senna Tschudin
---
drivers/block/DAC960.c | 38 ++
drive
The PCI pool API is deprecated. This commit replaces the PCI pool old
API by the appropriate function with the DMA pool API.
Signed-off-by: Romain Perier
Acked-by: Peter Senna Tschudin
Tested-by: Peter Senna Tschudin
Reviewed-by: Leon Romanovsky
Acked-by: Doug Ledford
Tested-by: Doug Ledford
The PCI pool API is deprecated. This commit replaces the PCI pool old
API by the appropriate function with the DMA pool API.
Signed-off-by: Romain Perier
Reviewed-by: Peter Senna Tschudin
Acked-by: Doug Ledford
Tested-by: Doug Ledford
---
drivers/net/ethernet/mellanox/mlx5/core/cmd.c | 11 +++
The PCI pool API is deprecated. This commit replaces the PCI pool old
API by the appropriate function with the DMA pool API. It also updates
the name of some variables and the content of comments, accordingly.
Signed-off-by: Romain Perier
Reviewed-by: Peter Senna Tschudin
---
drivers/scsi/csios
The PCI pool API is deprecated. This commit replaces the PCI pool old
API by the appropriate function with the DMA pool API.
Signed-off-by: Romain Perier
Reviewed-by: Peter Senna Tschudin
---
drivers/net/wireless/intel/ipw2x00/ipw2200.c | 13 +++--
1 file changed, 7 insertions(+), 6 del
The PCI pool API is deprecated. This commit replaces the PCI pool old
API by the appropriate function with the DMA pool API. It also updates
some comments, accordingly.
Signed-off-by: Romain Perier
Reviewed-by: Peter Senna Tschudin
---
drivers/scsi/lpfc/lpfc.h | 14 +++---
drivers/scsi/l
The PCI pool API is deprecated. This commit replaces the PCI pool old
API by the appropriate function with the DMA pool API.
Signed-off-by: Romain Perier
Acked-by: Peter Senna Tschudin
Tested-by: Peter Senna Tschudin
---
drivers/scsi/be2iscsi/be_iscsi.c | 6 +++---
drivers/scsi/be2iscsi/be_mai
The PCI pool API is deprecated. This commit replaces the PCI pool old
API by the appropriate function with the DMA pool API.
Signed-off-by: Romain Perier
Reviewed-by: Peter Senna Tschudin
---
drivers/scsi/mvsas/mv_init.c | 6 +++---
drivers/scsi/mvsas/mv_sas.c | 6 +++---
2 files changed, 6 in
Now that all the drivers use dma pool API, we can remove the macro
functions for PCI pool.
Signed-off-by: Romain Perier
Reviewed-by: Peter Senna Tschudin
---
include/linux/pci.h | 9 -
1 file changed, 9 deletions(-)
diff --git a/include/linux/pci.h b/include/linux/pci.h
index 2dbd6d2..
The PCI pool API is deprecated. This commit replaces the PCI pool old
API by the appropriate function with the DMA pool API.
Signed-off-by: Romain Perier
Acked-by: Peter Senna Tschudin
Tested-by: Peter Senna Tschudin
---
drivers/scsi/pmcraid.c | 10 +-
drivers/scsi/pmcraid.h | 2 +-
2
The PCI pool API is deprecated. This commit replaces the PCI pool old
API by the appropriate function with the DMA pool API.
Signed-off-by: Romain Perier
Reviewed-by: Peter Senna Tschudin
---
drivers/scsi/mpt3sas/mpt3sas_base.c | 73 +
1 file changed, 34 inse
The PCI pool API is deprecated. This commit replaces the PCI pool old
API by the appropriate function with the DMA pool API.
Signed-off-by: Romain Perier
Reviewed-by: Peter Senna Tschudin
Acked-by: Sumit Saxena
---
drivers/scsi/megaraid/megaraid_mbox.c | 33 +++
drivers/scsi/
The current PCI pool API are simple macro functions direct expanded to
the appropriate dma pool functions. The prototypes are almost the same
and semantically, they are very similar. I propose to use the DMA pool
API directly and get rid of the old API.
This set of patches, replaces the old API by
On Thu, Apr 06, 2017 at 04:00:24PM -0400, Konrad Rzeszutek Wilk wrote:
> You wouldn't have a git tree to easily test it? Thanks.
git://git.infradead.org/users/hch/block.git request-errors
Gitweb:
http://git.infradead.org/users/hch/block.git/shortlog/refs/heads/request-errors
76 matches
Mail list logo