In message: <[EMAIL PROTECTED]>
            "Justin T. Gibbs" <[EMAIL PROTECTED]> writes:
: > I'm thinking that the loop should be more like:
: >
: >             pcifunchigh = 0;
: >             f = 0;
: >             hdrtype = REG(PCIR_HEADERTYPE, 1);
: >             if (hdrtype & 0x7f > 2)
: >                     continue;
: 
: My only complaint about this is that if no device is present in the
: slot, won't you just get all bits set in whatever you read?  If so,
: the headertype check should be better bounded.

hdrtype would be 0xff.  0xff & 0x7f is 0x7f, which is greater than 2.
What would the problem be?  The only valid header types are 0, 1, and
2 (at least the only ones that we understand).  Technically, if it is
a header type we don't know, we're supposed to disable the device in
the command register too.

Warner
_______________________________________________
[EMAIL PROTECTED] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to