diff options
author | H. Nikolaus Schaller <hns@goldelico.com> | 2020-05-23 19:32:57 +0200 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2020-05-27 12:18:49 +0200 |
commit | 0cfcfb314dec614aeee04cac0563c2b31ff9d1ef (patch) | |
tree | c3021e65aa8824a52fe4a3223ae947825a2de12e /drivers/w1 | |
parent | w1: omap-hdq: fix interrupt handling which did show spurious timeouts (diff) | |
download | linux-0cfcfb314dec614aeee04cac0563c2b31ff9d1ef.tar.xz linux-0cfcfb314dec614aeee04cac0563c2b31ff9d1ef.zip |
w1: omap-hdq: print dev_err if irq flags are not cleared
If irq flags are not cleared for certain operations we
print an error message.
Since this should never occur in normal operation, this
patch is an optional safety-net and debugging tool.
Signed-off-by: H. Nikolaus Schaller <hns@goldelico.com>
Link: https://lore.kernel.org/r/2de305d3046c7281a7123347899abbaa64c54fb8.1590255176.git.hns@goldelico.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/w1')
-rw-r--r-- | drivers/w1/masters/omap_hdq.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/w1/masters/omap_hdq.c b/drivers/w1/masters/omap_hdq.c index a6484700f3b3..bf2ec59c1f9d 100644 --- a/drivers/w1/masters/omap_hdq.c +++ b/drivers/w1/masters/omap_hdq.c @@ -146,6 +146,10 @@ static int hdq_write_byte(struct hdq_data *hdq_data, u8 val, u8 *status) goto rtn; } + if (hdq_data->hdq_irqstatus) + dev_err(hdq_data->dev, "TX irqstatus not cleared (%02x)\n", + hdq_data->hdq_irqstatus); + *status = 0; hdq_reg_out(hdq_data, OMAP_HDQ_TX_DATA, val); @@ -243,6 +247,10 @@ static int omap_hdq_break(struct hdq_data *hdq_data) goto rtn; } + if (hdq_data->hdq_irqstatus) + dev_err(hdq_data->dev, "break irqstatus not cleared (%02x)\n", + hdq_data->hdq_irqstatus); + /* set the INIT and GO bit */ hdq_reg_merge(hdq_data, OMAP_HDQ_CTRL_STATUS, OMAP_HDQ_CTRL_STATUS_INITIALIZATION | OMAP_HDQ_CTRL_STATUS_GO, |