Re: [PATCH] fix qla2xxx regression on sparc64

Himanshu Madhani
2020-08-21T15:17:38Z

Hi Rene,

> On Aug 21, 2020, at 9:47 AM, René Rebe <rene@exactcode.de> wrote:
>
> Hey,
>
>> On 21. Aug 2020, at 15:49, Himanshu Madhani <himanshu.madhani@oracle.com> wrote:
>>
>> Hi Rene,
>>
>>
>>> On Aug 21, 2020, at 7:28 AM, Rene Rebe <rene@exactcode.com> wrote:
>>>
>>>
>>> Commit 9a50aaefc1b896e734bf7faf3d085f71a360ce97 in 2014 broke
>>> qla2xxx on sparc64, e.g. as in the Sun Blade 1000 / 2000.
>>> Unbreak by fixing endianess in nvram firmware defaults
>>> initialization.
>>>
>>
>> I could not find this commit 9a50aaefc1b896e734bf7faf3d085f71a360ce97 in Linus or SCSI tree.
>
> Did I copy this wrong?
> https://urldefense.com/v3/__https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/drivers/scsi/qla2xxx?id=9a50aaefc1b896e734bf7faf3d085f71a360ce97__;!!GqivPVa7Brio!L6-irbVsNXqZh_TSb_WyaBZ1S3Evo18GqWr8hX2Z-tNl3rZbWv0orEt7Igy_n_89mkIf$
>

Yes. The actual commit that change those lines is following

https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=98aee70d19a7e3203649fa2078464e4f402a0ad8

So your fixes tag should be

Fixes: 98aee70d19a7e ("qla2xxx: Add endianizer to max_payload_size modifier.”)

And looking at the changes, I see that the frame_payload_size was changed to __le16 so this should not cause regression in your env.

Interestingly this patch had fixed the regression and was originally tested on SunBlade-1000

https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=4e08df3f91837656c36712f559d5ce8d80852760

Can you try reverting 98aee70d19a7e and retest to confirm that this patch indeed introduced regression for you.

>> Can you please provide details of the commit which introduced this regression.
>
> See above, there was plenty of more reworks and code shuffling, and the quoted commit is also a condensed changes of other /14 series and other scsi work, …
>
> Have a nice weekend,
> René
>
>> Also when you
>> resubmit this patch please use Fixes tag. See documentation here for the correct format.
>>
>> https://urldefense.com/v3/__https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/process/submitting-patches.rst__;!!GqivPVa7Brio!L6-irbVsNXqZh_TSb_WyaBZ1S3Evo18GqWr8hX2Z-tNl3rZbWv0orEt7Igy_n620C3iF$
>>
>>> Signed-off-by: René Rebe <rene@exactcode.de>
>>>
>>> --- linux-5.8/drivers/scsi/qla2xxx/qla_init.c.vanilla 2020-08-21 09:55:18.600926737 +0200
>>> +++ linux-5.8/drivers/scsi/qla2xxx/qla_init.c 2020-08-21 09:57:35.992926885 +0200
>>> @@ -4603,18 +4603,18 @@
>>> nv->firmware_options[1] = BIT_7 | BIT_5;
>>> nv->add_firmware_options[0] = BIT_5;
>>> nv->add_firmware_options[1] = BIT_5 | BIT_4;
>>> - nv->frame_payload_size = 2048;
>>> + nv->frame_payload_size = cpu_to_le16(2048);
>>> nv->special_options[1] = BIT_7;
>>> } else if (IS_QLA2200(ha)) {
>>> nv->firmware_options[0] = BIT_2 | BIT_1;
>>> nv->firmware_options[1] = BIT_7 | BIT_5;
>>> nv->add_firmware_options[0] = BIT_5;
>>> nv->add_firmware_options[1] = BIT_5 | BIT_4;
>>> - nv->frame_payload_size = 1024;
>>> + nv->frame_payload_size = cpu_to_le16(1024);
>>> } else if (IS_QLA2100(ha)) {
>>> nv->firmware_options[0] = BIT_3 | BIT_1;
>>> nv->firmware_options[1] = BIT_5;
>>> - nv->frame_payload_size = 1024;
>>> + nv->frame_payload_size = cpu_to_le16(1024);
>>> }
>>>
>>> nv->max_iocb_allocation = cpu_to_le16(256);
>>>
>>> --
>>> René Rebe, ExactCODE GmbH, Lietzenburger Str. 42, DE-10789 Berlin
>>> https://urldefense.com/v3/__https://exactcode.com__;!!GqivPVa7Brio!KU2euUgVJIRXqzU0RdhkxvMdgtotnSUfdk9KmK73n26lyGlTMhmSvyadcgXXxI-1EV4u$ | https://urldefense.com/v3/__https://t2sde.org__;!!GqivPVa7Brio!KU2euUgVJIRXqzU0RdhkxvMdgtotnSUfdk9KmK73n26lyGlTMhmSvyadcgXXxAAjd8CY$ | https://urldefense.com/v3/__https://rene.rebe.de__;!!GqivPVa7Brio!KU2euUgVJIRXqzU0RdhkxvMdgtotnSUfdk9KmK73n26lyGlTMhmSvyadcgXXxDUjMdad$
>>
>> --
>> Himanshu Madhani Oracle Linux Engineering
>>
>
> --
> ExactCODE GmbH, Lietzenburger Str. 42, DE-10789 Berlin, https://urldefense.com/v3/__https://exactcode.com__;!!GqivPVa7Brio!L6-irbVsNXqZh_TSb_WyaBZ1S3Evo18GqWr8hX2Z-tNl3rZbWv0orEt7Igy_n-uIVWXr$
> https://urldefense.com/v3/__https://exactscan.com__;!!GqivPVa7Brio!L6-irbVsNXqZh_TSb_WyaBZ1S3Evo18GqWr8hX2Z-tNl3rZbWv0orEt7Igy_n2dniKkK$ | https://urldefense.com/v3/__https://ocrkit.com__;!!GqivPVa7Brio!L6-irbVsNXqZh_TSb_WyaBZ1S3Evo18GqWr8hX2Z-tNl3rZbWv0orEt7Igy_n-v2wVJD$ | https://urldefense.com/v3/__https://t2sde.org__;!!GqivPVa7Brio!L6-irbVsNXqZh_TSb_WyaBZ1S3Evo18GqWr8hX2Z-tNl3rZbWv0orEt7Igy_n9g--eFu$ | https://urldefense.com/v3/__https://rene.rebe.de__;!!GqivPVa7Brio!L6-irbVsNXqZh_TSb_WyaBZ1S3Evo18GqWr8hX2Z-tNl3rZbWv0orEt7Igy_nxllUxx0$

--
Himanshu Madhani Oracle Linux Engineering