* can: m_can: tcan4x5x m_can_isr do not handle tx if rx fails @ 2022-02-22 11:14 Michael Anochin 2022-02-22 13:20 ` Marc Kleine-Budde 0 siblings, 1 reply; 19+ messages in thread From: Michael Anochin @ 2022-02-22 11:14 UTC (permalink / raw) To: linux-can In the context of the ENOBUFS problem by using can interfaces under higher load: In m_can_isr handler, if rx fails (m_can_rx_peripheral), then no netif_wake_queue(dev) will be called. Can this lead to ENOBUFS? ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: can: m_can: tcan4x5x m_can_isr do not handle tx if rx fails 2022-02-22 11:14 can: m_can: tcan4x5x m_can_isr do not handle tx if rx fails Michael Anochin @ 2022-02-22 13:20 ` Marc Kleine-Budde [not found] ` <c2651e9c-d3e7-815a-6e18-8ddffc04d3d7@photo-meter.com> 0 siblings, 1 reply; 19+ messages in thread From: Marc Kleine-Budde @ 2022-02-22 13:20 UTC (permalink / raw) To: Michael Anochin; +Cc: linux-can [-- Attachment #1: Type: text/plain, Size: 582 bytes --] On 22.02.2022 12:14:23, Michael Anochin wrote: > In the context of the ENOBUFS problem by using can interfaces under higher > load: > > In m_can_isr handler, if rx fails (m_can_rx_peripheral), then no > netif_wake_queue(dev) will be called. Can this lead to ENOBUFS? Yes - Can you send a fix? Marc -- Pengutronix e.K. | Marc Kleine-Budde | Embedded Linux | https://www.pengutronix.de | Vertretung West/Dortmund | Phone: +49-231-2826-924 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 | [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 488 bytes --] ^ permalink raw reply [flat|nested] 19+ messages in thread
[parent not found: <c2651e9c-d3e7-815a-6e18-8ddffc04d3d7@photo-meter.com>]
* Re: can: m_can: tcan4x5x m_can_isr do not handle tx if rx fails [not found] ` <c2651e9c-d3e7-815a-6e18-8ddffc04d3d7@photo-meter.com> @ 2022-02-22 13:44 ` Marc Kleine-Budde [not found] ` <e3504807-06fc-b6d9-3fb1-bf8d94e2b444@photo-meter.com> 0 siblings, 1 reply; 19+ messages in thread From: Marc Kleine-Budde @ 2022-02-22 13:44 UTC (permalink / raw) To: Michael Anochin; +Cc: linux-can [-- Attachment #1: Type: text/plain, Size: 823 bytes --] Please keep the Mailing List on Cc. On 22.02.2022 14:26:22, Michael Anochin wrote: > I try it. But I sink in rx-offload.c with __skb_queue_add_sort and > napi scheduler. That blocks work_queue for tx, but I don't understand > how. Need help. Your idea that m_can_rx_peripheral() in m_can_isr() may fail is valid. You can add a netdev_error() to report the error if m_can_rx_peripheral() fails. Then investigate further. > May be I should increase the quota for napi polling? Try to increase and check if that helps. regards, Marc -- Pengutronix e.K. | Marc Kleine-Budde | Embedded Linux | https://www.pengutronix.de | Vertretung West/Dortmund | Phone: +49-231-2826-924 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 | [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 488 bytes --] ^ permalink raw reply [flat|nested] 19+ messages in thread
[parent not found: <e3504807-06fc-b6d9-3fb1-bf8d94e2b444@photo-meter.com>]
* Re: can: m_can: tcan4x5x m_can_isr do not handle tx if rx fails [not found] ` <e3504807-06fc-b6d9-3fb1-bf8d94e2b444@photo-meter.com> @ 2022-02-22 14:45 ` Marc Kleine-Budde 2022-02-22 14:54 ` Michael Anochin 2022-02-22 15:11 ` Michael Anochin 0 siblings, 2 replies; 19+ messages in thread From: Marc Kleine-Budde @ 2022-02-22 14:45 UTC (permalink / raw) To: Michael Anochin; +Cc: linux-can [-- Attachment #1: Type: text/plain, Size: 1105 bytes --] Please don't forget to keep the mailing list on Cc! On 22.02.2022 15:30:33, Michael Anochin wrote: > > > You can add a netdev_error() to report the error if > Done, m_can_rx_peripheral(dev) returns each time normally with 0. > I added netdev_err also after out_fail in m_can_isr, but it fires no error > in dmesg after NOBUFS. > > The curious thing is that it fails in the other place. > > Sometimes I see > [ 9945.908861] tcan4x5x spi4.0 can1: can_put_echo_skb: BUG! echo_skb 11 is > occupied! > > But I think, it is not my problem. This should not happen. Especially with the tcan driver. In a previous mail you stated that you are using the following mram config: | bosch,mram-cfg = <0x0 0 0 16 0 0 1 1>; is this still the case? This is inconsistent with the above error message. regards, Marc -- Pengutronix e.K. | Marc Kleine-Budde | Embedded Linux | https://www.pengutronix.de | Vertretung West/Dortmund | Phone: +49-231-2826-924 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 | [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 488 bytes --] ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: can: m_can: tcan4x5x m_can_isr do not handle tx if rx fails 2022-02-22 14:45 ` Marc Kleine-Budde @ 2022-02-22 14:54 ` Michael Anochin 2022-02-22 15:06 ` Marc Kleine-Budde 2022-02-22 15:11 ` Michael Anochin 1 sibling, 1 reply; 19+ messages in thread From: Michael Anochin @ 2022-02-22 14:54 UTC (permalink / raw) To: Marc Kleine-Budde; +Cc: linux-can > > This should not happen. Especially with the tcan driver. In a previous > mail you stated that you are using the following mram config: > > | bosch,mram-cfg = <0x0 0 0 16 0 0 1 1>; > > is this still the case? This is inconsistent with the above error > message. > I have tried many bosch,mram-cfg. This makes almost no difference bosch,mram-cfg = <0x0 0 0 16 0 0 1 1> is from Mainstream bosch,mram-cfg = <0x0 0 0 10 0 0 16 16> is from Mainstream bosch,mram-cfg = <0x0 0 0 16 0 0 8 8> is from Mainstream I recognized, that no RXFIFO_1 is used, only RXFIFO_0. On TXFIFO/TXEFIFO may be only one element is used by driver. I am not sure. ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: can: m_can: tcan4x5x m_can_isr do not handle tx if rx fails 2022-02-22 14:54 ` Michael Anochin @ 2022-02-22 15:06 ` Marc Kleine-Budde 2022-02-22 15:40 ` Michael Anochin 0 siblings, 1 reply; 19+ messages in thread From: Marc Kleine-Budde @ 2022-02-22 15:06 UTC (permalink / raw) To: Michael Anochin; +Cc: linux-can [-- Attachment #1: Type: text/plain, Size: 1332 bytes --] On 22.02.2022 15:54:32, Michael Anochin wrote: > > > > This should not happen. Especially with the tcan driver. In a previous > > mail you stated that you are using the following mram config: > > > > | bosch,mram-cfg = <0x0 0 0 16 0 0 1 1>; > > > > is this still the case? This is inconsistent with the above error > > message. My question is, which mram-cfg were you using when the above error message hit. > I have tried many bosch,mram-cfg. This makes almost no difference > > bosch,mram-cfg = <0x0 0 0 16 0 0 1 1> is from Mainstream > bosch,mram-cfg = <0x0 0 0 10 0 0 16 16> is from Mainstream > bosch,mram-cfg = <0x0 0 0 16 0 0 8 8> is from Mainstream What is Mainstream? > I recognized, that no RXFIFO_1 is used, only RXFIFO_0. On TXFIFO/TXEFIFO > may be only one element is used by driver. I am not sure. ACK, as documented in the DT bindings: | bosch,mram-cfg = <0x0 0 0 16 0 0 1 1>; https://elixir.bootlin.com/linux/latest/source/Documentation/devicetree/bindings/net/can/tcan4x5x.txt#L34 regards, Marc -- Pengutronix e.K. | Marc Kleine-Budde | Embedded Linux | https://www.pengutronix.de | Vertretung West/Dortmund | Phone: +49-231-2826-924 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 | [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 488 bytes --] ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: can: m_can: tcan4x5x m_can_isr do not handle tx if rx fails 2022-02-22 15:06 ` Marc Kleine-Budde @ 2022-02-22 15:40 ` Michael Anochin 2022-02-22 15:43 ` Marc Kleine-Budde 0 siblings, 1 reply; 19+ messages in thread From: Michael Anochin @ 2022-02-22 15:40 UTC (permalink / raw) To: Marc Kleine-Budde; +Cc: linux-can The "BUG! echo_skb " Message was with mram-cfg=<0x0 0 0 10 0 0 16 16>. Sorry for copypaste error. I changed now to <0x0 0 0 16 0 0 1 1>. Thank you for information. ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: can: m_can: tcan4x5x m_can_isr do not handle tx if rx fails 2022-02-22 15:40 ` Michael Anochin @ 2022-02-22 15:43 ` Marc Kleine-Budde 2022-02-22 15:48 ` Michael Anochin 0 siblings, 1 reply; 19+ messages in thread From: Marc Kleine-Budde @ 2022-02-22 15:43 UTC (permalink / raw) To: Michael Anochin; +Cc: linux-can [-- Attachment #1: Type: text/plain, Size: 539 bytes --] On 22.02.2022 16:40:55, Michael Anochin wrote: > The "BUG! echo_skb " Message was with mram-cfg=<0x0 0 0 10 0 0 16 16>. > Sorry for copypaste error. > > I changed now to <0x0 0 0 16 0 0 1 1>. Thank you for information. Keep us informed if that helps. Marc -- Pengutronix e.K. | Marc Kleine-Budde | Embedded Linux | https://www.pengutronix.de | Vertretung West/Dortmund | Phone: +49-231-2826-924 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 | [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 484 bytes --] ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: can: m_can: tcan4x5x m_can_isr do not handle tx if rx fails 2022-02-22 15:43 ` Marc Kleine-Budde @ 2022-02-22 15:48 ` Michael Anochin 2022-02-22 15:51 ` Marc Kleine-Budde 0 siblings, 1 reply; 19+ messages in thread From: Michael Anochin @ 2022-02-22 15:48 UTC (permalink / raw) To: Marc Kleine-Budde; +Cc: linux-can > Keep us informed if that helps. No, this does not help. It was my start-point with <0x0 0 0 16 0 0 1 1> I continue to dive in with debug-printing. ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: can: m_can: tcan4x5x m_can_isr do not handle tx if rx fails 2022-02-22 15:48 ` Michael Anochin @ 2022-02-22 15:51 ` Marc Kleine-Budde 2022-02-22 16:02 ` Michael Anochin 2022-02-22 16:20 ` Michael Anochin 0 siblings, 2 replies; 19+ messages in thread From: Marc Kleine-Budde @ 2022-02-22 15:51 UTC (permalink / raw) To: Michael Anochin; +Cc: linux-can [-- Attachment #1: Type: text/plain, Size: 514 bytes --] On 22.02.2022 16:48:35, Michael Anochin wrote: > > Keep us informed if that helps. > No, this does not help. It was my start-point with <0x0 0 0 16 0 0 1 1> > I continue to dive in with debug-printing. Still any error messages? Marc -- Pengutronix e.K. | Marc Kleine-Budde | Embedded Linux | https://www.pengutronix.de | Vertretung West/Dortmund | Phone: +49-231-2826-924 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 | [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 488 bytes --] ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: can: m_can: tcan4x5x m_can_isr do not handle tx if rx fails 2022-02-22 15:51 ` Marc Kleine-Budde @ 2022-02-22 16:02 ` Michael Anochin 2022-02-22 16:09 ` Marc Kleine-Budde 2022-02-22 16:20 ` Michael Anochin 1 sibling, 1 reply; 19+ messages in thread From: Michael Anochin @ 2022-02-22 16:02 UTC (permalink / raw) To: Marc Kleine-Budde; +Cc: linux-can > Still any error messages? No BUG-Message with <0x0 0 0 16 0 0 1 1>. At least that is positive. But no other Messages in in kbuf. Simply no netif_wake_queue fires. After that no TX possible. But RX is working. See a log https://pastebin.com/ZJKqTVvs ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: can: m_can: tcan4x5x m_can_isr do not handle tx if rx fails 2022-02-22 16:02 ` Michael Anochin @ 2022-02-22 16:09 ` Marc Kleine-Budde 2022-02-22 16:41 ` Michael Anochin 2022-02-22 16:58 ` Michael Anochin 0 siblings, 2 replies; 19+ messages in thread From: Marc Kleine-Budde @ 2022-02-22 16:09 UTC (permalink / raw) To: Michael Anochin; +Cc: linux-can [-- Attachment #1: Type: text/plain, Size: 1223 bytes --] On 22.02.2022 17:02:14, Michael Anochin wrote: > > Still any error messages? > No BUG-Message with <0x0 0 0 16 0 0 1 1>. At least that is positive. > > But no other Messages in in kbuf. Simply no netif_wake_queue fires. After > that no TX possible. But RX is working. This is good. \o/ | [ 763.651277] tcan4x5x spi6.0 can2: m_can_isr: netif_wake_queue done | [ 763.651295] tcan4x5x spi6.0 can2: m_can_start_xmit netif_stop_queue done | [ 763.651462] tcan4x5x spi6.0 can2: m_can_tx_handler m_can_tx_fifo_full | [ 763.652163] tcan4x5x spi6.0 can2: m_can_isr: netif_wake_queue done | [ 763.652182] tcan4x5x spi6.0 can2: m_can_start_xmit netif_stop_queue done | [ 763.652352] tcan4x5x spi6.0 can2: m_can_tx_handler m_can_tx_fifo_full You're missing a "netif_wake_queue done" here. There's probably an interrupt associated with this event. Add a print if that IRQ is active right after reading the IRQ status register. Marc -- Pengutronix e.K. | Marc Kleine-Budde | Embedded Linux | https://www.pengutronix.de | Vertretung West/Dortmund | Phone: +49-231-2826-924 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 | [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 488 bytes --] ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: can: m_can: tcan4x5x m_can_isr do not handle tx if rx fails 2022-02-22 16:09 ` Marc Kleine-Budde @ 2022-02-22 16:41 ` Michael Anochin 2022-02-22 20:10 ` Marc Kleine-Budde 2022-02-22 16:58 ` Michael Anochin 1 sibling, 1 reply; 19+ messages in thread From: Michael Anochin @ 2022-02-22 16:41 UTC (permalink / raw) To: Marc Kleine-Budde; +Cc: linux-can > You're missing a "netif_wake_queue done" here. There's probably an > interrupt associated with this event. Add a print if that IRQ is active > right after reading the IRQ status register Done, only on enter in m_can_isr "m_can_isr: ir=", not exit. If there are a RX traffic on but, the latchup happens very quickly. Last dmesg lines from https://pastebin.com/yBv9xcWg: [ 396.390714] tcan4x5x spi6.0 can2: m_can_tx_handler m_can_tx_fifo_full [ 396.390955] tcan4x5x spi6.0 can2: m_can_isr: ir=0x5800 [ 396.391091] tcan4x5x spi6.0 can2: m_can_isr: netif_wake_queue done [ 396.391109] tcan4x5x spi6.0 can2: m_can_start_xmit netif_stop_queue done [ 396.391282] tcan4x5x spi6.0 can2: m_can_tx_handler m_can_tx_fifo_full [ 396.391534] tcan4x5x spi6.0 can2: m_can_isr: ir=0x5800 [ 396.391670] tcan4x5x spi6.0 can2: m_can_isr: netif_wake_queue done [ 396.391689] tcan4x5x spi6.0 can2: m_can_start_xmit netif_stop_queue done [ 396.391865] tcan4x5x spi6.0 can2: m_can_tx_handler m_can_tx_fifo_full [ 396.392134] tcan4x5x spi6.0 can2: m_can_isr: ir=0x1 [ 396.392537] tcan4x5x spi6.0 can2: m_can_isr: ir=0x5800 [ 396.392673] tcan4x5x spi6.0 can2: m_can_isr: netif_wake_queue done [ 396.392692] tcan4x5x spi6.0 can2: m_can_start_xmit netif_stop_queue done [ 396.392862] tcan4x5x spi6.0 can2: m_can_tx_handler m_can_tx_fifo_full ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: can: m_can: tcan4x5x m_can_isr do not handle tx if rx fails 2022-02-22 16:41 ` Michael Anochin @ 2022-02-22 20:10 ` Marc Kleine-Budde 2022-02-23 8:55 ` Michael Anochin 0 siblings, 1 reply; 19+ messages in thread From: Marc Kleine-Budde @ 2022-02-22 20:10 UTC (permalink / raw) To: Michael Anochin; +Cc: linux-can [-- Attachment #1: Type: text/plain, Size: 944 bytes --] On 22.02.2022 17:41:54, Michael Anochin wrote: > > > You're missing a "netif_wake_queue done" here. There's probably an > > interrupt associated with this event. Add a print if that IRQ is active > > right after reading the IRQ status register > > Done, only on enter in m_can_isr "m_can_isr: ir=", not exit. > > If there are a RX traffic on but, the latchup happens very quickly. I just looked again at your overlay. Please change the IRQ type to IRQ_TYPE_LEVEL_LOW. With edge falling you'll miss interrupts sooner or later. regards, Marc BTW: it's documented as level low in the bindings documentation: | interrupts = <14 IRQ_TYPE_LEVEL_LOW>; -- Pengutronix e.K. | Marc Kleine-Budde | Embedded Linux | https://www.pengutronix.de | Vertretung West/Dortmund | Phone: +49-231-2826-924 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 | [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 488 bytes --] ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: can: m_can: tcan4x5x m_can_isr do not handle tx if rx fails 2022-02-22 20:10 ` Marc Kleine-Budde @ 2022-02-23 8:55 ` Michael Anochin 0 siblings, 0 replies; 19+ messages in thread From: Michael Anochin @ 2022-02-23 8:55 UTC (permalink / raw) To: Marc Kleine-Budde; +Cc: linux-can > > BTW: it's documented as level low in the bindings documentation: > > | interrupts = <14 IRQ_TYPE_LEVEL_LOW>; > Thank you very much. That was my false hope, I change the dt_binding for IRQ_TYPE_LEVEL_LOW=8 interrupts = <25 8>; interrupts = <27 8>; interrupts = <16 8>; But without success, failure still occurs, maybe not so fast as with IRQ_TYPE_EDGE_FALLING (subjective). Interestingly, the first run after reboot may last longer than subsequent ones until it breaks. If it breaks, the interface is at random can0 or 1 or 2. Here is an example, can1 brakes. No more ISR fires after [ 1682.748485]. I added netdev_dbg before return, and netdev_ERR for out_fail. [ 1682.747310] tcan4x5x spi4.0 can1: m_can_isr: enter ir=0x5800 [ 1682.747468] tcan4x5x spi4.0 can1: m_can_isr: netif_wake_queue done [ 1682.747475] tcan4x5x spi4.0 can1: m_can_isr: return IRQ_HANDLED [ 1682.747494] tcan4x5x spi4.0 can1: m_can_start_xmit netif_stop_queue done //Last TX ISR (IR_TEFN was true) [ 1682.747912] tcan4x5x spi4.0 can1: m_can_isr: enter ir=0x5800 //fifo not full and queue is stoppet -> wake queue [ 1682.748053] tcan4x5x spi4.0 can1: m_can_isr: netif_wake_queue done [ 1682.748061] tcan4x5x spi4.0 can1: m_can_isr: return IRQ_HANDLED //Last RX-ISR [ 1682.748199] tcan4x5x spi4.0 can1: m_can_isr: enter ir=0x1 done [ 1682.748433] tcan4x5x spi4.0 can1: m_can_isr: return IRQ_HANDLED //In m_can_tx_handler after fifo write an end, m_can_tx_fifo_full -> netif_stop_queue(dev); [ 1682.748485] tcan4x5x spi4.0 can1: m_can_tx_handler m_can_tx_fifo_full After that I expect m_can_isr with IR_TEFN flag in order to wake queue, but nothing follows. Write to socket returns permanently 105,ENOBUFS Full dmesg output: https://pastebin.com/G0xikf3P Maybe I should add some printk to skb.c and deb.c? ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: can: m_can: tcan4x5x m_can_isr do not handle tx if rx fails 2022-02-22 16:09 ` Marc Kleine-Budde 2022-02-22 16:41 ` Michael Anochin @ 2022-02-22 16:58 ` Michael Anochin 1 sibling, 0 replies; 19+ messages in thread From: Michael Anochin @ 2022-02-22 16:58 UTC (permalink / raw) To: Marc Kleine-Budde; +Cc: linux-can It fires almost always 0x5800 for tx and 0x01 for rx ir=0x01 means RF0N set (Rx FIFO 0 New Message) ir=0x5800 means TEFF|TEFN|TFE (Tx Event FIFO Full, Tx Event FIFO New Entry, Tx FIFO Empty) It seems, that m_can_isr is called to late. I catch Fifo full and empty flags together. According to tcan4550 datasheet, M_CAN Revision is 3.2.1.1 ,thus >3.0 I am slightly confused by the discrepancy in Bits > 29 in m_can.c and mcan_users_manual_v330.pdf, section 2.3.16 Interrupt Register (IR), page 20. But it is not my focus point. ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: can: m_can: tcan4x5x m_can_isr do not handle tx if rx fails 2022-02-22 15:51 ` Marc Kleine-Budde 2022-02-22 16:02 ` Michael Anochin @ 2022-02-22 16:20 ` Michael Anochin 1 sibling, 0 replies; 19+ messages in thread From: Michael Anochin @ 2022-02-22 16:20 UTC (permalink / raw) To: Marc Kleine-Budde; +Cc: linux-can >> >> Still any error messages? >> I can relatively easy reproduce this issue. After socket opened, I need to write a group of 6x can_fd frames (len=64) to the socket in a cycle of 10ms. After 1-2 minutes TX stops and latch up appears. Bitrates are 500000/1000000. In latch up condition, write to socket can return errno 11 (EAGAIN) or errno 105 (ENOBUFS) permanently till ifdown. Here is my can-status 9: can0: <NOARP,UP,LOWER_UP,ECHO> mtu 72 qdisc pfifo_fast state UP mode DEFAULT group default qlen 2000 link/can promiscuity 0 minmtu 0 maxmtu 0 can <BERR-REPORTING,FD> state ERROR-ACTIVE (berr-counter tx 0 rx 0) restart-ms 0 bitrate 500000 sample-point 0.800 tq 50 prop-seg 0 phase-seg1 31 phase-seg2 8 sjw 8 m_can: tseg1 2..256 tseg2 2..128 sjw 1..128 brp 1..512 brp-inc 1 dbitrate 1000000 dsample-point 0.700 dtq 50 dprop-seg 0 dphase-seg1 13 dphase-seg2 6 dsjw 6 m_can: dtseg1 1..32 dtseg2 1..16 dsjw 1..16 dbrp 1..32 dbrp-inc 1 clock 40000000numtxqueues 1 numrxqueues 1 gso_max_size 65536 gso_max_segs 65535 10: can1: <NOARP,UP,LOWER_UP,ECHO> mtu 72 qdisc pfifo_fast state UP mode DEFAULT group default qlen 2000 link/can promiscuity 0 minmtu 0 maxmtu 0 can <BERR-REPORTING,FD> state ERROR-ACTIVE (berr-counter tx 0 rx 0) restart-ms 0 bitrate 500000 sample-point 0.800 tq 50 prop-seg 0 phase-seg1 31 phase-seg2 8 sjw 8 m_can: tseg1 2..256 tseg2 2..128 sjw 1..128 brp 1..512 brp-inc 1 dbitrate 1000000 dsample-point 0.700 dtq 50 dprop-seg 0 dphase-seg1 13 dphase-seg2 6 dsjw 6 m_can: dtseg1 1..32 dtseg2 1..16 dsjw 1..16 dbrp 1..32 dbrp-inc 1 clock 40000000numtxqueues 1 numrxqueues 1 gso_max_size 65536 gso_max_segs 65535 11: can2: <NOARP,UP,LOWER_UP,ECHO> mtu 72 qdisc pfifo_fast state UP mode DEFAULT group default qlen 2000 link/can promiscuity 0 minmtu 0 maxmtu 0 can <BERR-REPORTING,FD> state ERROR-ACTIVE (berr-counter tx 0 rx 0) restart-ms 0 bitrate 500000 sample-point 0.800 tq 50 prop-seg 0 phase-seg1 31 phase-seg2 8 sjw 8 m_can: tseg1 2..256 tseg2 2..128 sjw 1..128 brp 1..512 brp-inc 1 dbitrate 1000000 dsample-point 0.700 dtq 50 dprop-seg 0 dphase-seg1 13 dphase-seg2 6 dsjw 6 m_can: dtseg1 1..32 dtseg2 1..16 dsjw 1..16 dbrp 1..32 dbrp-inc 1 clock 40000000numtxqueues 1 numrxqueues 1 gso_max_size 65536 gso_max_segs 65535 ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: can: m_can: tcan4x5x m_can_isr do not handle tx if rx fails 2022-02-22 14:45 ` Marc Kleine-Budde 2022-02-22 14:54 ` Michael Anochin @ 2022-02-22 15:11 ` Michael Anochin 2022-02-22 15:32 ` Marc Kleine-Budde 1 sibling, 1 reply; 19+ messages in thread From: Michael Anochin @ 2022-02-22 15:11 UTC (permalink / raw) To: Marc Kleine-Budde; +Cc: linux-can With netdev_warn() in m_can_tx_handler I found, that before "BUG! echo_skb N" appears, m_can_next_echo_skb_occupied(dev, putidx) is true with putidx=N-1 [11676.933800] tcan4x5x spi4.0 can1: m_can_tx_handler m_can_tx_fifo_full or m_can_next_echo_skb_occupied, putidx=12 [11676.934735] tcan4x5x spi4.0 can1: m_can_start_xmit: enter [11676.934744] tcan4x5x spi4.0 can1: m_can_start_xmit netif_stop_queue done [11676.934911] tcan4x5x spi4.0 can1: can_put_echo_skb: BUG! echo_skb 13 is occupied! ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: can: m_can: tcan4x5x m_can_isr do not handle tx if rx fails 2022-02-22 15:11 ` Michael Anochin @ 2022-02-22 15:32 ` Marc Kleine-Budde 0 siblings, 0 replies; 19+ messages in thread From: Marc Kleine-Budde @ 2022-02-22 15:32 UTC (permalink / raw) To: Michael Anochin; +Cc: linux-can [-- Attachment #1: Type: text/plain, Size: 1027 bytes --] On 22.02.2022 16:11:52, Michael Anochin wrote: > With netdev_warn() in m_can_tx_handler I found, > that before "BUG! echo_skb N" appears, > > m_can_next_echo_skb_occupied(dev, putidx) is true with putidx=N-1 > > [11676.933800] tcan4x5x spi4.0 can1: m_can_tx_handler m_can_tx_fifo_full or > m_can_next_echo_skb_occupied, putidx=12 > > [11676.934735] tcan4x5x spi4.0 can1: m_can_start_xmit: enter > > [11676.934744] tcan4x5x spi4.0 can1: m_can_start_xmit netif_stop_queue done > > [11676.934911] tcan4x5x spi4.0 can1: can_put_echo_skb: BUG! echo_skb 13 is > occupied! The tcan driver is probably not tested with more than 1 TX element. Please use the following mram config for now: | bosch,mram-cfg = <0x0 0 0 16 0 0 1 1>; Marc -- Pengutronix e.K. | Marc Kleine-Budde | Embedded Linux | https://www.pengutronix.de | Vertretung West/Dortmund | Phone: +49-231-2826-924 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 | [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 488 bytes --] ^ permalink raw reply [flat|nested] 19+ messages in thread
end of thread, other threads:[~2022-02-23 8:55 UTC | newest]
Thread overview: 19+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-02-22 11:14 can: m_can: tcan4x5x m_can_isr do not handle tx if rx fails Michael Anochin
2022-02-22 13:20 ` Marc Kleine-Budde
[not found] ` <c2651e9c-d3e7-815a-6e18-8ddffc04d3d7@photo-meter.com>
2022-02-22 13:44 ` Marc Kleine-Budde
[not found] ` <e3504807-06fc-b6d9-3fb1-bf8d94e2b444@photo-meter.com>
2022-02-22 14:45 ` Marc Kleine-Budde
2022-02-22 14:54 ` Michael Anochin
2022-02-22 15:06 ` Marc Kleine-Budde
2022-02-22 15:40 ` Michael Anochin
2022-02-22 15:43 ` Marc Kleine-Budde
2022-02-22 15:48 ` Michael Anochin
2022-02-22 15:51 ` Marc Kleine-Budde
2022-02-22 16:02 ` Michael Anochin
2022-02-22 16:09 ` Marc Kleine-Budde
2022-02-22 16:41 ` Michael Anochin
2022-02-22 20:10 ` Marc Kleine-Budde
2022-02-23 8:55 ` Michael Anochin
2022-02-22 16:58 ` Michael Anochin
2022-02-22 16:20 ` Michael Anochin
2022-02-22 15:11 ` Michael Anochin
2022-02-22 15:32 ` Marc Kleine-Budde
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.