Hi,

The network layer currently handles packets with
c-structures overlayd on the packets.

NetReceive() will fail to correctly parse packets that
are not word aligned (at least on ARM cpus).

Just figured that out debugging the enc28j60 driver.
Which had no fault except for having the receive
packet buffer on an odd address :)

Instead of:
  static unsigned char buffer[ENC_MAX_FRM_LEN];
The following works fine:
  static unsigned long lbuffer[ENC_MAX_FRM_LEN/4];
  #define buffer ((unsigned char *)lbuffer)

Is there a more elegant way of forcing a char array to start
on an even address?

Reinhard

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to