On Mon, 2006-09-04 at 21:15 -0700, Stephen Hemminger wrote:
> On Tue, 05 Sep 2006 13:47:52 +1000
> Benjamin Herrenschmidt <[EMAIL PROTECTED]> wrote:
> 
> > 
> > > It may not need any swapping, it is hard to tell what the hardware
> > > will do without experimentation.
> > 
> > Yes... did you have a chance to test the vlan stuff on LE machines
> > (x86) ? did it work with the BE swapping you were doing ? I've
> > purposedly removed in my patches the hardware side swapping of the
> > descriptors, as I explained, thus making the hardware react the same on
> > ppc and x86. Thus we need the exact same swapping macros on both
> > platforms).
> 
> 
> Last time I checked it worked.  Private cable simulating VLAN
> from other Linux card.

Ok, so we should probably switch back the vlan bits to BE swapping
macros... 

However, we then have an inconsistency with that bit:

#ifdef SKY2_VLAN_TAG_USED
                case OP_RXVLAN:
                        sky2->rx_tag = length;
                        break;

                case OP_RXCHKSVLAN:
                        sky2->rx_tag = length;
                        /* fall through */
#endif

in sky2_status_intr()

Where we read the lenght field directly without swapping (on the non
patched driver, on the patched driver, lenght will have gone through an
LE swap). That is, if you take the standpoint of a LE machine, you will
read that value as a little endian value while elsewhere, we manipulate
sky2->rx_tag as a BE value... (this is even without my patch)

Ben.


-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to