Open
Description
In commit 748af10 a fix for wait_event_interruptible_timeout was introduced to handle ERESTARTSYS error that causes premature return from wait and thus false timeout errors and data losses. The same fix should be applied to swait_* functions because they suffer from the same issue.
Example log output (mostly for Google):
[ 208.397854] xdma:xdma_xfer_submit: xfer 0x0000000013042a6a,960, s 0x1 timed out, ep 0x143c0.
[ 208.397878] xdma:engine_reg_dump: 0-H2C0-MM: ioread32(0x00000000c90613c6) = 0x1fc00006 (id).
[ 208.397889] xdma:engine_reg_dump: 0-H2C0-MM: ioread32(0x000000006636ebc8) = 0x00000006 (status).
[ 208.397900] xdma:engine_reg_dump: 0-H2C0-MM: ioread32(0x00000000c228719b) = 0x00f83e1f (control)
[ 208.397911] xdma:engine_reg_dump: 0-H2C0-MM: ioread32(0x0000000063e22844) = 0xba14c4a0 (first_desc_lo)
[ 208.397921] xdma:engine_reg_dump: 0-H2C0-MM: ioread32(0x000000006aae47ff) = 0x00000000 (first_desc_hi)
[ 208.397931] xdma:engine_reg_dump: 0-H2C0-MM: ioread32(0x00000000d48e6255) = 0x00000000 (first_desc_adjacent).
[ 208.397941] xdma:engine_reg_dump: 0-H2C0-MM: ioread32(0x0000000029a1a5ae) = 0x00000001 (completed_desc_count).
[ 208.397951] xdma:engine_reg_dump: 0-H2C0-MM: ioread32(0x00000000c1fe9324) = 0x00f83e1e (interrupt_enable_mask)
[ 208.397966] xdma:engine_status_dump: SG engine 0-H2C0-MM status: 0x00000006: DESC_STOPPED,DESC_COMPL
[ 208.397977] xdma:transfer_abort: abort transfer 0x0000000013042a6a, desc 1, engine desc queued 0.
Metadata
Assignees
Labels
No labels
Activity