Print this page
5047 don't use atomic_*_nv if you discard the return value
*** 1158,1168 ****
/* By this time rport_handle is valid */
if ((irp->irp_flags & IRP_HANDLE_OPENED) == 0) {
iport->iport_rp_slots[rp->rp_handle] = irp;
atomic_or_32(&irp->irp_flags, IRP_HANDLE_OPENED);
}
! (void) atomic_inc_64_nv(&iport->iport_last_change);
fct_log_remote_port_event(port, ESC_SUNFC_TARGET_ADD,
rp->rp_pwwn, rp->rp_id);
register_rp_done:;
rw_exit(&irp->irp_lock);
--- 1158,1168 ----
/* By this time rport_handle is valid */
if ((irp->irp_flags & IRP_HANDLE_OPENED) == 0) {
iport->iport_rp_slots[rp->rp_handle] = irp;
atomic_or_32(&irp->irp_flags, IRP_HANDLE_OPENED);
}
! atomic_inc_64(&iport->iport_last_change);
fct_log_remote_port_event(port, ESC_SUNFC_TARGET_ADD,
rp->rp_pwwn, rp->rp_id);
register_rp_done:;
rw_exit(&irp->irp_lock);
*** 1203,1213 ****
if (irp->irp_flags & IRP_HANDLE_OPENED) {
atomic_and_32(&irp->irp_flags, ~IRP_HANDLE_OPENED);
iport->iport_rp_slots[rp->rp_handle] = NULL;
}
! (void) atomic_inc_64_nv(&iport->iport_last_change);
fct_log_remote_port_event(port, ESC_SUNFC_TARGET_REMOVE,
rp->rp_pwwn, rp->rp_id);
return (FCT_SUCCESS);
}
--- 1203,1213 ----
if (irp->irp_flags & IRP_HANDLE_OPENED) {
atomic_and_32(&irp->irp_flags, ~IRP_HANDLE_OPENED);
iport->iport_rp_slots[rp->rp_handle] = NULL;
}
! atomic_inc_64(&iport->iport_last_change);
fct_log_remote_port_event(port, ESC_SUNFC_TARGET_REMOVE,
rp->rp_pwwn, rp->rp_id);
return (FCT_SUCCESS);
}