file linux-2.6.31/drivers/net/fec.c
The fec_set_mac_address function has a line:
writel((dev->dev_addr[5] << 16) | (dev->dev_addr[4] << 24),
fep + FEC_ADDR_HIGH);
which should read:
writel((dev->dev_addr[5] << 16) | (dev->dev_addr[4] << 24),
fep->hwp + FEC_ADDR_HIGH);
Writing to fep + FEC_ADDR_HIGH causes strange crashes and it took some time to find it was this function clobbering some-one else's data.
I hope this helps some-one.
Matt.
Darron,
It is a good idea to use the mainline kernel if you can.
Currently not all the support available on FSL 2.6.35 kernel is available in mainline, but the kernel mainline support for MX28 is growing. As of 3.2-rc1 kernel there are 3 MX28-base boards available there:
MX28EVK, TX28 and M28EVK
Regards,
Fabio Estevam
Darron Black said:
Fabio,
Is this true in the general case? Should I be on the latest 3.x kernel with i.MX28x? Have all the patches from 2.6.35.3+ from the board support packages made it into mainline now?
Fabio Estevam said:If you are interested in a more recent kernel for mx35 you can use the latest 3.1 kernel.
It does provide support for mx35pdk as well as other mx35-based boards.
Thanks Fabio,
The product's about to hit the street and so I don't wish to jump kernels at this time.
Fabio Estevam said:
If you are interested in a more recent kernel for mx35 you can use the latest 3.1 kernel.
It does provide support for mx35pdk as well as other mx35-based boards.
Fabio,
Is this true in the general case? Should I be on the latest 3.x kernel with i.MX28x? Have all the patches from 2.6.35.3+ from the board support packages made it into mainline now?
Fabio Estevam said:
If you are interested in a more recent kernel for mx35 you can use the latest 3.1 kernel.
It does provide support for mx35pdk as well as other mx35-based boards.
If you are interested in a more recent kernel for mx35 you can use the latest 3.1 kernel.
It does provide support for mx35pdk as well as other mx35-based boards.
I'm using the 2.6.35 kernel, and it appears it's already been fixed in that version.