BUS_AND_STATUS_REG, BASR_PHASE_MATCH, 0, HZ) < 0) {
> - foo = -1;
> + result = -1;
> shost_printk(KERN_ERR, instance, "PDMA write:
> DRQ and phase timeout\n");
>
R_PHASE_MATCH, 0, HZ) < 0) {
> - foo = -1;
> + result = -1;
> shost_printk(KERN_ERR, instance, "PDMA write:
> DRQ and phase timeout\n");
> }
>
|2 ++
> 13 files changed, 50 insertions(+), 41 deletions(-)
>
Reviewed-by: Hannes Reinecke <h...@suse.com>
Cheers,
Hannes
--
Dr. Hannes ReineckeTeamlead Storage & Networking
h...@suse.de +49 911 74053 688
SUSE LINUX GmbH, M
s/scsi/g_NCR5380.h|4 ++--
> drivers/scsi/mac_scsi.c |5 ++---
> drivers/scsi/pas16.c| 14 --
> drivers/scsi/pas16.h|2 ++
> drivers/scsi/t128.c | 12 ++--
> drivers/scsi/t128.h |2 ++
> 13 files chang
|2 ++
> drivers/scsi/t128.h |2 ++
> 4 files changed, 14 insertions(+), 10 deletions(-)
>
Reviewed-by: Hannes Reinecke <h...@suse.com>
Cheers,
Hannes
--
Dr. Hannes ReineckeTeamlead Storage & Networking
h...@suse.de
28.h |2 ++
> 4 files changed, 14 insertions(+), 10 deletions(-)
>
Reviewed-by: Hannes Reinecke
Cheers,
Hannes
--
Dr. Hannes ReineckeTeamlead Storage & Networking
h...@suse.de +49 911 74053 688
SUSE LINUX GmbH, Maxfeldstr. 5, 9040
i.c | 10 --
> drivers/scsi/pas16.c| 10 --
> drivers/scsi/pas16.h|2 --
> drivers/scsi/t128.c |4
> drivers/scsi/t128.h |2 --
> 14 files changed, 6 insertions(+), 78 deletions(-)
>
Reviewed-by: Hannes Reinecke
/scsi/pas16.c| 10 --
> drivers/scsi/pas16.h|2 --
> drivers/scsi/t128.c |4
> drivers/scsi/t128.h |2 --
> 14 files changed, 6 insertions(+), 78 deletions(-)
>
Reviewed-by: Hannes Reinecke
Cheers,
Hannes
--
Dr
2 +-
> drivers/scsi/arm/cumana_1.c |2 +-
> drivers/scsi/arm/oak.c |2 +-
> drivers/scsi/dtc.c |2 +-
> drivers/scsi/g_NCR5380.c|8 +---
> drivers/scsi/pas16.c|2 +-
> drivers/scsi/t128.c | 2 +-
> 8 files changed, 1
ana_1.c |2 +-
> drivers/scsi/arm/oak.c |2 +-
> drivers/scsi/dtc.c |2 +-
> drivers/scsi/g_NCR5380.c|8 +---
> drivers/scsi/pas16.c|2 +-
> drivers/scsi/t128.c |2 +-
> 8 files changed, 14 insertions(+), 20 deletions(-)
3scsi_dma_xfer_len(unsigned long wanted_len,
> + struct scsi_cmnd *cmd)
> {
> - if (cmd->request->cmd_type == REQ_TYPE_FS)
> - return wanted;
> - else
> + if (wanted_len < 129 || cmd->request->cmd
anted_len,
> + struct scsi_cmnd *cmd)
> {
> - if (cmd->request->cmd_type == REQ_TYPE_FS)
> - return wanted;
> - else
> + if (wanted_len < 129 || cmd->request->cmd_type != REQ_TYPE_FS)
>
ivers/scsi/atari_scsi.c| 32 --
> drivers/scsi/sun3_scsi.c | 13 --
> 5 files changed, 22 insertions(+), 415 deletions(-)
>
Reviewed-by: Hannes Reinecke <h...@suse.com>
Cheers,
Hannes
--
Dr. Hannes ReineckeTeamlead Storage & Networking
h...@suse.
--
> drivers/scsi/sun3_scsi.c | 13 --
> 5 files changed, 22 insertions(+), 415 deletions(-)
>
Reviewed-by: Hannes Reinecke
Cheers,
Hannes
--
Dr. Hannes ReineckeTeamlead Storage & Networking
h...@suse.de +49 911 7405
0.h |2 +-
> drivers/scsi/mac_scsi.c | 15 ++-
> 5 files changed, 23 insertions(+), 6 deletions(-)
>
Reviewed-by: Hannes Reinecke <h...@suse.com>
Cheers,
Hannes
--
Dr. Hannes ReineckeTeamlead Storage & Networking
h...@suse.de
mac_scsi.c | 15 ++-
> 5 files changed, 23 insertions(+), 6 deletions(-)
>
Reviewed-by: Hannes Reinecke
Cheers,
Hannes
--
Dr. Hannes ReineckeTeamlead Storage & Networking
h...@suse.de +49 911 74053 688
SUSE LINUX Gm
t; Signed-off-by: Finn Thain <fth...@telegraphics.com.au>
>
> ---
>
Reviewed-by: Hannes Reinecke <h...@suse.com>
And don't worry about SLES10; we won't backport your fixes to _that_.
Cheers,
Hannes
--
Dr. Hannes ReineckeTeamlead Storage & Networking
h...@suse.d
configurations like this by disabling BIOSPARAM. My best guess is
> that this could be a problem only in the vanishingly rare case that
> 1) the CHS values stored in the boot device partition table are wrong and
> 2) a 5380 card is in use (because PDMA on 53C400 used to be broken).
>
> S
ck_vpd(struct scsi_device *sdev,
> struct alua_dh_data *h,
> {
> int rel_port = -1, group_id;
> struct alua_port_group *pg, *old_pg = NULL;
> - bool pg_updated;
> + bool pg_updated = false;
> unsigned long flags;
>
> group_id = scsi_
ice *sdev,
> struct alua_dh_data *h,
> {
> int rel_port = -1, group_id;
> struct alua_port_group *pg, *old_pg = NULL;
> - bool pg_updated;
> + bool pg_updated = false;
> unsigned long flags;
>
> group_id = scsi_vpd_tpg_id(sdev, _port);
Reviewe
id(sdev, _port);
>
I'd prefer 'pg_updated = false'.
Not that we trip over a static code analyser here :-)
Cheers,
Hannes
--
Dr. Hannes ReineckeTeamlead Storage & Networking
h...@suse.de +49 911 74053 688
SUSE LINUX GmbH, Maxfeldstr. 5, 904
'pg_updated = false'.
Not that we trip over a static code analyser here :-)
Cheers,
Hannes
--
Dr. Hannes ReineckeTeamlead Storage & Networking
h...@suse.de +49 911 74053 688
SUSE LINUX GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: F. Imendörffer, J. Smithard, J. Guild, D. Upmanyu, G. Norton
HRB 21284 (AG Nürnberg)
icated, I'm still not happy with the timeout handler, it
really should be sending real command aborts and not just extending
the timeout.
But it's better then nothing, and having this patchset in leaves us
with more time to discuss other matters.
EG ioctl interfaces ;-)
So:
Reviewed-by: Ha
th the timeout handler, it
really should be sending real command aborts and not just extending
the timeout.
But it's better then nothing, and having this patchset in leaves us
with more time to discuss other matters.
EG ioctl interfaces ;-)
So:
Reviewed-by: Hannes Reinecke
Cheers,
Hannes
--
Dr
, none of the above can be done if there is no hardware
available. At the same time, you wouldn't be able to test any
proposed fixes to the original ioctl patch.
So I guess you'll have to retract this patch or get hold of the
hardware to actually _test_ something there.
Or
n be done if there is no hardware
available. At the same time, you wouldn't be able to test any
proposed fixes to the original ioctl patch.
So I guess you'll have to retract this patch or get hold of the
hardware to actually _test_ something there.
Or send me some, I'll be happy to help out here :-
On 03/08/2016 08:58 PM, yga...@codeaurora.org wrote:
>> On 03/08/2016 02:01 PM, Hannes Reinecke wrote:
>>> On 03/08/2016 01:35 PM, Yaniv Gardi wrote:
>>>> A race condition exists between request requeueing and scsi layer
>>>> error handling:
>>>>
On 03/08/2016 08:58 PM, yga...@codeaurora.org wrote:
>> On 03/08/2016 02:01 PM, Hannes Reinecke wrote:
>>> On 03/08/2016 01:35 PM, Yaniv Gardi wrote:
>>>> A race condition exists between request requeueing and scsi layer
>>>> error handling:
>>>>
On 03/08/2016 02:01 PM, Hannes Reinecke wrote:
> On 03/08/2016 01:35 PM, Yaniv Gardi wrote:
>> 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 requeue
On 03/08/2016 02:01 PM, Hannes Reinecke wrote:
> On 03/08/2016 01:35 PM, Yaniv Gardi wrote:
>> 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 requeue
> ---
> drivers/scsi/ufs/ufs-qcom.c | 12
> drivers/scsi/ufs/ufshcd.h | 9 +
> 2 files changed, 21 insertions(+)
>
Reviewed-by: Hannes Reinecke <h...@suse.com>
Cheers,
Hannes
--
Dr. Hannes ReineckeTeamlead Storage & Networking
> drivers/scsi/ufs/ufshcd.h | 9 +
> 2 files changed, 21 insertions(+)
>
Reviewed-by: Hannes Reinecke
Cheers,
Hannes
--
Dr. Hannes ReineckeTeamlead Storage & Networking
h...@suse.de +49 911 74053 688
SUSE LINUX GmbH
drivers/scsi/ufs/ufs-qcom.c | 77
> +
> drivers/scsi/ufs/ufs-qcom.h | 9 ++
> 2 files changed, 86 insertions(+)
>
Reviewed-by: Hannes Reinecke <h...@suse.com>
Cheers,
Hannes
--
Dr. Hannes ReineckeTeamlead Storage & Networking
h...@suse.de
rs/scsi/ufs/ufs-qcom.h | 9 ++
> 2 files changed, 86 insertions(+)
>
Reviewed-by: Hannes Reinecke
Cheers,
Hannes
--
Dr. Hannes ReineckeTeamlead Storage & Networking
h...@suse.de +49 911 74053 688
SUSE LINUX GmbH, Maxfeldstr. 5,
.
>
> Reviewed-by: Gilad Broner <gbro...@codeaurora.org>
> Signed-off-by: Yaniv Gardi <yga...@codeaurora.org>
>
> ---
> drivers/scsi/ufs/ufs-qcom.c | 27 ---
> drivers/scsi/ufs/unipro.h | 1 +
> 2 files changed, 21 insertions(+)
.
>
> Reviewed-by: Gilad Broner
> Signed-off-by: Yaniv Gardi
>
> ---
> drivers/scsi/ufs/ufs-qcom.c | 27 ---
> drivers/scsi/ufs/unipro.h | 1 +
> 2 files changed, 21 insertions(+), 7 deletions(-)
>
Reviewed-by: Hannes Reinecke
+++
> 1 file changed, 36 insertions(+)
>
Having a timeout handler is always a good idea, even though this
doesn't do anything here.
Are we sure that the requests will return eventually?
Does the UFS spec provide for a command abort?
Cheers,
Hannes
--
Dr. Hannes Reinecke
s a good idea, even though this
doesn't do anything here.
Are we sure that the requests will return eventually?
Does the UFS spec provide for a command abort?
Cheers,
Hannes
--
Dr. Hannes ReineckeTeamlead Storage & Networking
h...@suse.de
rs/scsi/ufs/ufshcd.c b/drivers/scsi/ufs/ufshcd.c
index 9c1b94b..b9295ad 100644
--- a/drivers/scsi/ufs/ufshcd.c
+++ b/drivers/scsi/ufs/ufshcd.c
@@ -1388,7 +1388,7 @@ static int ufshcd_queuecommand(struct Scsi_Host
*host, struct scsi_cmnd *cmd)
goto out;
}
- err = ufshcd_hold(hba, true);
+ err = ufshcd_hold(hba, false);
if (err) {
err = SCSI_MLQUEUE_HOST_BUSY;
clear_bit_unlock(tag, >lrb_in_use);
which, by reading the code, should be avoiding this issue.
I was just asking you if you could give this patch a spin and see if it
works. If not (for whatever reason) I'm happy to accept your patch.
But first I would like to have an explanation why the above would _not_
work.
Unfortunately I don't have the hardware otherwise I'd be running the
tests myself.
Cheers,
Hannes
--
Dr. Hannes Reinecke zSeries & Storage
h...@suse.de +49 911 74053 688
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: J. Hawn, J. Guild, F. Imendörffer, HRB 16746 (AG Nürnberg)
rs/scsi/ufs/ufshcd.c b/drivers/scsi/ufs/ufshcd.c
index 9c1b94b..b9295ad 100644
--- a/drivers/scsi/ufs/ufshcd.c
+++ b/drivers/scsi/ufs/ufshcd.c
@@ -1388,7 +1388,7 @@ static int ufshcd_queuecommand(struct Scsi_Host
*host, struct scsi_cmnd *cmd)
goto out;
}
- err = ufshcd_hold(hba, true);
+ err = ufshcd_hold(hba, false);
if (err) {
err = SCSI_MLQUEUE_HOST_BUSY;
clear_bit_unlock(tag, >lrb_in_use);
which, by reading the code, should be avoiding this issue.
I was just asking you if you could give this patch a spin and see if it
works. If not (for whatever reason) I'm happy to accept your patch.
But first I would like to have an explanation why the above would _not_
work.
Unfortunately I don't have the hardware otherwise I'd be running the
tests myself.
Cheers,
Hannes
--
Dr. Hannes Reinecke zSeries & Storage
h...@suse.de +49 911 74053 688
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: J. Hawn, J. Guild, F. Imendörffer, HRB 16746 (AG Nürnberg)
t;dev, "%s: Controller disable failed\n", __func__);
>>> +}
>>> +
>> Shouldn't you return an error here?
>> If the controller disable failed you probably need a hard reset or
>> something, otherwise I would assume that every other command from that
>>
gt;>> +}
>>> +
>> Shouldn't you return an error here?
>> If the controller disable failed you probably need a hard reset or
>> something, otherwise I would assume that every other command from that
>> point on will not work as expected.
>>
>>
re-or-less immediately, avoiding the
issue with timeout handler kicking in.
And the queue will remain blocked until the ungate work item returns, at
which point I/O submission will continue.
As the request will be requeued to the head of the queue there won't be
other I/O competing with tags, so it sh
re-or-less immediately, avoiding the
issue with timeout handler kicking in.
And the queue will remain blocked until the ungate work item returns, at
which point I/O submission will continue.
As the request will be requeued to the head of the queue there won't be
other I/O competing with tags, so it sh
if (!qpti->sreg) {
> printk("PTI: Qlogic/ISP status register is
> unmappable\n");
> - return -1;
> + return -ENODEV;
> }
> }
> return 0;
>
Reviewed-by: Hannes Rein
f (!qpti->sreg) {
> printk("PTI: Qlogic/ISP status register is
> unmappable\n");
> - return -1;
> + return -ENODEV;
> }
> }
> return 0;
>
Reviewed-by: Hannes Reinecke
Cheers,
Hannes
--
Dr
>>> + return err;
>>> +}
>>> +EXPORT_SYMBOL(ufshcd_read_string_desc);
>>> +
>>> /**
>>> * ufshcd_read_unit_desc_param - read the specified unit descriptor
>>> parameter
>>> * @hba: Pointer to adapter instance
>>> diff --
gt;>> +
>>> /**
>>> * ufshcd_read_unit_desc_param - read the specified unit descriptor
>>> parameter
>>> * @hba: Pointer to adapter instance
>>> diff --git a/drivers/scsi/ufs/ufshcd.h b/drivers/scsi/ufs/ufshcd.h
>>> index a6d3572..54e1
_uic_err & UFSHCD_UIC_DL_PA_INIT_ERROR))) {
>>> + if (needs_reset) {
>>> + unsigned long max_doorbells = (1UL << hba->nutrs) - 1;
>>> +
>>> + /*
>>> +* ufshcd_reset_and_restore() does the link reinitializatio
t;> + if (needs_reset) {
>>> + unsigned long max_doorbells = (1UL << hba->nutrs) - 1;
>>> +
>>> + /*
>>> +* ufshcd_reset_and_restore() does the link reinitialization
>>> +* which will need atleast one
r need to dig through the git log.
Cheers,
Hannes
--
Dr. Hannes Reinecke zSeries & Storage
h...@suse.de +49 911 74053 688
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: J. Hawn, J. Guild, F. Imendörffer, HRB 16746 (AG Nürnberg)
r need to dig through the git log.
Cheers,
Hannes
--
Dr. Hannes Reinecke zSeries & Storage
h...@suse.de +49 911 74053 688
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: J. Hawn, J. Guild, F. Imendörffer, HRB 16746 (AG Nürnberg)
w power mode) and then stop the
> host controller.
>
> Signed-off-by: Subhash Jadavani <subha...@codeaurora.org>
> Signed-off-by: Yaniv Gardi <yga...@codeaurora.org>
>
> ---
> drivers/scsi/ufs/ufshcd.c | 10 ++
> 1 file changed, 10 insertions(+)
>
Reviewed-
rora.org>
> Signed-off-by: Yaniv Gardi <yga...@codeaurora.org>
>
> ---
> drivers/scsi/ufs/ufs_quirks.c | 4
> drivers/scsi/ufs/ufs_quirks.h | 11 ++-
> drivers/scsi/ufs/ufshcd.c | 10 ++
> 3 files changed, 24 insertions(+), 1 deletion(-)
>
Reviewed
w power mode) and then stop the
> host controller.
>
> Signed-off-by: Subhash Jadavani
> Signed-off-by: Yaniv Gardi
>
> ---
> drivers/scsi/ufs/ufshcd.c | 10 ++
> 1 file changed, 10 insertions(+)
>
Reviewed-by: Hannes Reinecke
Cheers,
Hannes
--
Dr. Hannes Reineck
ers/scsi/ufs/ufs_quirks.c | 4
> drivers/scsi/ufs/ufs_quirks.h | 11 ++-
> drivers/scsi/ufs/ufshcd.c | 10 ++
> 3 files changed, 24 insertions(+), 1 deletion(-)
>
Reviewed-by: Hannes Reinecke
Cheers,
Hannes
--
Dr. Hannes Reinecke zSeries &am
csi/ufs/unipro.h | 21 +++++
> 4 files changed, 142 insertions(+)
>
Reviewed-by: Hannes Reinecke <h...@suse.de>
Cheers,
Hannes
--
Dr. Hannes Reinecke zSeries & Storage
h...@suse.de +49 911 74053 688
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: J. Hawn, J. Guild, F. Imendörffer, HRB 16746 (AG Nürnberg)
adavani
> Signed-off-by: Yaniv Gardi
>
> ---
> drivers/scsi/ufs/ufshcd.c | 118
> ++
> drivers/scsi/ufs/ufshcd.h | 1 +
> drivers/scsi/ufs/ufshci.h | 2 +
> drivers/scsi/ufs/unipro.h | 21 +
> 4 files changed,
anged, 52 insertions(+), 7 deletions(-)
>
Reviewed-by: Hannes Reinecke <h...@suse.de>
Cheers,
Hannes
--
Dr. Hannes Reinecke zSeries & Storage
h...@suse.de +49 911 74053 688
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: J. Hawn, J. Guild, F. Imendörffer, HRB 16746 (AG Nürnberg)
;
> Signed-off-by: Subhash Jadavani
> Signed-off-by: Yaniv Gardi
>
> ---
> drivers/scsi/ufs/ufshcd.c | 53
> ---
> drivers/scsi/ufs/ufshcd.h | 6 ++
> 2 files changed, 52 insertions(+), 7 deletions(-)
>
Reviewed-by: Hannes
...@codeaurora.org>
> Signed-off-by: Yaniv Gardi <yga...@codeaurora.org>
>
> ---
> drivers/scsi/ufs/ufshcd.c | 55
> +++
> 1 file changed, 37 insertions(+), 18 deletions(-)
>
Reviewed-by: Hannes Reinecke <h..
gned-off-by: Yaniv Gardi
>
> ---
> drivers/scsi/ufs/ufshcd.c | 55
> +++
> 1 file changed, 37 insertions(+), 18 deletions(-)
>
Reviewed-by: Hannes Reinecke
Cheers,
Hannes
--
Dr. Hannes Reinecke
f-by: Yaniv Gardi <yga...@codeaurora.org>
>
> ---
> drivers/scsi/ufs/ufshcd.c | 93
> +++++++
> drivers/scsi/ufs/ufshci.h | 2 +
> 2 files changed, 95 insertions(+)
>
Reviewed-by: Hannes Reinecke <h...@suse.de>
Cheers,
Hannes
--
Dr. Hannes Reinecke
93
> +++
> drivers/scsi/ufs/ufshci.h | 2 +
> 2 files changed, 95 insertions(+)
>
Reviewed-by: Hannes Reinecke
Cheers,
Hannes
--
Dr. Hannes Reinecke zSeries & Storage
h...@suse.de +49 911
gt; + * which will need atleast one empty doorbell slot to send the
> + * device management commands (NOP and query commands).
> + * If there is no slot empty at this moment then free up last
> + * slot forcefully.
> + */
&
y doorbell slot to send the
> + * device management commands (NOP and query commands).
> + * If there is no slot empty at this moment then free up last
> + * slot forcefully.
> + */
> + if (hba->outstanding_reqs == max
on(-)
> create mode 100644 drivers/scsi/ufs/ufs_quirks.c
> create mode 100644 drivers/scsi/ufs/ufs_quirks.h
>
Sigh. _Of course_ there will be device quirks.
Probably too much to hope to have a new implementation where everyone
agrees on the details.
Reviewed-by: Hannes Reinecke <h...@s
de 100644 drivers/scsi/ufs/ufs_quirks.h
>
Sigh. _Of course_ there will be device quirks.
Probably too much to hope to have a new implementation where everyone
agrees on the details.
Reviewed-by: Hannes Reinecke
Cheers,
Hannes
--
Dr. Hannes Reinecke zSeries & Storage
h...@suse.de
gt; Signed-off-by: Yaniv Gardi <yga...@codeaurora.org>
>
> ---
> drivers/scsi/ufs/ufs.h| 1 +
> drivers/scsi/ufs/ufshcd.c | 60
> +++
> 2 files changed, 57 insertions(+), 4 deletions(-)
>
Reviewed-by: Hannes Reinecke <
gt;
> ---
> drivers/scsi/ufs/ufs.h| 1 +
> drivers/scsi/ufs/ufshcd.c | 60
> +++
> 2 files changed, 57 insertions(+), 4 deletions(-)
>
Reviewed-by: Hannes Reinecke
Cheers,
Hannes
--
Dr. Hannes Reinecke
get(struct ufs_hba
> *hba,
> return ufshcd_dme_get_attr(hba, attr_sel, mib_val, DME_PEER);
> }
>
> +int ufshcd_read_device_desc(struct ufs_hba *hba, u8 *buf, u32 size);
> +
> +#define ASCII_STD true
> +
> +int ufshcd_read_string_desc(struct ufs_hba *hba, int desc_index, u8 *buf,
> + u32 size, bool ascii);
> +
> /* Expose Query-Request API */
> int ufshcd_query_flag(struct ufs_hba *hba, enum query_opcode opcode,
> enum flag_idn idn, bool *flag_res);
>
Probably shows my ignorance, but _where_ is this function actually used?
Cheers,
Hannes
--
Dr. Hannes Reinecke zSeries & Storage
h...@suse.de +49 911 74053 688
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: J. Hawn, J. Guild, F. Imendörffer, HRB 16746 (AG Nürnberg)
PEER);
> }
>
> +int ufshcd_read_device_desc(struct ufs_hba *hba, u8 *buf, u32 size);
> +
> +#define ASCII_STD true
> +
> +int ufshcd_read_string_desc(struct ufs_hba *hba, int desc_index, u8 *buf,
> + u32 size, bool ascii);
> +
> /* Expose Query-Request API */
> int ufshcd_query_flag(struct ufs_hba *hba, enum query_opcode opcode,
> enum flag_idn idn, bool *flag_res);
>
Probably shows my ignorance, but _where_ is this function actually used?
Cheers,
Hannes
--
Dr. Hannes Reinecke zSeries & Storage
h...@suse.de +49 911 74053 688
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: J. Hawn, J. Guild, F. Imendörffer, HRB 16746 (AG Nürnberg)
shcd_wait_for_register(hba, REG_CONTROLLER_ENABLE,
> + CONTROLLER_ENABLE, CONTROLLER_DISABLE,
> + 10, 1, can_sleep);
> + if (err)
> + dev_err(hba->dev, "%s: Controller disable failed
CONTROLLER_ENABLE, CONTROLLER_DISABLE,
> + 10, 1, can_sleep);
> + if (err)
> + dev_err(hba->dev, "%s: Controller disable failed\n", __func__);
> +}
> +
Shouldn't you return an e
(Not that a timeout handler is a bad idea, in fact I'm convinced that
you need one. Just not for this purpose.)
So can you elaborate how this 'busy' status comes about?
Is the command sent to the device?
Cheers,
Hannes
--
Dr. Hannes Reinecke zSeries & Storage
h...@suse.de
(Not that a timeout handler is a bad idea, in fact I'm convinced that
you need one. Just not for this purpose.)
So can you elaborate how this 'busy' status comes about?
Is the command sent to the device?
Cheers,
Hannes
--
Dr. Hannes Reinecke zSeries & Storage
h...@suse.de
> 1 file changed, 15 insertions(+)
>
Reviewed-by: Hannes Reinecke <h...@suse.de>
Cheers,
Hannes
--
Dr. Hannes Reinecke zSeries & Storage
h...@suse.de +49 911 74053 688
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: J. Hawn, J. Guild, F. Imendörffer, HRB 16746 (AG Nürnberg)
ortant to clear these interrupt status/enable registers before
> enabling UFS interrupt handling.
>
> Signed-off-by: Subhash Jadavani
> Signed-off-by: Yaniv Gardi
>
> ---
> drivers/scsi/ufs/ufshcd.c | 15 +++
> 1 file changed, 15 insertions(+)
>
Reviewed-by
;
> Signed-off-by: Yaniv Gardi <yga...@codeaurora.org>
>
> ---
Reviewed-by: Hannes Reinecke <h...@suse.de>
Cheers,
Hannes
--
Dr. Hannes Reinecke zSeries & Storage
h...@suse.de +49 911 74053 688
SUSE LINUX Products GmbH, Maxfe
di
>
> ---
Reviewed-by: Hannes Reinecke
Cheers,
Hannes
--
Dr. Hannes Reinecke zSeries & Storage
h...@suse.de +49 911 74053 688
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: J. Hawn, J. Guild, F. Imendörffer, HRB 16746 (AG Nürnberg)
; #define HISI_SAS_MAX_PHYS9
> #define HISI_SAS_MAX_QUEUES 32
>
Reviewed-by: Hannes Reinecke <h...@suse.de>
Cheers,
Hannes
--
Dr. Hannes Reinecke zSeries & Storage
h...@suse.de +49 911 74053 688
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: J. Hawn, J. Guild, F. Imendörffer, HRB 16746 (AG Nürnberg)
c92e65b..29e89f3 100644
> --- a/drivers/scsi/hisi_sas/hisi_sas.h
> +++ b/drivers/scsi/hisi_sas/hisi_sas.h
> @@ -23,7 +23,7 @@
> #include
> #include
>
> -#define DRV_VERSION "v1.2"
> +#define DRV_VERSION "v1.3"
>
> #define HISI_SAS_MAX_PHYS9
&
an adequete level from original value.
>
> Signed-off-by: John Garry <john.ga...@huawei.com>
> ---
Reviewed-by: Hannes Reinecke <h...@suse.de>
Cheers,
Hannes
--
Dr. Hannes Reinecke zSeries & Storage
h...@suse.de +49 911 7405
an adequete level from original value.
>
> Signed-off-by: John Garry
> ---
Reviewed-by: Hannes Reinecke
Cheers,
Hannes
--
Dr. Hannes Reinecke zSeries & Storage
h...@suse.de +49 911 74053 688
SUSE LINUX Products GmbH, Maxfeldstr. 5, 904
d in the
> slot complete handler.
>
> Signed-off-by: John Garry <john.ga...@huawei.com>
> ---
Reviewed-by: Hannes Reinecke <h...@suse.de>
Cheers,
Hannes
--
Dr. Hannes Reinecke zSeries & Storage
h...@suse.de +49 911 74053 688
SUS
d in the
> slot complete handler.
>
> Signed-off-by: John Garry
> ---
Reviewed-by: Hannes Reinecke
Cheers,
Hannes
--
Dr. Hannes Reinecke zSeries & Storage
h...@suse.de +49 911 74053 688
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nü
ed-off-by: John Garry <john.ga...@huawei.com>
> ---
Reviewed-by: Hannes Reinecke <h...@suse.com>
Cheers,
Hannes
--
Dr. Hannes Reinecke zSeries & Storage
h...@suse.de +49 911 74053 688
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnbe
ed-off-by: John Garry
> ---
Reviewed-by: Hannes Reinecke
Cheers,
Hannes
--
Dr. Hannes Reinecke zSeries & Storage
h...@suse.de +49 911 74053 688
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: J. Hawn, J. Guild, F. Imendörffer, HRB 16746 (AG Nürnberg)
errupt).
> Flag hisi_sas_slot.abort is added as the flag used
> in the slot error handler to indicate whether the
> slot needs to be aborted in the sdev prior to
> cleanup and finish.
>
> Signed-off-by: John Garry <john.ga...@huawei.com>
> ---
Reviewed-by: Hannes Reinecke <h...@suse
errupt).
> Flag hisi_sas_slot.abort is added as the flag used
> in the slot error handler to indicate whether the
> slot needs to be aborted in the sdev prior to
> cleanup and finish.
>
> Signed-off-by: John Garry
> ---
Reviewed-by: Hannes Reinecke
Cheers,
Hannes
--
Dr. Hannes Reinecke
y it worked before.
>
> Signed-off-by: John Garry <john.ga...@huawei.com>
> ---
Reviewed-by: Hannes Reinecke <h...@suse.de>
Cheers,
Hannes
--
Dr. Hannes Reinecke zSeries & Storage
h...@suse.de +49 911 74053 688
SUSE LINUX Product
y it worked before.
>
> Signed-off-by: John Garry
> ---
Reviewed-by: Hannes Reinecke
Cheers,
Hannes
--
Dr. Hannes Reinecke zSeries & Storage
h...@suse.de +49 911 74053 688
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: J. Hawn
On 02/19/2016 11:46 AM, John Garry wrote:
> On 18/02/2016 10:57, John Garry wrote:
>> On 18/02/2016 10:30, Hannes Reinecke wrote:
>>> On 02/18/2016 11:12 AM, John Garry wrote:
>>>> On 18/02/2016 07:40, Hannes Reinecke wrote:
>>> [ .. ]
>>>>>
On 02/19/2016 11:46 AM, John Garry wrote:
> On 18/02/2016 10:57, John Garry wrote:
>> On 18/02/2016 10:30, Hannes Reinecke wrote:
>>> On 02/18/2016 11:12 AM, John Garry wrote:
>>>> On 18/02/2016 07:40, Hannes Reinecke wrote:
>>> [ .. ]
>>>>>
On 02/19/2016 03:07 PM, Jordan Hargrave wrote:
> On Fri, Feb 19, 2016 at 4:00 AM, Hannes Reinecke <h...@suse.de> wrote:
>>
>> On 02/18/2016 09:04 PM, Jordan Hargrave wrote:
>>> The VPD-R is a readonly area of the PCI Vital Product Data region.
>>> There are s
On 02/19/2016 03:07 PM, Jordan Hargrave wrote:
> On Fri, Feb 19, 2016 at 4:00 AM, Hannes Reinecke wrote:
>>
>> On 02/18/2016 09:04 PM, Jordan Hargrave wrote:
>>> The VPD-R is a readonly area of the PCI Vital Product Data region.
>>> There are some standard keyword
valided.
How do you propose to handle that?
Cheers,
Hannes
--
Dr. Hannes ReineckeTeamlead Storage & Networking
h...@suse.de +49 911 74053 688
SUSE LINUX GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: F. Imendörffer, J. Smithard, J. Guild, D. Upmanyu, G. Norton
HRB 21284 (AG Nürnberg)
Also, I'm not utterly keen on this patchset.
The sysfs space is blown up with tiny pieces of information, which
can easily gotten via lspci, too.
Also, to my knowledge it's perfectly valid to _write_ to the VPD, in
which case the entire sysfs attribute setup would be invalided.
How do you propose to
On 02/18/2016 11:12 AM, John Garry wrote:
> On 18/02/2016 07:40, Hannes Reinecke wrote:
[ .. ]
>> Well, the classical thing would be to associate each request tag
>> with a SAS task; or, in your case, associate each slot index with a
>> request tag.
>> You probably would
On 02/18/2016 11:12 AM, John Garry wrote:
> On 18/02/2016 07:40, Hannes Reinecke wrote:
[ .. ]
>> Well, the classical thing would be to associate each request tag
>> with a SAS task; or, in your case, associate each slot index with a
>> request tag.
>> You probably would
801 - 900 of 1903 matches
Mail list logo