All of lore.kernel.org
 help / color / mirror / Atom feed
From: Corentin LABBE <clabbe@baylibre.com>
To: linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-fsdevel@vger.kernel.org
Subject: ch348 serial failling on linux-next
Date: Mon, 20 Jan 2025 21:30:27 +0100	[thread overview]
Message-ID: <Z46yYyL1Aju_UNyo@Red> (raw)

Hello

I am working on mainlining ch348 driver and I have some CI test to verify it works.
The ch348 is an octo port chip, and for testing it I did the following setup:
port0 to a FTDI, port1 to a pl2303, port2 to another FTDI, port 6 and 7 linked together.
For each couple, I send/recv data for a list of baudrate and compare results.

My test suite was okay on stable, 6.13-rc6, but when testing linux-next it fail since 20250110.
And only on port0<->FTDI.
I bisected the issue to: libfs: Use d_children list to iterate simple_offset directories
This is totally unrelated, but the fail is not random and persistant.
I tried also next-20250113, next-20250114, same fail
In the mean time, 6.13-rc7 came out and works.

What tool I use to detect it ?
I use https://github.com/montjoie/lava-tests/blob/master/test2a2.py
./test2a2 --port0 /dev/ttyUSB1 --port1 /dev/ttyUSB0
serial test v0 for /dev/ttyUSB1 /dev/ttyUSB0
DEBUG: serial test /dev/ttyUSB1 /dev/ttyUSB0
TRY /dev/ttyUSB1 to /dev/ttyUSB0 baud=9600
DEBUG: send_recv 32
DEBUG: sent 4/32 sent=4 remains=28
DEBUG: RECV 0
DEBUG: sent 8/32 sent=12 remains=20
DEBUG: RECV 0
DEBUG: sent 14/32 sent=26 remains=6
DEBUG: RECV 0
DEBUG: sent 6/32 sent=32 remains=0
DEBUG: RECV 0
DEBUG: RECV 0
DEBUG: RECV 0
DEBUG: RECV 0
DEBUG: RECV 0
DEBUG: RECV 0
DEBUG: RECV 0
DEBUG: RECV 0
DEBUG: string are different

So /dev/ttyUSB1 is sending data to /dev/ttyUSB0 and the latter never received it.
Same problem for the opposite, /dev/ttyUSB0 to /dev/ttyUSB1

Nothing could be found in dmesg, no clue.

Okay now, I dont know how to go further, the bisect result is too unrelated to the problem.

I have retried a second bisect from a different start/end
git bisect start
# status : en attente d'un commit bon et d'un commit mauvais
# bad: [0907e7fb35756464aa34c35d6abb02998418164b] Add linux-next specific files for 20250117
git bisect bad 0907e7fb35756464aa34c35d6abb02998418164b
# status : en attente de bon(s) commit(s), un mauvais commit connu
# good: [5bc55a333a2f7316b58edc7573e8e893f7acb532] Linux 6.13-rc7
git bisect good 5bc55a333a2f7316b58edc7573e8e893f7acb532
# bad: [195cedf4deacf84167c32b866ceac1cf4a16df15] Merge branch 'main' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next.git
git bisect bad 195cedf4deacf84167c32b866ceac1cf4a16df15
# good: [e8c0711b153b0db806410d8b31ed23b590f4eab4] Merge branch 'xtensa-for-next' of git://github.com/jcmvbkbc/linux-xtensa.git
git bisect good e8c0711b153b0db806410d8b31ed23b590f4eab4
# bad: [be4d7a3e7815249ca857f618dee81549f745cdbc] Merge branch 'docs-next' of git://git.lwn.net/linux.git
git bisect bad be4d7a3e7815249ca857f618dee81549f745cdbc
# good: [19096ecb142b72cebf03d8316c1d96192620e23a] Merge branch 'master' of https://github.com/Paragon-Software-Group/linux-ntfs3.git
git bisect good 19096ecb142b72cebf03d8316c1d96192620e23a
# bad: [51af4bb6edb606a7d1160323d65e6715969124e1] Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/printk/linux.git
git bisect bad 51af4bb6edb606a7d1160323d65e6715969124e1
# bad: [9ce2f898c13763037516269044d4658a2eabde61] Merge branch 'vfs-6.14.libfs' into vfs.all
git bisect bad 9ce2f898c13763037516269044d4658a2eabde61
# good: [3be5a57e3e36d3c2b6532a2262472199da972407] Merge branch 'vfs-6.14.misc' into vfs.all
git bisect good 3be5a57e3e36d3c2b6532a2262472199da972407
# good: [fda429aeb9f70b1f4f3b63d80f40e442a24f985a] Merge branch 'kernel-6.14.cred' into vfs.all
git bisect good fda429aeb9f70b1f4f3b63d80f40e442a24f985a
# good: [3ab8a0b2a0ff1038412cd644b51714e35970f415] selftests: add listmount() iteration tests
git bisect good 3ab8a0b2a0ff1038412cd644b51714e35970f415
# good: [5f677209c2642cf289867ca86f65a04c47265109] Merge branch 'vfs-6.14.mount' into vfs.all
git bisect good 5f677209c2642cf289867ca86f65a04c47265109
# good: [b662d858131da9a8a14e68661656989b14dbf113] Revert "libfs: fix infinite directory reads for offset dir"
git bisect good b662d858131da9a8a14e68661656989b14dbf113
# bad: [b9b588f22a0c049a14885399e27625635ae6ef91] libfs: Use d_children list to iterate simple_offset directories
git bisect bad b9b588f22a0c049a14885399e27625635ae6ef91
# good: [68a3a65003145644efcbb651e91db249ccd96281] libfs: Replace simple_offset end-of-directory detection
git bisect good 68a3a65003145644efcbb651e91db249ccd96281
# first bad commit: [b9b588f22a0c049a14885399e27625635ae6ef91] libfs: Use d_children list to iterate simple_offset directories

Since 2 different bisect point the same commit, and that the issue is not random, I am confident the bad commit is the real one, but why ?

I am trying to create a second setup to exclude hardware problem, but hardware will fail always and not only with some commit present.

I am a bit lost

Regards

                 reply	other threads:[~2025-01-20 20:30 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

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=Z46yYyL1Aju_UNyo@Red \
    --to=clabbe@baylibre.com \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-usb@vger.kernel.org \
    /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.