Gentlemen, I believe that the cause of the problem is the missing calls to pci_enable_dev() and pci_set_master(), which were lost during the refactoring of the code.
Can you please try building a kernel with attached patch, and see if it improves the situtation in any way? Best regards, -- Jurij Smakov [EMAIL PROTECTED] Key: http://www.wooyd.org/pgpkey/ KeyID: C99E03CC
diff -aur a/drivers/net/sunhme.c b/drivers/net/sunhme.c --- a/drivers/net/sunhme.c 2006-09-19 20:42:06.000000000 -0700 +++ b/drivers/net/sunhme.c 2006-11-22 21:10:44.000000000 -0800 @@ -3012,6 +3012,11 @@ #endif err = -ENODEV; + + if (pci_enable_device(pdev)) + goto err_out; + pci_set_master(pdev) + if (!strcmp(prom_name, "SUNW,qfe") || !strcmp(prom_name, "qfe")) { qp = quattro_pci_find(pdev); if (qp == NULL)