hba = shost_priv(sdev->host);
        down(&hba->host_sem);
+       hba->system_suspending = true;
 
        if (pm_runtime_suspended(dev))
                goto out;
                hba->curr_dev_pwr_mode, hba->uic_link_state);
        if (!ret)
                hba->is_sys_suspended = false;
+       hba->system_suspending = false;
        up(&hba->host_sem);
        return ret;
 }
 
  * @caps: bitmask with information about UFS controller capabilities
  * @devfreq: frequency scaling information owned by the devfreq core
  * @clk_scaling: frequency scaling information owned by the UFS driver
- * @is_sys_suspended: whether or not the entire system has been suspended
+ * @system_suspending: system suspend has been started and system resume has
+ *     not yet finished.
+ * @is_sys_suspended: UFS device has been suspended because of system suspend
  * @urgent_bkops_lvl: keeps track of urgent bkops level for device
  * @is_urgent_bkops_lvl_checked: keeps track if the urgent bkops level for
  *  device is known or not.
 
        struct devfreq *devfreq;
        struct ufs_clk_scaling clk_scaling;
+       bool system_suspending;
        bool is_sys_suspended;
 
        enum bkops_status urgent_bkops_lvl;