[PATCH 00/12] can: kvaser_usb: Various fixes

Anssi Hannula posted 12 patches 3 years, 11 months ago
[PATCH 00/12] can: kvaser_usb: Various fixes
Posted by Anssi Hannula 3 years, 11 months ago
Hi all,

Here's a set of fixes for issues I found while testing kvaser_usb as we
are preparing to start using it in production (with 0bfd:0124).

The biggest caveat is that I only have two devices to test with [1] and I
don't have HW documentation, so there is a possibility that some of the
fixes might not work properly on all HW variants.
Hopefully Jimmy can confirm they look OK, or suggest alternatives.

[1] Tested devices:
- 0bfd:0017 Kvaser Memorator Professional HS/HS FW 2.0.50
- 0bfd:0124 Kvaser Mini PCI Express 2xHS FW 4.18.778

-- 
Anssi Hannula / Bitwise Oy
+358503803997
Re: [PATCH 00/12] can: kvaser_usb: Various fixes
Posted by Jimmy Assarsson 3 years, 11 months ago
On 2022-05-16 15:47, Anssi Hannula wrote:
> 
> Hi all,
> 
> Here's a set of fixes for issues I found while testing kvaser_usb as we
> are preparing to start using it in production (with 0bfd:0124).

Hi Anssi,

Thanks for the patches!
I will review and test your fixes before the weekend.

Best regards,
jimmy


> The biggest caveat is that I only have two devices to test with [1] and I
> don't have HW documentation, so there is a possibility that some of the
> fixes might not work properly on all HW variants.
> Hopefully Jimmy can confirm they look OK, or suggest alternatives.
> 
> [1] Tested devices:
> - 0bfd:0017 Kvaser Memorator Professional HS/HS FW 2.0.50
> - 0bfd:0124 Kvaser Mini PCI Express 2xHS FW 4.18.778
Re: [PATCH 00/12] can: kvaser_usb: Various fixes
Posted by Jimmy Assarsson 3 years, 11 months ago
On 5/17/22 10:41, Jimmy Assarsson wrote:
> On 2022-05-16 15:47, Anssi Hannula wrote:
>>
>> Hi all,
>>
>> Here's a set of fixes for issues I found while testing kvaser_usb as we
>> are preparing to start using it in production (with 0bfd:0124).
> 
> Hi Anssi,
> 
> Thanks for the patches!
> I will review and test your fixes before the weekend.
> 
> Best regards,
> jimmy

Sorry for the delay!

To summarize the status.

These patches look good:
[PATCH 01/12] can: kvaser_usb_leaf: Fix overread with an invalid command
[PATCH 02/12] can: kvaser_usb: Fix use of uninitialized completion
[PATCH 03/12] can: kvaser_usb: Fix possible completions during 
init_completion
[PATCH 05/12] can: kvaser_usb_leaf: Set Warning state even without bus 
errors
[PATCH 10/12] can: kvaser_usb_leaf: Fix wrong CAN state after stopping
[PATCH 12/12] can: kvaser_usb_leaf: Fix bogus restart events

This looks good, but see comment regarding explicit queue flush:
[PATCH 06/12] can: kvaser_usb_leaf: Fix TX queue out of sync after restart

I still need some more time looking into:
PATCH 07/12] can: kvaser_usb_leaf: Fix CAN state after restart
PATCH 08/12] can: kvaser_usb_leaf: Fix improved state not being reported
PATCH 11/12] can: kvaser_usb_leaf: Ignore stale bus-off after start

I want to replace
[PATCH 04/12] can: kvaser_usb: Mark Mini PCIe 2xHS as supporting error 
counters
with a new patch
"can: kvaser_usb: kvaser_usb_leaf: Get capabilities from device"

I want to split the handling of CMD_ERROR_EVENT and the readback
functionality. I also want to add parameter readback for
kvaser_usb_hydra. I need more time to look over the can_bittiming_const
in kvaser_usb_leaf for the different supported firmware.
[PATCH 09/12] can: kvaser_usb_leaf: Fix silently failing bus params setup


I would like to create a V2 series, including my patches, if you are
okay with it?


Best regards,
jimmy



>> The biggest caveat is that I only have two devices to test with [1] and I
>> don't have HW documentation, so there is a possibility that some of the
>> fixes might not work properly on all HW variants.
>> Hopefully Jimmy can confirm they look OK, or suggest alternatives.
>>
>> [1] Tested devices:
>> - 0bfd:0017 Kvaser Memorator Professional HS/HS FW 2.0.50
>> - 0bfd:0124 Kvaser Mini PCI Express 2xHS FW 4.18.778
Re: [PATCH 00/12] can: kvaser_usb: Various fixes
Posted by Anssi Hannula 3 years, 11 months ago
On 28.5.2022 10.42, Jimmy Assarsson wrote:
> On 5/17/22 10:41, Jimmy Assarsson wrote:
>> On 2022-05-16 15:47, Anssi Hannula wrote:
>>> Hi all,
>>>
>>> Here's a set of fixes for issues I found while testing kvaser_usb as we
>>> are preparing to start using it in production (with 0bfd:0124).
>> Hi Anssi,
>>
>> Thanks for the patches!
>> I will review and test your fixes before the weekend.
>>
>> Best regards,
>> jimmy
> Sorry for the delay!

No problem!

