david/ipxe
david
/
ipxe
Archived
1
0
Fork 0

[arbel] Poll for link state changes while DOWN

No event is generated upon reaching INIT, so we must poll separately
for link state changes while we remain DOWN.

Signed-off-by: Michael Brown <mcb30@ipxe.org>
This commit is contained in:
Michael Brown 2010-09-16 03:28:41 +01:00
parent 14a76b5927
commit 3e8e2773de
1 changed files with 9 additions and 0 deletions

View File

@ -1451,6 +1451,15 @@ static void arbel_poll_eq ( struct ib_device *ibdev ) {
unsigned int eqe_idx_mask;
unsigned int event_type;
/* No event is generated upon reaching INIT, so we must poll
* separately for link state changes while we remain DOWN.
*/
if ( ib_is_open ( ibdev ) &&
( ibdev->port_state == IB_PORT_STATE_DOWN ) ) {
ib_smc_update ( ibdev, arbel_mad );
}
/* Poll event queue */
while ( 1 ) {
/* Look for event entry */
eqe_idx_mask = ( ARBEL_NUM_EQES - 1 );