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); }