adapter = container_of(work, struct ibmvnic_adapter, ibmvnic_reset);
 
        if (test_and_set_bit_lock(0, &adapter->resetting)) {
-               schedule_delayed_work(&adapter->ibmvnic_delayed_reset,
-                                     IBMVNIC_RESET_DELAY);
+               queue_delayed_work(system_long_wq,
+                                  &adapter->ibmvnic_delayed_reset,
+                                  IBMVNIC_RESET_DELAY);
                return;
        }
 
        list_add_tail(&rwi->list, &adapter->rwi_list);
        netdev_dbg(adapter->netdev, "Scheduling reset (reason %s)\n",
                   reset_reason_to_string(reason));
-       schedule_work(&adapter->ibmvnic_reset);
+       queue_work(system_long_wq, &adapter->ibmvnic_reset);
 
        ret = 0;
 err: