From: "Ahmed S. Darwish" <darwish.07@gmail.com>
To: Olivier Sobrie <olivier@sobrie.be>,
Oliver Hartkopp <socketcan@hartkopp.net>,
Wolfgang Grandegger <wg@grandegger.com>,
Marc Kleine-Budde <mkl@pengutronix.de>,
Andri Yngvason <andri.yngvason@marel.com>
Cc: Linux-CAN <linux-can@vger.kernel.org>,
netdev <netdev@vger.kernel.org>,
LKML <linux-kernel@vger.kernel.org>
Subject: [PATCH v6 0/7] can: kvaser_usb: Leaf bugfixes and USBCan-II support
Date: Mon, 26 Jan 2015 07:17:55 +0200 [thread overview]
Message-ID: <20150126051755.GA3014@Darwish.PC> (raw)
In-Reply-To: <20141223154654.GB6460@vivalin-002>
Hi!
This is an updated patch series for the Kvaser CAN/USB devices:
1- Extra patches are now added to the series. Most importantly
patch #1 which fixes a critical `sleep in atomic context' bug
in the current upstream driver. Patch #2 fixes a corruption in
the kernel logs, also affecting current upstream driver. Patch
#4 was originally USBCan-II only, but since it's a generic fix,
it's now retrofitted to the Leaf-only upstream driver first.
2- The series has been re-organized so that patches #1 -> #4
inclusive can go to linux-can/origin, while the rest can move
to -next.
3- There are some important updates regarding the USBCan-II
error counters, and how really erratic their heaviour is. All
the new details are covered at the bottom of this URL:
http://article.gmane.org/gmane.linux.can/7481
4- Attached below is the new candump traces. Now
`back-to-error-active' states appear _if_ the hardware was
kind enough and decreased the error counters appropriately.
The earlier code did not recognize the error counters going
down, thus the `back-to-error-active' transitions did not
appear.
###########################################################
* Bus-off scenario (with transitions active -> passive -> back-to-active):
(000.000000) can0 20000080 [8] 00 00 00 00 00 00 30 00 ERRORFRAME
bus-error
error-counter-tx-rx{{48}{0}}
(000.000011) can0 20000084 [8] 00 20 00 00 00 00 88 00 ERRORFRAME
controller-problem{tx-error-passive}
bus-error
error-counter-tx-rx{{136}{0}}
(000.000001) can0 20000080 [8] 00 00 00 00 00 00 88 00 ERRORFRAME
bus-error
error-counter-tx-rx{{136}{0}}
(000.000987) can0 20000080 [8] 00 00 00 00 00 00 98 00 ERRORFRAME
bus-error
error-counter-tx-rx{{152}{0}}
(000.002011) can0 20000084 [8] 00 40 00 00 00 00 30 00 ERRORFRAME
controller-problem{back-to-error-active}
bus-error
error-counter-tx-rx{{48}{0}}
(000.000004) can0 20000084 [8] 00 20 00 00 00 00 78 00 ERRORFRAME
controller-problem{tx-error-passive}
bus-error
error-counter-tx-rx{{120}{0}}
(000.000002) can0 20000080 [8] 00 00 00 00 00 00 88 00 ERRORFRAME
bus-error
error-counter-tx-rx{{136}{0}}
(000.000005) can0 20000080 [8] 00 00 00 00 00 00 90 00 ERRORFRAME
bus-error
error-counter-tx-rx{{144}{0}}
(000.000002) can0 20000080 [8] 00 00 00 00 00 00 98 00 ERRORFRAME
bus-error
error-counter-tx-rx{{152}{0}}
(000.000001) can0 20000080 [8] 00 00 00 00 00 00 A0 00 ERRORFRAME
bus-error
error-counter-tx-rx{{160}{0}}
(000.000966) can0 20000080 [8] 00 00 00 00 00 00 A8 00 ERRORFRAME
bus-error
error-counter-tx-rx{{168}{0}}
(000.002998) can0 20000084 [8] 00 40 00 00 00 00 30 00 ERRORFRAME
controller-problem{back-to-error-active}
bus-error
error-counter-tx-rx{{48}{0}}
(000.000004) can0 20000084 [8] 00 20 00 00 00 00 80 00 ERRORFRAME
controller-problem{tx-error-passive}
bus-error
error-counter-tx-rx{{128}{0}}
(000.000002) can0 20000080 [8] 00 00 00 00 00 00 88 00 ERRORFRAME
bus-error
error-counter-tx-rx{{136}{0}}
(001.031035) can0 200000C0 [8] 00 00 00 00 00 00 00 29 ERRORFRAME
bus-off
bus-error
error-counter-tx-rx{{0}{41}}
###########################################################
Regular sending, unpluggng CAN connector, then plugging again:
(with transitions active -> warning -> passive)
[ As stated earlier, the counters don't get decreased upon CAN
replug, even if they were constantly polled. ]
(000.011001) can0 2A1 [1] E5
(000.010001) can0 50E [8] E6 05 00 00 00 00 00 00
(000.009999) can0 009 [1] E7
(000.011000) can0 6E2 [8] E8 05 00 00 00 00 00 00
(000.009999) can0 314 [2] E9 05
(000.010001) can0 708 [6] EA 05 00 00 00 00
(000.010991) can0 20000080 [8] 00 00 00 00 00 00 00 09 ERRORFRAME
bus-error
error-counter-tx-rx{{0}{9}}
(000.000002) can0 20000080 [8] 00 00 00 00 00 00 00 0A ERRORFRAME
bus-error
error-counter-tx-rx{{0}{10}}
(000.000007) can0 20000080 [8] 00 00 00 00 00 00 00 2E ERRORFRAME
bus-error
error-counter-tx-rx{{0}{46}}
(000.000003) can0 20000080 [8] 00 00 00 00 00 00 00 37 ERRORFRAME
bus-error
error-counter-tx-rx{{0}{55}}
(000.000002) can0 20000080 [8] 00 00 00 00 00 00 00 40 ERRORFRAME
bus-error
error-counter-tx-rx{{0}{64}}
(000.000993) can0 20000080 [8] 00 00 00 00 00 00 00 49 ERRORFRAME
bus-error
error-counter-tx-rx{{0}{73}}
(000.000002) can0 20000080 [8] 00 00 00 00 00 00 00 52 ERRORFRAME
bus-error
error-counter-tx-rx{{0}{82}}
(000.000001) can0 20000080 [8] 00 00 00 00 00 00 00 5B ERRORFRAME
bus-error
error-counter-tx-rx{{0}{91}}
(000.000028) can0 20000084 [8] 00 04 00 00 00 00 00 6C ERRORFRAME
controller-problem{rx-error-warning}
bus-error
error-counter-tx-rx{{0}{108}}
(000.000955) can0 20000080 [8] 00 00 00 00 00 00 00 7F ERRORFRAME
bus-error
error-counter-tx-rx{{0}{127}}
(000.000008) can0 20000084 [8] 00 10 00 00 00 00 00 87 ERRORFRAME
controller-problem{rx-error-passive}
bus-error
error-counter-tx-rx{{0}{135}}
(000.000001) can0 20000080 [8] 00 00 00 00 00 00 00 87 ERRORFRAME
bus-error
error-counter-tx-rx{{0}{135}}
(000.000004) can0 20000080 [8] 00 00 00 00 00 00 00 87 ERRORFRAME
bus-error
error-counter-tx-rx{{0}{135}}
((( Then a continous flood, exactly similar to the above packet, appears )))
(000.500004) can0 2ED [4] EB 05 00 00
(000.000006) can0 0DD [5] EC 05 00 00 00
(000.000002) can0 1D3 [1] ED
(000.000988) can0 20D [8] EE 05 00 00 00 00 00 00
(000.000006) can0 04B [8] EF 05 00 00 00 00 00 00
(000.000002) can0 320 [8] F0 05 00 00 00 00 00 00
(000.000002) can0 023 [8] F1 05 00 00 00 00 00 00
(000.000989) can0 21D [8] F2 05 00 00 00 00 00 00
(000.000005) can0 17D [8] F3 05 00 00 00 00 00 00
(000.000002) can0 6DC [8] F4 05 00 00 00 00 00 00
(000.000993) can0 62D [8] F5 05 00 00 00 00 00 00
(000.000006) can0 18B [6] F6 05 00 00 00 00
(000.000001) can0 7EB [8] F7 05 00 00 00 00 00 00
(000.000001) can0 014 [8] F8 05 00 00 00 00 00 00
(000.000994) can0 52F [8] F9 05 00 00 00 00 00 00
--
Regards,
Darwish
next prev parent reply other threads:[~2015-01-26 5:18 UTC|newest]
Thread overview: 98+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-12-23 15:46 [PATCH] can: kvaser_usb: Don't free packets when tight on URBs Ahmed S. Darwish
2014-12-23 15:53 ` [PATCH] can: kvaser_usb: Add support for the Usbcan-II family Ahmed S. Darwish
2014-12-24 12:36 ` Olivier Sobrie
2014-12-24 15:04 ` Ahmed S. Darwish
2014-12-28 21:51 ` Olivier Sobrie
2014-12-30 15:33 ` Ahmed S. Darwish
2014-12-31 12:13 ` Olivier Sobrie
2014-12-24 12:31 ` [PATCH] can: kvaser_usb: Don't free packets when tight on URBs Olivier Sobrie
2014-12-24 15:52 ` Ahmed S. Darwish
2014-12-24 23:56 ` [PATCH v2 1/4] " Ahmed S. Darwish
2014-12-24 23:59 ` [PATCH v2 2/4] can: kvaser_usb: Reset all URB tx contexts upon channel close Ahmed S. Darwish
2014-12-25 0:02 ` [PATCH v2 3/4] can: kvaser_usb: Don't send a RESET_CHIP for non-existing channels Ahmed S. Darwish
2014-12-25 0:04 ` [PATCH v2 4/4] can: kvaser_usb: Add support for the Usbcan-II family Ahmed S. Darwish
2014-12-28 21:54 ` [PATCH v2 3/4] can: kvaser_usb: Don't send a RESET_CHIP for non-existing channels Olivier Sobrie
2014-12-25 2:50 ` [PATCH v2 1/4] can: kvaser_usb: Don't free packets when tight on URBs Greg KH
2014-12-25 9:38 ` Ahmed S. Darwish
2014-12-28 21:52 ` Olivier Sobrie
2015-01-01 21:59 ` [PATCH] " Stephen Hemminger
2015-01-03 14:34 ` Ahmed S. Darwish
2015-01-05 17:49 ` [PATCH v3 1/4] " Ahmed S. Darwish
2015-01-05 17:52 ` [PATCH v3 2/4] can: kvaser_usb: Reset all URB tx contexts upon channel close Ahmed S. Darwish
2015-01-05 17:57 ` [PATCH v3 3/4] can: kvaser_usb: Don't send a RESET_CHIP for non-existing channels Ahmed S. Darwish
2015-01-05 18:31 ` [PATCH v3 4/4] can: kvaser_usb: Add support for the Usbcan-II family Ahmed S. Darwish
2015-01-08 11:53 ` Marc Kleine-Budde
2015-01-08 15:19 ` Ahmed S. Darwish
2015-01-12 11:51 ` Marc Kleine-Budde
2015-01-12 12:26 ` Ahmed S. Darwish
2015-01-12 12:34 ` Marc Kleine-Budde
2015-01-09 3:06 ` Ahmed S. Darwish
2015-01-09 14:05 ` Marc Kleine-Budde
2015-01-09 16:23 ` Oliver Hartkopp
2015-01-08 9:59 ` [PATCH v3 1/4] can: kvaser_usb: Don't free packets when tight on URBs Marc Kleine-Budde
2015-01-11 20:05 ` [PATCH v4 00/04] can: Introduce support for Kvaser USBCAN-II devices Ahmed S. Darwish
2015-01-11 20:11 ` [PATCH v4 01/04] can: kvaser_usb: Don't dereference skb after a netif_rx() devices Ahmed S. Darwish
2015-01-11 20:15 ` [PATCH v4 2/4] can: kvaser_usb: Update error counters before exiting on OOM Ahmed S. Darwish
2015-01-11 20:36 ` [PATCH v4 3/4] can: kvaser_usb: Add support for the Usbcan-II family Ahmed S. Darwish
2015-01-11 20:45 ` [PATCH v4 4/4] can: kvaser_usb: Retry first bulk transfer on -ETIMEDOUT Ahmed S. Darwish
2015-01-11 20:51 ` Marc Kleine-Budde
2015-01-12 10:14 ` Ahmed S. Darwish
2015-01-12 10:25 ` Marc Kleine-Budde
2015-01-12 13:33 ` Olivier Sobrie
2015-01-12 13:50 ` Ahmed S. Darwish
2015-01-12 11:20 ` [PATCH v4 3/4] can: kvaser_usb: Add support for the Usbcan-II family Ahmed S. Darwish
2015-01-12 11:43 ` Marc Kleine-Budde
2015-01-12 12:07 ` Ahmed S. Darwish
2015-01-12 12:36 ` Ahmed S. Darwish
2015-01-12 13:53 ` Olivier Sobrie
2015-01-18 20:12 ` Ahmed S. Darwish
2015-01-18 20:13 ` Marc Kleine-Budde
2015-01-12 11:09 ` [PATCH v4 2/4] can: kvaser_usb: Update error counters before exiting on OOM Marc Kleine-Budde
2015-01-12 20:36 ` Ahmed S. Darwish
2015-01-16 14:39 ` Marc Kleine-Budde
2015-01-16 15:50 ` Andri Yngvason
2015-01-18 20:33 ` Ahmed S. Darwish
2015-01-11 20:49 ` [PATCH v4 01/04] can: kvaser_usb: Don't dereference skb after a netif_rx() Ahmed S. Darwish
2015-01-12 11:05 ` Marc Kleine-Budde
2015-01-20 21:44 ` [PATCH v5 1/5] can: kvaser_usb: Update net interface state before exiting on OOM Ahmed S. Darwish
2015-01-20 21:45 ` [PATCH v5 2/5] can: kvaser_usb: Consolidate and unify state change handling Ahmed S. Darwish
2015-01-20 21:47 ` [PATCH v5 3/5] can: kvaser_usb: Fix state handling upon BUS_ERROR events Ahmed S. Darwish
2015-01-20 21:48 ` [PATCH v5 4/5] can: kvaser_usb: Retry the first bulk transfer on -ETIMEDOUT Ahmed S. Darwish
2015-01-20 21:50 ` [PATCH v5 5/5] can: kvaser_usb: Add support for the USBcan-II family Ahmed S. Darwish
2015-01-21 12:24 ` [PATCH v5 4/5] can: kvaser_usb: Retry the first bulk transfer on -ETIMEDOUT Sergei Shtylyov
2015-01-25 11:59 ` Ahmed S. Darwish
2015-01-21 10:33 ` [PATCH v5 2/5] can: kvaser_usb: Consolidate and unify state change handling Andri Yngvason
2015-01-21 10:44 ` Marc Kleine-Budde
2015-01-21 11:00 ` Andri Yngvason
2015-01-21 11:53 ` Wolfgang Grandegger
2015-01-21 14:43 ` Ahmed S. Darwish
2015-01-21 15:00 ` Andri Yngvason
2015-01-21 15:36 ` Ahmed S. Darwish
2015-01-21 16:13 ` Wolfgang Grandegger
2015-01-23 6:07 ` Ahmed S. Darwish
2015-01-23 10:32 ` Andri Yngvason
2015-01-25 2:43 ` Ahmed S. Darwish
2015-01-26 10:21 ` Andri Yngvason
2015-01-21 16:37 ` Andri Yngvason
2015-01-21 16:20 ` Andri Yngvason
2015-01-21 22:59 ` Marc Kleine-Budde
2015-01-22 10:14 ` Andri Yngvason
2015-01-25 2:49 ` Ahmed S. Darwish
2015-01-25 3:21 ` Ahmed S. Darwish
2015-01-26 5:17 ` Ahmed S. Darwish [this message]
2015-01-26 5:20 ` [PATCH v6 1/7] can: kvaser_usb: Do not sleep in atomic context Ahmed S. Darwish
2015-01-26 5:22 ` [PATCH v6 2/7] can: kvaser_usb: Send correct context to URB completion Ahmed S. Darwish
2015-01-26 5:24 ` [PATCH v6 3/7] can: kvaser_usb: Retry the first bulk transfer on -ETIMEDOUT Ahmed S. Darwish
2015-01-26 5:25 ` [PATCH v6 4/7] can: kvaser_usb: Fix state handling upon BUS_ERROR events Ahmed S. Darwish
2015-01-26 5:27 ` [PATCH v6 5/7] can: kvaser_usb: Update interface state before exiting on OOM Ahmed S. Darwish
2015-01-26 5:29 ` [PATCH v6 6/7] can: kvaser_usb: Consolidate and unify state change handling Ahmed S. Darwish
2015-01-26 5:33 ` [PATCH v6 7/7] can: kvaser_usb: Add support for the USBcan-II family Ahmed S. Darwish
2015-01-26 10:34 ` Andri Yngvason
2015-01-26 10:26 ` [PATCH v6 6/7] can: kvaser_usb: Consolidate and unify state change handling Andri Yngvason
2015-01-26 10:28 ` [PATCH v6 5/7] can: kvaser_usb: Update interface state before exiting on OOM Andri Yngvason
2015-01-26 10:50 ` Marc Kleine-Budde
2015-01-26 10:52 ` Andri Yngvason
2015-01-26 10:53 ` Marc Kleine-Budde
2015-01-26 9:55 ` [PATCH v6 0/7] can: kvaser_usb: Leaf bugfixes and USBCan-II support Marc Kleine-Budde
2015-01-26 10:07 ` Marc Kleine-Budde
2015-01-26 10:56 ` Marc Kleine-Budde
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20150126051755.GA3014@Darwish.PC \
--to=darwish.07@gmail.com \
--cc=andri.yngvason@marel.com \
--cc=linux-can@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mkl@pengutronix.de \
--cc=netdev@vger.kernel.org \
--cc=olivier@sobrie.be \
--cc=socketcan@hartkopp.net \
--cc=wg@grandegger.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.