Subject: Re: [Q] How to invalidate ARP cache for a network device from within kernel

From: Stefan Richter <[email-masked]>
Date: Sat, 27 Nov 2010 16:19:07 +0100

On Nov 27 Stefan Richter wrote:
> > @@ -1593,10 +1593,15 @@ static void fwnet_update(struct fw_unit
> > *unit) {
> >  	struct fw_device *device = fw_parent_device(unit);
> >  	struct fwnet_peer *peer = dev_get_drvdata(&unit->device);
> > +	struct fwnet_device *dev = peer->dev;
> >  	int generation;
> >  
> >  	generation = device->generation;
> >  
> > +	fw_iso_context_stop(dev->broadcast_rcv_context);
> > +	fw_iso_context_start(dev->broadcast_rcv_context, -1, 0,
> > +			FW_ISO_CONTEXT_MATCH_ALL_TAGS);
[...]
> OTOH, is this actually necessary on normal bus resets?  It should only
> be necessary after PM resume, right?  If so, perhaps do it only if the
> generation increased by more than one.

Actually, shouldn't context restart at resume happen in firewire-ohci
rather?  Any other protocol driver which uses isochronous I/O (be it a
kernel driver or userspace driver) would have the same issue, I guess.
-- 
Stefan Richter
-=====-==-=- =-== ==-==
http://arcgraph.de/sr/