在 2022/3/28 13:48, OGAWA Hirofumi 写道:
I had changed console to ttynull and the system doesn't reset again. kernel driver generate lots of error messages when usb storage is disconnected:
$ dmesg | grep 'FAT read failed' | wc -l
608
usb storage can work again when reconnected.
The gpio watchdog depends on hrtimer, maybe printk in ISR delayed hrtimer that cause watchdog reset.
This limits the rate of messages. Can you try if a this patch fixes behavior?
Yes, this patch fixed the problem and watchdog doesn't reset again.
Next is the console log when usb storage disconnected:
[ 217.265033] musb-hdrc musb-hdrc.0: ep2 RX three-strikes error
[ 218.085454] sd 0:0:0:0: [sda] tag#0 UNKNOWN(0x2003) Result: hostbyte=0x07
driverbyte=DRIVER_OK cmd_age=0s
[ 218.095658] sd 0:0:0:0: [sda] tag#0 CDB: opcode=0x28 28 00 00 04 81 d6 00 00
f0 00
[ 218.103611] blk_update_request: I/O error, dev sda, sector 295382 op
0x0:(READ) flags 0x84700 phys_seg 2 prio class 0
[ 218.116414] sd 0:0:0:0: [sda] tag#0 UNKNOWN(0x2003) Result: hostbyte=0x07
driverbyte=DRIVER_OK cmd_age=0s
[ 218.126576] sd 0:0:0:0: [sda] tag#0 CDB: opcode=0x28 28 00 00 04 82 c6 00 00
10 00
[ 218.134582] blk_update_request: I/O error, dev sda, sector 295622 op
0x0:(READ) flags 0x80700 phys_seg 1 prio class 0
[ 218.146542] usb 1-1: USB disconnect, device number 4
[ 218.166668] sd 0:0:0:0: [sda] tag#0 UNKNOWN(0x2003) Result: hostbyte=0x07
driverbyte=DRIVER_OK cmd_age=0s
[ 218.176831] sd 0:0:0:0: [sda] tag#0 CDB: opcode=0x28 28 00 00 04 82 d6 00 00
f0 00
[ 218.184864] blk_update_request: I/O error, dev sda, sector 295638 op
0x0:(READ) flags 0x84700 phys_seg 2 prio class 0
[ 218.196996] blk_update_request: I/O error, dev sda, sector 295878 op
0x0:(READ) flags 0x80700 phys_seg 1 prio class 0
[ 218.208339] blk_update_request: I/O error, dev sda, sector 295382 op
0x0:(READ) flags 0x0 phys_seg 1 prio class 0
cp: read error: Input/output error
# [ 218.253995] FAT-fs (sda1): FAT read failed (blocknr 1130)
'FAT read failed' error message printed only once.
Interesting.
Thanks.