Print this page
6639 uhci_qh walker contains whacky boolean logic
*** 22,33 ****
/*
* Copyright 2004 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
- #pragma ident "%Z%%M% %I% %E% SMI"
-
#include <gelf.h>
#include <sys/mdb_modapi.h>
#include <mdb/mdb_ks.h>
--- 22,31 ----
*** 582,593 ****
if (wsp->walk_addr == NULL || wsp->walk_addr & HC_END_OF_LIST) {
return (WALK_DONE);
}
/* Make sure next element is a QH. If a TD, stop. */
! if (! ((((queue_head_t *)wsp->walk_data)->link_ptr) & HC_QUEUE_HEAD)
! == HC_QUEUE_HEAD) {
return (WALK_DONE);
}
/* Strip terminate etc. bits. */
wsp->walk_addr &= QH_LINK_PTR_MASK;
--- 580,591 ----
if (wsp->walk_addr == NULL || wsp->walk_addr & HC_END_OF_LIST) {
return (WALK_DONE);
}
/* Make sure next element is a QH. If a TD, stop. */
! if (((((queue_head_t *)wsp->walk_data)->link_ptr) & HC_QUEUE_HEAD)
! != HC_QUEUE_HEAD) {
return (WALK_DONE);
}
/* Strip terminate etc. bits. */
wsp->walk_addr &= QH_LINK_PTR_MASK;