diff options
Diffstat (limited to 'usr/src/uts/common/io/idm/idm_so.c')
| -rw-r--r-- | usr/src/uts/common/io/idm/idm_so.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/usr/src/uts/common/io/idm/idm_so.c b/usr/src/uts/common/io/idm/idm_so.c index bfd2cdfa71..6506591b77 100644 --- a/usr/src/uts/common/io/idm/idm_so.c +++ b/usr/src/uts/common/io/idm/idm_so.c @@ -1317,7 +1317,7 @@ idm_so_svc_port_watcher(void *arg) static idm_status_t idm_so_free_task_rsrc(idm_task_t *idt) { - idm_buf_t *idb; + idm_buf_t *idb, *next_idb; /* * There is nothing to cleanup on initiator connections @@ -1336,8 +1336,8 @@ idm_so_free_task_rsrc(idm_task_t *idt) */ mutex_enter(&idt->idt_mutex); - for (idb = list_head(&idt->idt_outbufv); idb != NULL; - idb = list_next(&idt->idt_outbufv, idb)) { + for (idb = list_head(&idt->idt_outbufv); idb != NULL; idb = next_idb) { + next_idb = list_next(&idt->idt_outbufv, idb); if (idb->idb_in_transport) { /* * idm_buf_rx_from_ini_done releases idt->idt_mutex @@ -1353,8 +1353,8 @@ idm_so_free_task_rsrc(idm_task_t *idt) } } - for (idb = list_head(&idt->idt_inbufv); idb != NULL; - idb = list_next(&idt->idt_inbufv, idb)) { + for (idb = list_head(&idt->idt_inbufv); idb != NULL; idb = next_idb) { + next_idb = list_next(&idt->idt_inbufv, idb); /* * We want to remove these items from the tx_list as well, * but knowing it's in the idt_inbufv list is not a guarantee |
