On 11/19/2010 07:18 AM, Tomoya MORINAGA wrote:
> On Tuesday, November 16, 2010 9:22 PM, Marc Kleine-Budde wrote :
> 
> Except the following, I have updated/resubmitted already .
> 
>>>  static int pch_can_rx_poll(struct napi_struct *napi, int quota)
>>>  {
>>>   struct net_device *ndev = napi->dev;
>>>   struct pch_can_priv *priv = netdev_priv(ndev);
>>> - struct net_device_stats *stats = &(priv->ndev->stats);
>>> - u32 dlc;
>>>   u32 int_stat;
>>>   int rcv_pkts = 0;
>                     ^^^^
>> can be removed...if you remove the += below
> Since there is "goto" code, "=0" is better.

The compiler would complain, if there's an unused variable.

>>> - spin_unlock_irqrestore(&priv->msgif_reg_lock, flags);
>>> + pch_can_rw_msg_obj(&priv->regs->ifregs[1].creq, tx_obj_no);
>> Still we have the busy waiting in the TX path. Maybe you can move the
>> waiting before accessing the if[1] and remove the busy waiting here.
> I can't understand your saying.
> For transmitting data, calling pch_can_rw_msg_obj is mandatory.

Yes, but the busy wait is not needed. It should be enough to do the
busy-waiting _before_ accessing the if[1].

cheers, Marc

-- 
Pengutronix e.K.                  | Marc Kleine-Budde           |
Industrial Linux Solutions        | Phone: +49-231-2826-924     |
Vertretung West/Dortmund          | Fax:   +49-5121-206917-5555 |
Amtsgericht Hildesheim, HRA 2686  | http://www.pengutronix.de   |

Attachment: signature.asc
Description: OpenPGP digital signature

_______________________________________________
Socketcan-core mailing list
[email protected]
https://lists.berlios.de/mailman/listinfo/socketcan-core

Reply via email to