I made a patch some time ago to fix just this issue. If I understand correctly your post I took the second way, selecting a phy with a type != UNKNOWN.
This patch can be found on my sis900 page at: http://teg.homeunix.org/sis900.html and was reported to work, if this is not the case with your NIC, please tell us.
No, it does work. I tried it back then as well and it didn't. I was probably checking the wrong module or something like it - I just tried any possible combination of what I did back then and I can't reproduce the failure when your patch is applied. My mistake.
So it works for me, except that it bugs a little that I get those warning messages. But I guess I have to live with that, unless I want to patch my kernel with every new release.
Thanks.
Thank you Grischa Jacobs - : send the line "unsubscribe linux-net" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html