tasklet_kill(&pm8001_ha->tasklet[j]);
 #endif
        device_state = pci_choose_state(pdev, state);
-       pm8001_printk("pdev=0x%p, slot=%s, entering "
-                     "operating state [D%d]\n", pdev,
-                     pm8001_ha->name, device_state);
+       pm8001_printk(pm8001_ha, "pdev=0x%p, slot=%s, entering operating state [D%d]\n",
+                     pdev, pm8001_ha->name, device_state);
        pci_save_state(pdev);
        pci_disable_device(pdev);
        pci_set_power_state(pdev, device_state);
        pm8001_ha = sha->lldd_ha;
        device_state = pdev->current_state;
 
-       pm8001_printk("pdev=0x%p, slot=%s, resuming from previous "
-               "operating state [D%d]\n", pdev, pm8001_ha->name, device_state);
+       pm8001_printk(pm8001_ha, "pdev=0x%p, slot=%s, resuming from previous operating state [D%d]\n",
+                     pdev, pm8001_ha->name, device_state);
 
        pci_set_power_state(pdev, PCI_D0);
        pci_enable_wake(pdev, PCI_D0, 0);
        pci_restore_state(pdev);
        rc = pci_enable_device(pdev);
        if (rc) {
-               pm8001_printk("slot=%s Enable device failed during resume\n",
+               pm8001_printk(pm8001_ha, "slot=%s Enable device failed during resume\n",
                              pm8001_ha->name);
                goto err_out_enable;
        }
 
        phy_id = pm8001_dev->attached_phy;
        ret = pm8001_find_tag(task, &tag);
        if (ret == 0) {
-               pm8001_printk("no tag for task:%p\n", task);
+               pm8001_printk(pm8001_ha, "no tag for task:%p\n", task);
                return TMF_RESP_FUNC_FAILED;
        }
        spin_lock_irqsave(&task->task_state_lock, flags);
                task->slow_task = NULL;
        spin_unlock_irqrestore(&task->task_state_lock, flags);
        if (rc != TMF_RESP_FUNC_COMPLETE)
-               pm8001_printk("rc= %d\n", rc);
+               pm8001_printk(pm8001_ha, "rc= %d\n", rc);
        return rc;
 }
 
 
 #define PM8001_DEVIO_LOGGING   0x100 /* development io message logging */
 #define PM8001_IOERR_LOGGING   0x200 /* development io err message logging */
 
-#define pm8001_printk(fmt, ...)                                                \
+#define pm8001_printk(HBA, fmt, ...)                                   \
        pr_info("%s:: %s  %d:" fmt,                                     \
-               pm8001_ha->name, __func__, __LINE__, ##__VA_ARGS__)
+               (HBA)->name, __func__, __LINE__, ##__VA_ARGS__)
 
 #define pm8001_dbg(HBA, level, fmt, ...)                               \
 do {                                                                   \
        if (unlikely((HBA)->logging_level & PM8001_##level##_LOGGING))  \
-               pm8001_printk(fmt, ##__VA_ARGS__);                      \
+               pm8001_printk(HBA, fmt, ##__VA_ARGS__);                 \
 } while (0)
 
 #define PM8001_USE_TASKLET