/* Return code 0 - driver suspended the device Error otherwise  */
static int lpfc_pci_suspend_one_s3(struct pci_dev *pdev, pm_message_t msg)
/* Return code 0 - driver suspended the device Error otherwise  */
static int lpfc_pci_suspend_one_s3(struct pci_dev *pdev, pm_message_t msg)
{
	struct Scsi_Host *shost = pci_get_drvdata(pdev);
	struct lpfc_hba *phba = ((struct lpfc_vport *)shost->hostdata)->phba;
	lpfc_printf_log(phba, KERN_INFO, LOG_INIT,
			"0473 PCI device Power Management suspend.\n");
	lpfc_offline_prep(phba);
	lpfc_offline(phba);
	kthread_stop(phba->worker_thread);
	lpfc_sli_disable_intr(phba);
	pci_save_state(pdev);
	pci_set_power_state(pdev, PCI_D3hot);
	return 0;
}