\r
AL_ENTER( AL_DBG_PNP );\r
\r
- for( p_item = cl_fmap_head( &p_results->iou_map );\r
- p_item != cl_fmap_end( &p_results->iou_map );\r
- p_item = cl_fmap_next( p_item ) )\r
+ p_item = cl_fmap_head( &p_results->iou_map );\r
+ while( p_item != cl_fmap_end( &p_results->iou_map ) )\r
{\r
p_iou = PARENT_STRUCT( p_item, iou_node_t, map_item );\r
CL_ASSERT( p_iou->info.max_controllers );\r
CL_ASSERT( cl_fmap_count( &p_iou->path_map ) );\r
CL_ASSERT( p_iou->p_config_path );\r
+ p_item = cl_fmap_next( p_item );\r
\r
+ p_mad = NULL;\r
for( slot = 1; slot <= p_iou->info.max_controllers; slot++ )\r
{\r
if( ioc_at_slot( &p_iou->info, slot ) == IOC_INSTALLED )\r
cl_atomic_inc( &p_results->p_svc->query_cnt );\r
}\r
}\r
+ if( !p_mad )\r
+ {\r
+ /* No IOCs installed in this IOU, or failed to get MAD. */\r
+ cl_fmap_remove_item( &p_results->iou_map, &p_iou->map_item );\r
+ __put_iou( gp_ioc_pnp, p_iou );\r
+ }\r
}\r
\r
/* Trap the case where there are no queries to send. */\r