svn commit: r184581 - head/sys/dev/cardbus
Warner Losh
imp at FreeBSD.org
Sun Nov 2 22:06:23 PST 2008
Author: imp
Date: Mon Nov 3 06:06:22 2008
New Revision: 184581
URL: http://svn.freebsd.org/changeset/base/184581
Log:
Use child (the card) in preference to cbdev (the bridge) when
allocating resources to read the CIS. I'm not sure when this changed,
but it is totally wrong. Also, add a minor improvement to the
debugging.
This should help everybody trying to run dumpcis on atheros wireless
card as well.
MFC after: 2 days
Modified:
head/sys/dev/cardbus/cardbus_cis.c
Modified: head/sys/dev/cardbus/cardbus_cis.c
==============================================================================
--- head/sys/dev/cardbus/cardbus_cis.c Mon Nov 3 05:53:10 2008 (r184580)
+++ head/sys/dev/cardbus/cardbus_cis.c Mon Nov 3 06:06:22 2008 (r184581)
@@ -511,7 +511,7 @@ cardbus_read_tuple_init(device_t cbdev,
device_printf(cbdev, "Bad header in rom %d: "
"[%x] %04x\n", romnum, imagebase +
CARDBUS_EXROM_SIGNATURE, romsig);
- bus_release_resource(cbdev, SYS_RES_MEMORY,
+ bus_release_resource(child, SYS_RES_MEMORY,
*rid, res);
*rid = 0;
return (NULL);
@@ -548,7 +548,7 @@ cardbus_read_tuple_init(device_t cbdev,
CARDBUS_EXROM_DATA_INDICATOR) & 0x80) != 0) {
device_printf(cbdev, "Cannot find CIS in "
"Option ROM\n");
- bus_release_resource(cbdev, SYS_RES_MEMORY,
+ bus_release_resource(child, SYS_RES_MEMORY,
*rid, res);
*rid = 0;
return (NULL);
@@ -559,6 +559,8 @@ cardbus_read_tuple_init(device_t cbdev,
} else {
*start = *start & PCIM_CIS_ADDR_MASK;
}
+ if (cardbus_cis_debug)
+ device_printf(cbdev, "CIS offset is %#x\n", *start);
return (res);
}
More information about the svn-src-all
mailing list