diff options
| author | Arnd Bergmann <arnd@arndb.de> | 2014-09-09 16:49:28 +0200 | 
|---|---|---|
| committer | Arnd Bergmann <arnd@arndb.de> | 2014-09-09 16:49:28 +0200 | 
| commit | 87e9d8fd26c782623b79f2968431179f29b339f2 (patch) | |
| tree | 45e2cf70f4609ee82859d28dd8a34effc750a6c5 /drivers/net/can/flexcan.c | |
| parent | facdb3dd378e81b8516a8faa061e0be56d2ae7be (diff) | |
| parent | 75a41826e2c5dc1dc0fd5195fc29b031c97337af (diff) | |
Merge tag 'socfpga_update_for_v3.18' of git://git.rocketboards.org/linux-socfpga-next into next/dt
Pull "arm: dts: Add Altera SDRAM EDAC bindings & devicetree entries" From Dinh Nguyen:
5 of the 6 patches are DTS updates and the 1 patch is updating
the MAINTAINERS entry with my new email address.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
* tag 'socfpga_update_for_v3.18' of git://git.rocketboards.org/linux-socfpga-next:
  arm: dts: Add Altera SDRAM EDAC bindings & devicetree entries.
  ARM: dts: socfpga: memreserve first 4KB for future system use
  ARM: dts: socfpga: Add SD card detect
  ARM: dts: socfpga: remove extra alias in the ArriaV devkit
  ARM: dts: socfpga: unuse the slot-node and deprecate the supports-highspeed for dw-mmc
  MAINTAINERS: update entries for ARM/SOCFPGA platform
Diffstat (limited to 'drivers/net/can/flexcan.c')
| -rw-r--r-- | drivers/net/can/flexcan.c | 9 | 
1 files changed, 9 insertions, 0 deletions
diff --git a/drivers/net/can/flexcan.c b/drivers/net/can/flexcan.c index f425ec2c7839..944aa5d3af6e 100644 --- a/drivers/net/can/flexcan.c +++ b/drivers/net/can/flexcan.c @@ -549,6 +549,13 @@ static void do_state(struct net_device *dev,  	/* process state changes depending on the new state */  	switch (new_state) { +	case CAN_STATE_ERROR_WARNING: +		netdev_dbg(dev, "Error Warning\n"); +		cf->can_id |= CAN_ERR_CRTL; +		cf->data[1] = (bec.txerr > bec.rxerr) ? +			CAN_ERR_CRTL_TX_WARNING : +			CAN_ERR_CRTL_RX_WARNING; +		break;  	case CAN_STATE_ERROR_ACTIVE:  		netdev_dbg(dev, "Error Active\n");  		cf->can_id |= CAN_ERR_PROT; @@ -852,6 +859,8 @@ static int flexcan_chip_start(struct net_device *dev)  	if (priv->devtype_data->features & FLEXCAN_HAS_BROKEN_ERR_STATE ||  	    priv->can.ctrlmode & CAN_CTRLMODE_BERR_REPORTING)  		reg_ctrl |= FLEXCAN_CTRL_ERR_MSK; +	else +		reg_ctrl &= ~FLEXCAN_CTRL_ERR_MSK;  	/* save for later use */  	priv->reg_ctrl_default = reg_ctrl;  | 