> To summarize the status.
>
> These patches look good:
> [PATCH 01/12] can: kvaser_usb_leaf: Fix overread with an invalid command
> [PATCH 02/12] can: kvaser_usb: Fix use of uninitialized completion
> [PATCH 03/12] can: kvaser_usb: Fix possible completions during 
> init_completion
> [PATCH 05/12] can: kvaser_usb_leaf: Set Warning state even without bus 
> errors
> [PATCH 10/12] can: kvaser_usb_leaf: Fix wrong CAN state after stopping
> [PATCH 12/12] can: kvaser_usb_leaf: Fix bogus restart events
>
> This looks good, but see comment regarding explicit queue flush:
> [PATCH 06/12] can: kvaser_usb_leaf: Fix TX queue out of sync after restart

Feel free to drop the flush, or let me know if you want me to resend it
without it.

> I still need some more time looking into:
> PATCH 07/12] can: kvaser_usb_leaf: Fix CAN state after restart
> PATCH 08/12] can: kvaser_usb_leaf: Fix improved state not being reported
> PATCH 11/12] can: kvaser_usb_leaf: Ignore stale bus-off after start
>
> I want to replace
> [PATCH 04/12] can: kvaser_usb: Mark Mini PCIe 2xHS as supporting error 
> counters
> with a new patch
> "can: kvaser_usb: kvaser_usb_leaf: Get capabilities from device"
>
> I want to split the handling of CMD_ERROR_EVENT and the readback
> functionality. I also want to add parameter readback for
> kvaser_usb_hydra. I need more time to look over the can_bittiming_const
> in kvaser_usb_leaf for the different supported firmware.
> [PATCH 09/12] can: kvaser_usb_leaf: Fix silently failing bus params setup
>
>
> I would like to create a V2 series, including my patches, if you are
> okay with it?


Yes, that's fine. I can test your series on my setup as well.

>
> Best regards,
> jimmy
>
>
>
>>> The biggest caveat is that I only have two devices to test with [1] and I
>>> don't have HW documentation, so there is a possibility that some of the
>>> fixes might not work properly on all HW variants.
>>> Hopefully Jimmy can confirm they look OK, or suggest alternatives.
>>>
>>> [1] Tested devices:
>>> - 0bfd:0017 Kvaser Memorator Professional HS/HS FW 2.0.50
>>> - 0bfd:0124 Kvaser Mini PCI Express 2xHS FW 4.18.778


-- 
Anssi Hannula / Bitwise Oy
+358 503803997
Re: [PATCH 00/12] can: kvaser_usb: Various fixes
Posted by Jimmy Assarsson 3 years, 11 months ago
On 5/30/22 12:56, Anssi Hannula wrote:
> On 28.5.2022 10.42, Jimmy Assarsson wrote:
>> On 5/17/22 10:41, Jimmy Assarsson wrote:
>>> On 2022-05-16 15:47, Anssi Hannula wrote:
>>>> Hi all,
>>>>
>>>> Here's a set of fixes for issues I found while testing kvaser_usb as we
>>>> are preparing to start using it in production (with 0bfd:0124).
>>> Hi Anssi,
>>>
>>> Thanks for the patches!
>>> I will review and test your fixes before the weekend.
>>>
>>> Best regards,
>>> jimmy
>> Sorry for the delay!
> 
> No problem!
> 
>> To summarize the status.
>>
>> These patches look good:
>> [PATCH 01/12] can: kvaser_usb_leaf: Fix overread with an invalid command
>> [PATCH 02/12] can: kvaser_usb: Fix use of uninitialized completion
>> [PATCH 03/12] can: kvaser_usb: Fix possible completions during
>> init_completion
>> [PATCH 05/12] can: kvaser_usb_leaf: Set Warning state even without bus
>> errors
>> [PATCH 10/12] can: kvaser_usb_leaf: Fix wrong CAN state after stopping
>> [PATCH 12/12] can: kvaser_usb_leaf: Fix bogus restart events
>>
>> This looks good, but see comment regarding explicit queue flush:
>> [PATCH 06/12] can: kvaser_usb_leaf: Fix TX queue out of sync after restart
> 
> Feel free to drop the flush, or let me know if you want me to resend it
> without it.
> 
>> I still need some more time looking into:
>> PATCH 07/12] can: kvaser_usb_leaf: Fix CAN state after restart
>> PATCH 08/12] can: kvaser_usb_leaf: Fix improved state not being reported
>> PATCH 11/12] can: kvaser_usb_leaf: Ignore stale bus-off after start
>>
>> I want to replace
>> [PATCH 04/12] can: kvaser_usb: Mark Mini PCIe 2xHS as supporting error
>> counters
>> with a new patch
>> "can: kvaser_usb: kvaser_usb_leaf: Get capabilities from device"
>>
>> I want to split the handling of CMD_ERROR_EVENT and the readback
>> functionality. I also want to add parameter readback for
>> kvaser_usb_hydra. I need more time to look over the can_bittiming_const
>> in kvaser_usb_leaf for the different supported firmware.
>> [PATCH 09/12] can: kvaser_usb_leaf: Fix silently failing bus params setup
>>
>>
>> I would like to create a V2 series, including my patches, if you are
>> okay with it?
> 
> 
> Yes, that's fine. I can test your series on my setup as well.

I'll rebase and send V2 of this series, once "can: kvaser_usb: CAN clock 
frequency regression" [2], is sorted out.
That would be great :)


[2] 
https://lore.kernel.org/linux-can/20220603083820.800246-1-extja@kvaser.com

Best regards,
jimmy