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