Pekka Enberg wrote: > On Sat, 2006-04-29 at 14:21 +0200, David Gómez wrote: >>> I already had it modified, just needed to create the patch... Anyway, >>> have you submitted it to netdev? > > On Sat, 2006-04-29 at 23:35 +0300, Pekka Enberg wrote: >> No, I haven't. I don't have the hardware, so I can't test the driver. >> Furthermore, there's plenty of stuff to fix before it's in any shape for >> submission. If someone wants to give this patch a spin, I would love to >> hear the results. Thanks for doing this Pekka. I've fixed up some stuff and given it some brief testing on a 100BaseT network and it seems to work now. > Subject: [PATCH] IP1000 Gigabit Ethernet device driver > > This is a cleaned up fork of the IP1000A device driver: > > > > Open issues include but are not limited to: > > - ipg_probe() looks really fishy and doesn't handle all errors > (e.g. ioremap failing). > - ipg_nic_do_ioctl() is playing games with user-space pointer. > We should use ethtool ioctl instead as suggested by Arjan. Still pending. Also: - something (PHY reset/auto negotiation?) takes 2-3 seconds and appears to be done with interrupts disabled. > - For multiple devices, the driver uses a global root_dev and > ipg_remove() play some tricks which look fishy. Killed this. It was broke and ugly as hell. Attached is patch with some more changes: - Remove changelogs - Remove ether_crc_le() -- use crc32_le() instead. - No more nonsense with root_dev -- ipg_remove() now works. - Move PHY and MAC address initialization into the ipg_probe(). It was previously filling in the MAC address on open which breaks some user space. - Folded ipg_nic_init into ipg_probe since it was broke otherwise. Signed-off-by: David Vrabel