>> Hi,Thank vincent very much,with his long help,my 3com575 now work
>> fine.but I found this problem. in /etc/system:
>> when set cardbus_debug=1,prtconf has no "ethernet",no "elxl" driver.
>> when set cardbus_debug=9,prtconf has "ethernet" with "elxl" driver.
>> now,how to fix it, need I keep the cardbus_debug=9 in system file ?
>
Fixed.
After resetting the subordinate bus(enable_cardbus_bridge()), we should
wait for at least a few milli-seconds for things to stablize. After
adding a delay() in enale_cardbus_bridge() for 20ms, it worked. So far
this only happens on some 3Com CardBus cards.
@@ -3890,6 +3890,8 @@
stat, comm, bctrl);
}
+static int cardbus_reset_wait = 20;
+
static void
enable_cardbus_bridge(dev_info_t *dip, ddi_acc_handle_t config_handle)
{
@@ -3946,6 +3948,8 @@
cardbus_err(dip, 8,
"enable_cardbus_bridge() stat 0x%04x comm 0x%04x "
"bctrl 0x%04x\n", stat, comm, bctrl);
+
+ delay(drv_usectohz(cardbus_reset_wait * 1000));
}
Vincent.