UFS driver's error handler forcefully tries to clear all the pending
requests. For each pending request in the queue, it waits 1 sec for it
to get cleared. If we have multiple requests in the queue then it's
possible that we might end up waiting for those many seconds before
resetting the host.
Currently we use the host quirks mechanism in order to
handle both device and host controller quirks.
In order to support various of UFS devices we should separate
handling the device quirks from the host controller's.
Reviewed-by: Gilad Broner
Signed-off-by: Raviv Shvili
Some UFS devices don't require VCCQ rail for device operations hence
this change adds support to recognize such devices and remove vote for
the unused VCCQ rail.
Signed-off-by: Subhash Jadavani
Signed-off-by: Yaniv Gardi
---
On Thu, 2016-02-04 at 19:22 +0800, Charles Chiou wrote:
> +static int stex_choice_sleep_mic(pm_message_t state)
> +{
> +switch (state.event) {
> +case PM_EVENT_SUSPEND:
> +return ST_S3;
> +case PM_EVENT_FREEZE:
Why do you react to PM_EVENT_FREEZE at all?
That is too early. You
On 4.2.2016 00:06, Raghava Aditya Renukunta wrote:
> aac_mutex was used to create protect the ioctl path for only the
> compat path, it would be make more sense to place mutex in
> aac_do_ioctl, which is the main ioctl function call that handles
> all ioctl commands.
>
> Created new mutex
On Wed, Feb 03, 2016 at 03:06:05PM -0800, Raghava Aditya Renukunta wrote:
> aac_mutex was used to create protect the ioctl path for only the
> compat path, it would be make more sense to place mutex in
> aac_do_ioctl, which is the main ioctl function call that handles
> all ioctl commands.
>
>
Some vendor's UFS device sends back to back NACs for the DL data frames
causing the host controller to raise the DFES error status. Sometimes
such UFS devices send back to back NAC without waiting for new
retransmitted DL frame from the host and in such cases it might be
possible the Host UniPro
Some UFS devices don't require VCCQ rail for device operations hence
this change adds support to recognize such devices and remove vote for
the unused VCCQ rail.
Signed-off-by: Subhash Jadavani
Signed-off-by: Yaniv Gardi
---
Currently we use the host quirks mechanism in order to
handle both device and host controller quirks.
In order to support various of UFS devices we should separate
handling the device quirks from the host controller's.
Reviewed-by: Gilad Broner
Signed-off-by: Raviv Shvili
Some vendor's UFS device sends back to back NACs for the DL data frames
causing the host controller to raise the DFES error status. Sometimes
such UFS devices send back to back NAC without waiting for new
retransmitted DL frame from the host and in such cases it might be
possible the Host UniPro
UFS driver's error handler forcefully tries to clear all the pending
requests. For each pending request in the queue, it waits 1 sec for it
to get cleared. If we have multiple requests in the queue then it's
possible that we might end up waiting for those many seconds before
resetting the host.
Sometimes due to hw issues it takes some time to the
host controller register to update. In order to verify the register
has updated, a polling is done until its value is set.
In addition the functions ufshcd_hba_stop() and
ufshcd_wait_for_register() was updated with an additional input
Different platform may have different number of lanes
for the UFS link.
Add parameter to device tree specifying how many lanes
should be configured for the UFS link.
Signed-off-by: Gilad Broner
Signed-off-by: Yaniv Gardi
---
A race condition exists between request requeueing and scsi layer
error handling:
When UFS driver queuecommand returns a busy status for a request,
it will be requeued and its tag will be freed and set to -1.
At the same time it is possible that the request will timeout and
scsi layer will start
We put the UFS device in sleep state & UFS link in hibern8 state during
runtime suspaned. After this we put all the UFS rails in low power
modes immediately but it seems some devices may still draw more than
sleep current from UFS rails (especially from VCCQ rail) atleast for
500us.
To avoid this
Currently when we try to put the link in off/disabled state during
suspend, it seems link is not being kept in low power mode.
This patch fixes the issue by putting the link in hibern8 first
(so device also puts the link in low power mode) and then stop the
host controller.
Signed-off-by: Subhash
Some UFS devices (and may be host) have issues if LCC is
enabled. So we are setting PA_Local_TX_LCC_Enable to 0
before link startup which will make sure that both host
and device TX LCC are disabled once link startup is
completed.
This change also:
- enables the device ref clock before changing
WARN_ON(atomic_read(>used) >= mccq->len) seen when FW gets into UE.
MCCQ overflow is happening because driver discards any new request and
frees up the tag. The tag allocation controls the number of MCC WRB posted.
It is being replenished but WRBs are not hence the WARN_ON.
Allocation and
FW got into UE after running IO stress test
With kernel change to split session lock in frwd_lock and back_lock for tx
and rx path correspondingly, in the IO path, common resource used in driver
such as WRB was left unprotected.
Add wrb_lock spinlock to protect allocation and freeing of WRB.
In open with IP of unknown address family, only tag is freed and error
returned. MCC WRB allocated for the operation is not freed.
Added check for supported family of IP in the beginning before
allocating the tag and WRB.
Signed-off-by: Jitendra Bhivare
Processing of mgmt and IO tasks are done in process context and sofitrqs.
Allocation and freeing of sgl_handles needs to be done under
spin_lock_bh/spin_unlock_bh and move the locks to the routines.
Signed-off-by: Jitendra Bhivare
Reviewed-by: Johannes Thumshirn
be_mbox_notify_wait does exactly same thing as be_mbox_notify.
Signed-off-by: Jitendra Bhivare
Reviewed-by: Johannes Thumshirn
---
drivers/scsi/be2iscsi/be_cmds.c | 79 +++--
1 file changed, 4 insertions(+),
Connection resets observed from some targets when NOP-Out with wrong
ExpStatSn is sent.
FW keeps track of StatSn and fills up ExpStatSn accordingly.
The header filled up by the stack needs to be modified by driver to clear
ExpStatSn. If the field is not cleared, FW recalculates ExpStatSn and
Remove confusingly named be_mcc_compl_is_new and be_mcc_compl_use functions
in processing of BMBX. Rearrange beiscsi_process_mbox_compl function.
Signed-off-by: Jitendra Bhivare
Reviewed-by: Johannes Thumshirn
---
Sometimes due to hw issues it takes some time to the
host controller register to update. In order to verify the register
has updated, a polling is done until its value is set.
In addition the functions ufshcd_hba_stop() and
ufshcd_wait_for_register() was updated with an additional input
Some UFS devices (and may be host) have issues if LCC is
enabled. So we are setting PA_Local_TX_LCC_Enable to 0
before link startup which will make sure that both host
and device TX LCC are disabled once link startup is
completed.
This change also:
- enables the device ref clock before changing
Currently when we try to put the link in off/disabled state during
suspend, it seems link is not being kept in low power mode.
This patch fixes the issue by putting the link in hibern8 first
(so device also puts the link in low power mode) and then stop the
host controller.
Signed-off-by: Subhash
Query commands have 100ms timeout and it may timeout if they are
issued in parallel to ongoing read/write SCSI commands, this change
adds the retry (max: 10) in case command timeouts.
Signed-off-by: Subhash Jadavani
Signed-off-by: Yaniv Gardi
---
We are seeing that some devices are raising the urgent bkops exception
events even when BKOPS status doesn't indicate performace impacted or
critical. Handle these device by determining their urgent bkops status
at runtime.
Signed-off-by: Subhash Jadavani
Signed-off-by:
beiscsi_mccq_compl -> beiscsi_mccq_compl_wait - indicate blocking call.
be_mcc_wait_compl -> be_mcc_compl_poll - indicate polling for completion.
be_mbox_db_ready_wait -> be_mbox_db_ready_poll - indicate polling for RDY.
be_mcc_compl_process -> beiscsi_process_mbox_compl - indicate BMBX compl.
be_mcc_compl_process_isr is removed.
MCC CQ processing is done only in beiscsi_process_mcc_cq and MCC CQE
processing is done only in beiscsi_process_mcc_compl.
Signed-off-by: Jitendra Bhivare
Reviewed-by: Johannes Thumshirn
---
mcc_cq_lock spin_lock is used only in beiscsi_process_mcc which is called
only when all interrupts are disabled from mgmt_epfw_cleanup during
unloading of driver. There is no other context where there can be
contention for the processing of CQ.
Signed-off-by: Jitendra Bhivare
From 60e14c245c18cbe0300cfa244334e2850a52a381 Mon Sep 17 00:00:00 2001
From: Charles
Date: Wed, 2 Sep 2015 20:48:55 +0800
Subject: [PATCH 2/3] scsi:stex.c Add hotplug support
1. Add hotplug support. Pegasus support surprise removal. To this end, I
use
V4:
fixed DOS EOL symbols in 2 new files
V3:
Due to comments in V2
Removed change 02/17 of V2
Removed change 03/17 of V2
Removed change 17/17 of V2
V2:
This series should be pushed on top of 15 patches series:
"Big fixes, retries, handle a race condition"
fixed and few comments.
V1:
This
Different platform may have different number of lanes
for the UFS link.
Add parameter to device tree specifying how many lanes
should be configured for the UFS link.
Signed-off-by: Gilad Broner
Signed-off-by: Yaniv Gardi
---
A race condition exists between request requeueing and scsi layer
error handling:
When UFS driver queuecommand returns a busy status for a request,
it will be requeued and its tag will be freed and set to -1.
At the same time it is possible that the request will timeout and
scsi layer will start
When control reaches to Linux UFS driver during UFS boot mode, UFS host
controller interrupt status/enable registers may have left over
settings.
In order to avoid any spurious interrupts due to these left overs,
it's important to clear these interrupt status/enable registers before
enabling UFS
On 02/04/2016 11:55 AM, Manoj Kumar wrote:
> On 2/3/2016 5:28 PM, Tyrel Datwyler wrote:
>> 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
On 01/29/2016 11:05 PM, Nicholas A. Bellinger wrote:
try_again:
- se_acl = core_tpg_get_initiator_node_acl(>port_tpg_1, p);
- if (!se_acl) {
+ ch->sess = target_alloc_session(>port_tpg_1, 0, 0,
+ TARGET_PROT_NORMAL, p, ch, NULL);
+
On 01/29/2016 11:05 PM, Nicholas A. Bellinger wrote:
From: Nicholas Bellinger
Cc: Vu Pham
Cc: Sagi Grimberg
Cc: Bart Van Assche
Signed-off-by: Nicholas Bellinger
Hello Nic,
A patch
Hi list, I tried to hotplug disk in my machine, but when I hot remove the disk,
I found some warning calltrace.
When we try to unplug a disk,
The lldd report a loss_of_singal event to sas, so
sas_deform_port
sas_unregister_domain_devices
sas_unregister_dev
On Thu, Feb 4, 2016 at 8:35 PM, Tomas Henzl wrote:
> On 28.1.2016 07:37, Suganath prabu Subaramani wrote:
>> From: Suganath prabu Subramani
>>
>> Added support for configurable Chain Frame Size. Calculate the
>> Chain Message Frame size
> "Suganath" == Suganath prabu Subaramani
> writes:
Suganath> Posting 10 patches for mpt3sas driver enhancements and few
Suganath> fixes.
Please address Tomas' comments to patches 6 and 7 and resubmit.
Thank you!
--
Martin K. Petersen
commit 8af1954d172a("blkdev: Do not return -EOPNOTSUPP if discard
is supported") only solve the situation of discard, because When
applications issue a discard request to device, they can't expect
deterministic behaviour. However, WRITE SAME should not ignore error
with EOPNOTSUPP, because if
Hello Martin,
> -Original Message-
> From: Martin K. Petersen [mailto:martin.peter...@oracle.com]
> Sent: Thursday, February 4, 2016 5:28 PM
> To: Raghava Aditya Renukunta
> Cc: james.bottom...@hansenpartnership.com;
> martin.peter...@oracle.com; linux-scsi@vger.kernel.org; Mahesh
>
> "Yiwen" == jiangyiwen writes:
Yiwen,
Yiwen> First, I don't understand why blk_peek_request() return
Yiwen> EREMOTEIO, as I know, in this situation we only prepare scsi
Yiwen> command without sending to device, and I think EREMOTEIO should
Yiwen> be returned only
> "Raghava" == Raghava Aditya Renukunta
> writes:
Raghava> This patchset includes the following changes (bug fixes and new
Raghava> feature support) specific to aacraid driver
Applied to 4.6/scsi-queue.
Next time please make sure you put the patch
> "Jitendra" == Jitendra Bhivare writes:
Jitendra> This driver update has critical fixes for following issues: -
Jitendra> Management tasks with incorrect ExpStatSn - WRB allocation
Jitendra> failures in IO path - MCC WRB leak
Applied to 4.6/scsi-queue.
> "Ewan" == Ewan Milne writes:
Ewan> Maybe it's unnecessary, but I would put parenthesis around (ret ==
Ewan> ... -EIO); for clarity.
Sure.
Ewan> I would prefer that additional enum/constant values be added to
Ewan> the end of the series, here you are changing the
> "John" == John Garry writes:
John> The hisi_sas driver is required to support both device tree and
John> ACPI. The scanning of the device properties now uses the Unified
John> Device Properties API, which serves both OF and ACPI.
Series applied to 4.6/scsi-queue.
On 28.1.2016 07:37, Suganath prabu Subaramani wrote:
> From: Suganath prabu Subramani
>
> Never block the SEP device (i.e. Never invoke the
> scsi_internal_device_block() API for SEP device) even for the delay not
> responding events. Blocking the SEP
On 28.1.2016 07:36, Suganath prabu Subaramani wrote:
> From: Suganath prabu Subramani
>
> Updated hardware description headers with MPI v2.6 and mpt3sas_pci_table[]
> with vendor_ids,device_ids of Cutlass and Intruder HBA which has support
> for 4 ports
>
>
On 02/04/2016 07:48 AM, Martin K. Petersen wrote:
> When a storage device rejects a WRITE SAME command we will disable write
> same functionality for the device and return -EREMOTEIO to the block
> layer. -EREMOTEIO will in turn prevent DM from retrying the I/O and/or
> failing the path.
>
>
On 28.1.2016 07:37, Suganath prabu Subaramani wrote:
> From: Suganath prabu Subramani
>
> Driver assumes HighPriority credit as part of Global credit. But,
> Firmware treats HighPriority credit value and global cedits as two
> different values. Changed host
On 28.1.2016 07:36, Suganath prabu Subaramani wrote:
> From: Suganath prabu Subramani
>
> As driver was using MPI SGL while framing the SMP Passthrough request
> message due to which firmware unable to post the Reply Data in the host
> memory and timeout is
On 28.1.2016 07:37, Suganath prabu Subaramani wrote:
> From: Suganath prabu Subramani
>
> 1.Wrong size of argument is being passed
> The size of struct being passed as an argument to memset func and area of
> memory being pointed by an instance of struct
On 28.1.2016 07:37, Suganath prabu Subaramani wrote:
> From: Suganath prabu Subramani
>
> Module parameter to enable/disable configuring
> affinity hint for msix vector.
> SMP affinity feature can be enabled/disabled by setting
> module parameter
On 28.1.2016 07:37, Suganath prabu Subaramani wrote:
> From: Suganath prabu Subramani
>
> Bump mpt3sas driver version from 09.102.00.00 to 12.100.00.00
>
> Signed-off-by: Suganath prabu Subramani
>
> Signed-off-by:
On 22.1.2016 13:41, Maurizio Lombardi wrote:
> The pd_seq_sync pointer can't be NULL, we have to check
> its entries instead.
>
> Signed-off-by: Maurizio Lombardi
Reviewed-by: Tomas Henzl
Tomas
--
To unsubscribe from this list: send the line
On 28.1.2016 07:37, Suganath prabu Subaramani wrote:
> From: Suganath prabu Subramani
>
> Added support for configurable Chain Frame Size. Calculate the
> Chain Message Frame size from the IOCMaxChainSegementSize (iocfacts).
> Applicable only for
> "Mika" == Mika Westerberg writes:
Mika> I have a Marvell 88SE9230 SATA Controller that has some sort of
Mika> integrated console SCSI device attached to one of the ports.
Applied to 4.5/scsi-fixes.
Thanks!
--
Martin K. Petersen Oracle Linux
On 2016/2/5 11:13, Martin K. Petersen wrote:
>> "Yiwen" == jiangyiwen writes:
>
> Yiwen,
>
> Yiwen> First, I don't understand why blk_peek_request() return
> Yiwen> EREMOTEIO, as I know, in this situation we only prepare scsi
> Yiwen> command without sending to
On 2016/2/4 14:48, Martin K. Petersen wrote:
> When a storage device rejects a WRITE SAME command we will disable write
> same functionality for the device and return -EREMOTEIO to the block
> layer. -EREMOTEIO will in turn prevent DM from retrying the I/O and/or
> failing the path.
>
> Yiwen
Kai's latest patch passes all my tests on the DAT DSS drive
Fails on the older LTO3 as it should. (un-partionable)
I don't have the new LTO5 yet, arrives end of week I am told.
Testing log
---
[root@srp-server ~]# uname -a
Linux srp-server 4.4.0 #1 SMP Thu Jan 28 15:06:45 EST 2016 x86_64
On 28.1.2016 07:37, Suganath prabu Subaramani wrote:
> From: Suganath prabu Subramani
>
> 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:
On Wed, Feb 03, 2016 at 03:54:48PM +, Joao Pinto wrote:
> Hi,
>
> On 2/3/2016 3:39 PM, Arnd Bergmann wrote:
> > On Wednesday 03 February 2016 15:01:34 Joao Pinto wrote:
> >>
> >> Hi Arnd,
> >>
> >> On 2/3/2016 12:54 PM, Arnd Bergmann wrote:
> >>> On Wednesday 03 February 2016 11:28:26 Joao
On 02/04/2016 12:03 AM, Johannes Thumshirn wrote:
> On Wed, Feb 03, 2016 at 05:28:33PM -0600, Tyrel Datwyler wrote:
>> 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
> On 4.2.2016, at 3.43, Seymour, Shane M wrote:
>
> Hi Kai,
>
> Tested with patched kernel 4.5.0-rc2-next-20160202+. It's looking good
> everything partition related passed with DDS5 and LTO6. You can definitely
> add me as a tested-by. I did find one issue below but
See below.
On Thu, 2016-02-04 at 01:48 -0500, Martin K. Petersen wrote:
> When a storage device rejects a WRITE SAME command we will disable write
> same functionality for the device and return -EREMOTEIO to the block
> layer. -EREMOTEIO will in turn prevent DM from retrying the I/O and/or
>
Hi Nic,
Please apply following patches to target-pending branch at your earliest
convenience.
Thanks,
Himanshu
Quinn Tran (3):
qla2xxx: Fix stale pointer access.
qla2xxx: Add DebugFS node for target sess list.
qla2xxx: Add DebugFS node to show irq vector's cpuid
Swapnil Nagle (1):
From: Quinn Tran
#cat /sys/kernel/debug/qla2xxx/qla2xxx_31/tgt_sess
qla2xxx_31
Port ID Port NameHandle
ff:fc:01 21:fd:00:05:33:c7:ec:16 0
01:0e:00 21:00:00:24:ff:7b:8a:e4 1
01:0f:00 21:00:00:24:ff:7b:8a:e5 2
Signed-off-by: Quinn Tran
From: Quinn Tran
> cat /sys/kernel/debug/qla2xxx/*/irq_cpuid
qla2xxx_81
IRQ Name Vector CPUID
qla2xxx (default) 150 9
qla2xxx (rsp_q) 151 9
qla2xxx (atio_q) 152 9
Signed-off-by: Quinn Tran
Signed-off-by:
From: Swapnil Nagle
The function value inside se_cmd can change if the TMR is cancelled.
Use original ATIO Type to correctly determine CTIO response.
Signed-off-by: Swapnil Nagle
Signed-off-by: Himanshu Madhani
From: Quinn Tran
[ Upstream Commit 84e32a06f4f8756ce9ec3c8dc7e97896575f0771 ]
Commit 84e32a0 ("qla2xxx: Use pci_enable_msix_range() instead of
pci_enable_msix()") introduced a regression when target mode is enabled.
In qla24xx_enable_msix(), ha->max_rsp_queues was
Le Thu, 4 Feb 2016 19:54:55 +0200
"Kai Mäkisara (Kolumbus)" écrivait:
> > Tested with patched kernel 4.5.0-rc2-next-20160202+. It's looking
> > good everything partition related passed with DDS5 and LTO6. You
> > can definitely add me as a tested-by. I did find one
On 02/04/2016 08:45 AM, Himanshu Madhani wrote:
From: Quinn Tran
#cat /sys/kernel/debug/qla2xxx/qla2xxx_31/tgt_sess
qla2xxx_31
Port ID Port NameHandle
ff:fc:01 21:fd:00:05:33:c7:ec:16 0
01:0e:00 21:00:00:24:ff:7b:8a:e4 1
01:0f:00
On 02/04/2016 08:45 AM, Himanshu Madhani wrote:
From: Quinn Tran
cat /sys/kernel/debug/qla2xxx/*/irq_cpuid
qla2xxx_81
IRQ Name Vector CPUID
qla2xxx (default) 150 9
qla2xxx (rsp_q) 151 9
qla2xxx (atio_q) 152 9
Hello Quinn
Hi,
With a HP Ultrium 3000 tape drive (LTO-5) and a HP C7975A
tape cartridge (LTO-5 and partition capable) and mt as
patched by Shane:
# lsscsi -g
[1:0:0:0] diskATAST3320620AS K /dev/sda /dev/sg0
[6:0:0:0] tapeHP Ultrium 5-SCSI Z64D /dev/st0 /dev/sg1
#
On 2/3/2016 5:28 PM, Tyrel Datwyler wrote:
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 transport event (0xFF). Define these values as enums
__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
On Wed, Feb 03, 2016 at 05:28:33PM -0600, Tyrel Datwyler wrote:
> 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
On Wed, Feb 03, 2016 at 05:28:29PM -0600, Tyrel Datwyler wrote:
> 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
On 2016/2/4 12:25, Mike Snitzer wrote:
> On Wed, Feb 03 2016 at 10:49pm -0500,
> jiangyiwen wrote:
>
>> On 2016/2/4 11:24, Mike Snitzer wrote:
>>> On Wed, Feb 03 2016 at 9:08pm -0500,
>>> jiangyiwen wrote:
>>>
When two processes submit WRTIE
On Wed, Feb 03, 2016 at 05:28:30PM -0600, Tyrel Datwyler wrote:
> 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 transport event (0xFF).
On Wed, Feb 03, 2016 at 05:28:32PM -0600, Tyrel Datwyler wrote:
> 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
> ---
>
On Wed, Feb 03, 2016 at 05:28:34PM -0600, Tyrel Datwyler wrote:
> 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
86 matches
Mail list logo