>-----Original Message-----
>From: Wolfgang Grandegger [mailto:[email protected]]
>Sent: Wednesday, September 23, 2009 9:05 PM
>To: Gole, Anant
>Cc: [email protected]
>Subject: Re: [PATCH V3] net-next:can: add TI CAN (HECC) driver
>
>Hi Anant,
>
>here is my quick review.
Appreciate the review. Ack on most comments - I will fix them before I head off
for a vacation this weekend.
[snip]
>> diff --git a/drivers/net/can/Makefile b/drivers/net/can/Makefile
>> index 523a941..45d42dc 100644
>> --- a/drivers/net/can/Makefile
>> +++ b/drivers/net/can/Makefile
>> @@ -8,5 +8,6 @@ obj-$(CONFIG_CAN_DEV) += can-dev.o
>> can-dev-y := dev.o
>>
>> obj-$(CONFIG_CAN_SJA1000) += sja1000/
>> +obj-$(CONFIG_CAN_TI_HECC) += ti_hecc.o
>
>Die Patch will fail because two more drivers have been accepted for
>net-next-2.6. They should show up soon.
>
Ok. I will take care while submitting the patch to netdev.
[snip]
>> +static netdev_tx_t ti_hecc_xmit(struct sk_buff *skb, struct net_device
>*ndev)
>> +{
>> + struct ti_hecc_priv *priv = netdev_priv(ndev);
>> + struct can_frame *cf = (struct can_frame *)skb->data;
>> + u32 mbxno = 0;
>> + u32 data;
>> + unsigned long flags;
>> +
>> + mbxno = get_tx_head_mb(priv);
>> + spin_lock_irqsave(&priv->mbox_lock, flags);
>> + if (unlikely(hecc_read(priv, HECC_CANME) & (1 << mbxno))) {
>> + spin_unlock_irqrestore(&priv->mbox_lock, flags);
>> + netif_stop_queue(ndev);
>> + dev_err(priv->ndev->dev.parent,
>> + "BUG: TX mbox not ready tx_head=%08X, tx_tail=%08X\n",
>> + priv->tx_head, priv->tx_tail);
>> + return NETDEV_TX_BUSY;
>
>Can this happen? Will the hardware recover from the error?
Technically it cannot happen but the check is put as a worst case to know if
this really happened - it is difficult to predict if the driver will recover as
this condition is really not expected but a error print probably can help
debug. I checked other drivers with similar logic for TX mailbox (like at91)
and the same error print was used which I thought would be useful.
Regards,
Anant
_______________________________________________
Socketcan-core mailing list
[email protected]
https://lists.berlios.de/mailman/listinfo/socketcan-core