pm80xx: IButton feature support for motherboard controllers.
Subsystems (2)
PATCH v3 8/10 pm80xx: IButton feature support for motherboard controllers.
Quoted 1 line
From
c7a47a0376361a82ff1c67b3af6c23c9191266d6Mon Sep 17 00:00:00 2001
From: Anand Kumar Santhanam <[email protected]>
Date: Tue, 17 Sep 2013 14:32:20 +0530
Subject: [PATCH V3 08/10] pm80xx: IButton feature support for motherboard controllers.
IButton security feature support for motherboard controllers.
Signed-off-by [email protected]
Reviewed-by Jack Wang <[email protected]>
--- drivers/scsi/pm8001/pm80xx_hwi.c | 23 ++++++++++++++++++++++- 1 files changed, 22 insertions(+), 1 deletions(-)
drivers/scsi/pm8001/pm80xx_hwi.c +22 -1
@@ -967,6 +967,7 @@ pm80xx_chip_soft_rst(struct pm8001_hba_info *pm8001_ha) {u32 regval;u32 bootloader_state; +u32 ibutton0, ibutton1;/* Check if MPI is in ready state to reset */ if (mpi_uninit_check (pm8001_ha) !=0 ) {
@@ -1025,7 +1026,27 @@ pm80xx_chip_soft_rst(struct pm8001_hba_info *pm8001_ha)if (-1 ==check_fw_ready (pm8001_ha)) {PM8001_FAIL_DBG (pm8001_ha,pm8001_printk ("Firmware is not ready!\n" )); -return -EBUSY ; +/* check iButton feature support for motherboard controller */ +if (pm8001_ha->pdev->subsystem_vendor != +PCI_VENDOR_ID_ADAPTEC2 && + pm8001_ha->pdev->subsystem_vendor !=0 ) { + ibutton0 =pm8001_cr32 (pm8001_ha,0 , +MSGU_HOST_SCRATCH_PAD_6 ); + ibutton1 =pm8001_cr32 (pm8001_ha,0 , +MSGU_HOST_SCRATCH_PAD_7 ); +if (!ibutton0 && !ibutton1) { +PM8001_FAIL_DBG (pm8001_ha, +pm8001_printk ("iButton Feature is" +" not Available!!!\n" )); +return -EBUSY ; + } +if (ibutton0 ==0xdeadbeef && ibutton1 ==0xdeadbeef ) { +PM8001_FAIL_DBG (pm8001_ha, +pm8001_printk ("CRC Check for iButton" +" Feature Failed!!!\n" )); +return -EBUSY ; + } + } }PM8001_INIT_DBG (pm8001_ha,pm8001_printk ("SPCv soft reset Complete\n" ));
Signature · 1 line
1.7.1