can: cc770: store echo skb before starting the transfer
On slow systems and high CAN bitrates, the error message "can_put_echo_skb: BUG! echo_skb is occupied!" did show up because can_put_echo_skb() was called after starting the transfer. Signed-off-by: Wolfgang Grandegger <wg@grandegger.com> Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
This commit is contained in:
		
							parent
							
								
									6e9d554fa6
								
							
						
					
					
						commit
						7bb4db93ae
					
				| @ -440,12 +440,14 @@ static netdev_tx_t cc770_start_xmit(struct sk_buff *skb, struct net_device *dev) | ||||
| 	for (i = 0; i < dlc; i++) | ||||
| 		cc770_write_reg(priv, msgobj[mo].data[i], cf->data[i]); | ||||
| 
 | ||||
| 	/* Store echo skb before starting the transfer */ | ||||
| 	can_put_echo_skb(skb, dev, 0); | ||||
| 
 | ||||
| 	cc770_write_reg(priv, msgobj[mo].ctrl1, | ||||
| 			RMTPND_RES | TXRQST_SET | CPUUPD_RES | NEWDAT_UNC); | ||||
| 
 | ||||
| 	stats->tx_bytes += dlc; | ||||
| 
 | ||||
| 	can_put_echo_skb(skb, dev, 0); | ||||
| 
 | ||||
| 	/*
 | ||||
| 	 * HM: We had some cases of repeated IRQs so make sure the | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user