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);
 }
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to