diff options
author | Zhang Rui <rui.zhang@intel.com> | 2015-06-11 12:52:14 +0800 |
---|---|---|
committer | Zhang Rui <rui.zhang@intel.com> | 2015-06-11 12:52:14 +0800 |
commit | 111b23cf895b5cbcdc1b2c6580be1bb78a577d05 (patch) | |
tree | 89b840115ccd753216ba0b26e587e52699b99310 /drivers/net/can/xilinx_can.c | |
parent | 6a6bcf08e5d1834447655a762dfaf552b675cc54 (diff) | |
parent | 53daf9383f34d7bf61358a37449fb4d59fbdafc2 (diff) |
Merge branches 'release' and 'thermal-soc' of .git into next
Diffstat (limited to 'drivers/net/can/xilinx_can.c')
-rw-r--r-- | drivers/net/can/xilinx_can.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/drivers/net/can/xilinx_can.c b/drivers/net/can/xilinx_can.c index 6bddfe062b51..fc55e8e0351d 100644 --- a/drivers/net/can/xilinx_can.c +++ b/drivers/net/can/xilinx_can.c @@ -509,10 +509,11 @@ static int xcan_rx(struct net_device *ndev) cf->can_id |= CAN_RTR_FLAG; } - if (!(id_xcan & XCAN_IDR_SRR_MASK)) { - data[0] = priv->read_reg(priv, XCAN_RXFIFO_DW1_OFFSET); - data[1] = priv->read_reg(priv, XCAN_RXFIFO_DW2_OFFSET); + /* DW1/DW2 must always be read to remove message from RXFIFO */ + data[0] = priv->read_reg(priv, XCAN_RXFIFO_DW1_OFFSET); + data[1] = priv->read_reg(priv, XCAN_RXFIFO_DW2_OFFSET); + if (!(cf->can_id & CAN_RTR_FLAG)) { /* Change Xilinx CAN data format to socketCAN data format */ if (cf->can_dlc > 0) *(__be32 *)(cf->data) = cpu_to_be32(data[0]); |