Re: [PATCH V3 1/2] pm80xx : Support for get phy profile functionality.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Deepak,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on v5.8-rc6]
[also build test WARNING on next-20200720]
[cannot apply to mkp-scsi/for-next scsi/for-next]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]

url:    https://github.com/0day-ci/linux/commits/Deepak-Ukey/pm80xx-Updates-for-the-driver-version-0-1-39/20200720-214608
base:    ba47d845d715a010f7b51f6f89bae32845e6acb7
config: x86_64-randconfig-s022-20200719 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-14) 9.3.0
reproduce:
        # apt-get install sparse
        # sparse version: v0.6.2-49-g707c5017-dirty
        # save the attached .config to linux build tree
        make W=1 C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=x86_64 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@xxxxxxxxx>


sparse warnings: (new ones prefixed by >>)

   drivers/scsi/pm8001/pm80xx_hwi.c:81:39: sparse: sparse: incorrect type in assignment (different base types) @@     expected unsigned int [usertype] @@     got restricted __le32 [usertype] @@
   drivers/scsi/pm8001/pm80xx_hwi.c:81:39: sparse:     expected unsigned int [usertype]
   drivers/scsi/pm8001/pm80xx_hwi.c:81:39: sparse:     got restricted __le32 [usertype]
   drivers/scsi/pm8001/pm80xx_hwi.c:69:6: sparse: sparse: symbol 'pm80xx_pci_mem_copy' was not declared. Should it be static?
   drivers/scsi/pm8001/pm80xx_hwi.c:1213:27: sparse: sparse: incorrect type in assignment (different base types) @@     expected restricted __le32 @@     got unsigned int @@
   drivers/scsi/pm8001/pm80xx_hwi.c:1213:27: sparse:     expected restricted __le32
   drivers/scsi/pm8001/pm80xx_hwi.c:1213:27: sparse:     got unsigned int
   drivers/scsi/pm8001/pm80xx_hwi.c:1215:27: sparse: sparse: incorrect type in assignment (different base types) @@     expected restricted __le32 @@     got int @@
   drivers/scsi/pm8001/pm80xx_hwi.c:1215:27: sparse:     expected restricted __le32
   drivers/scsi/pm8001/pm80xx_hwi.c:1215:27: sparse:     got int
   drivers/scsi/pm8001/pm80xx_hwi.c:1255:39: sparse: sparse: incorrect type in assignment (different base types) @@     expected restricted __le32 [addressable] [usertype] pageCode @@     got int @@
   drivers/scsi/pm8001/pm80xx_hwi.c:1255:39: sparse:     expected restricted __le32 [addressable] [usertype] pageCode
   drivers/scsi/pm8001/pm80xx_hwi.c:1255:39: sparse:     got int
   drivers/scsi/pm8001/pm80xx_hwi.c:1256:39: sparse: sparse: incorrect type in assignment (different base types) @@     expected restricted __le32 [addressable] [usertype] MST_MSI @@     got int @@
   drivers/scsi/pm8001/pm80xx_hwi.c:1256:39: sparse:     expected restricted __le32 [addressable] [usertype] MST_MSI
   drivers/scsi/pm8001/pm80xx_hwi.c:1256:39: sparse:     got int
   drivers/scsi/pm8001/pm80xx_hwi.c:1257:39: sparse: sparse: incorrect type in assignment (different base types) @@     expected restricted __le32 [addressable] [usertype] STP_SSP_MCT_TMO @@     got int @@
   drivers/scsi/pm8001/pm80xx_hwi.c:1257:39: sparse:     expected restricted __le32 [addressable] [usertype] STP_SSP_MCT_TMO
   drivers/scsi/pm8001/pm80xx_hwi.c:1257:39: sparse:     got int
   drivers/scsi/pm8001/pm80xx_hwi.c:1258:39: sparse: sparse: incorrect type in assignment (different base types) @@     expected restricted __le32 [addressable] [usertype] STP_FRM_TMO @@     got int @@
   drivers/scsi/pm8001/pm80xx_hwi.c:1258:39: sparse:     expected restricted __le32 [addressable] [usertype] STP_FRM_TMO
   drivers/scsi/pm8001/pm80xx_hwi.c:1258:39: sparse:     got int
   drivers/scsi/pm8001/pm80xx_hwi.c:1260:39: sparse: sparse: incorrect type in assignment (different base types) @@     expected restricted __le32 [addressable] [usertype] STP_IDLE_TMO @@     got int @@
   drivers/scsi/pm8001/pm80xx_hwi.c:1260:39: sparse:     expected restricted __le32 [addressable] [usertype] STP_IDLE_TMO
   drivers/scsi/pm8001/pm80xx_hwi.c:1260:39: sparse:     got int
   drivers/scsi/pm8001/pm80xx_hwi.c:1262:26: sparse: sparse: restricted __le32 degrades to integer
   drivers/scsi/pm8001/pm80xx_hwi.c:1263:44: sparse: sparse: incorrect type in assignment (different base types) @@     expected restricted __le32 [addressable] [usertype] STP_IDLE_TMO @@     got int @@
   drivers/scsi/pm8001/pm80xx_hwi.c:1263:44: sparse:     expected restricted __le32 [addressable] [usertype] STP_IDLE_TMO
   drivers/scsi/pm8001/pm80xx_hwi.c:1263:44: sparse:     got int
   drivers/scsi/pm8001/pm80xx_hwi.c:1266:41: sparse: sparse: incorrect type in assignment (different base types) @@     expected restricted __le32 [addressable] [usertype] OPNRJT_RTRY_INTVL @@     got int @@
   drivers/scsi/pm8001/pm80xx_hwi.c:1266:41: sparse:     expected restricted __le32 [addressable] [usertype] OPNRJT_RTRY_INTVL
   drivers/scsi/pm8001/pm80xx_hwi.c:1266:41: sparse:     got int
   drivers/scsi/pm8001/pm80xx_hwi.c:1268:48: sparse: sparse: incorrect type in assignment (different base types) @@     expected restricted __le32 [addressable] [usertype] Data_Cmd_OPNRJT_RTRY_TMO @@     got int @@
   drivers/scsi/pm8001/pm80xx_hwi.c:1268:48: sparse:     expected restricted __le32 [addressable] [usertype] Data_Cmd_OPNRJT_RTRY_TMO
   drivers/scsi/pm8001/pm80xx_hwi.c:1268:48: sparse:     got int
   drivers/scsi/pm8001/pm80xx_hwi.c:1270:48: sparse: sparse: incorrect type in assignment (different base types) @@     expected restricted __le32 [addressable] [usertype] Data_Cmd_OPNRJT_RTRY_THR @@     got int @@
   drivers/scsi/pm8001/pm80xx_hwi.c:1270:48: sparse:     expected restricted __le32 [addressable] [usertype] Data_Cmd_OPNRJT_RTRY_THR
   drivers/scsi/pm8001/pm80xx_hwi.c:1270:48: sparse:     got int
   drivers/scsi/pm8001/pm80xx_hwi.c:1272:31: sparse: sparse: incorrect type in assignment (different base types) @@     expected restricted __le32 [addressable] [usertype] MAX_AIP @@     got int @@
   drivers/scsi/pm8001/pm80xx_hwi.c:1272:31: sparse:     expected restricted __le32 [addressable] [usertype] MAX_AIP
   drivers/scsi/pm8001/pm80xx_hwi.c:1272:31: sparse:     got int
   drivers/scsi/pm8001/pm80xx_hwi.c:1425:33: sparse: sparse: incorrect type in assignment (different base types) @@     expected restricted __le32 [addressable] [assigned] [usertype] new_curidx_ksop @@     got int @@
   drivers/scsi/pm8001/pm80xx_hwi.c:1425:33: sparse:     expected restricted __le32 [addressable] [assigned] [usertype] new_curidx_ksop
   drivers/scsi/pm8001/pm80xx_hwi.c:1425:33: sparse:     got int
   drivers/scsi/pm8001/pm80xx_hwi.c:1869:40: sparse: sparse: invalid assignment: |=
   drivers/scsi/pm8001/pm80xx_hwi.c:1869:40: sparse:    left side has type restricted __le32
   drivers/scsi/pm8001/pm80xx_hwi.c:1869:40: sparse:    right side has type int
   drivers/scsi/pm8001/pm80xx_hwi.c:3037:63: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned long long [usertype] address @@     got restricted __le64 [usertype] @@
   drivers/scsi/pm8001/pm80xx_hwi.c:3037:63: sparse:     expected unsigned long long [usertype] address
   drivers/scsi/pm8001/pm80xx_hwi.c:3037:63: sparse:     got restricted __le64 [usertype]
   drivers/scsi/pm8001/pm80xx_hwi.c:3828:35: sparse: sparse: restricted __le32 degrades to integer
>> drivers/scsi/pm8001/pm80xx_hwi.c:3849:46: sparse: sparse: cast to restricted __le32
   drivers/scsi/pm8001/pm80xx_hwi.c:3851:41: sparse: sparse: cast to restricted __le32
   drivers/scsi/pm8001/pm80xx_hwi.c:3852:43: sparse: sparse: cast to restricted __le32
   drivers/scsi/pm8001/pm80xx_hwi.c:3853:43: sparse: sparse: cast to restricted __le32
   drivers/scsi/pm8001/pm80xx_hwi.c:3854:47: sparse: sparse: cast to restricted __le32
   drivers/scsi/pm8001/pm80xx_hwi.c:3855:44: sparse: sparse: cast to restricted __le32
   drivers/scsi/pm8001/pm80xx_hwi.c:3861:25: sparse: sparse: cast to restricted __le32
   drivers/scsi/pm8001/pm80xx_hwi.c:3863:25: sparse: sparse: cast to restricted __le32
   drivers/scsi/pm8001/pm80xx_hwi.c:3865:25: sparse: sparse: cast to restricted __le32
   drivers/scsi/pm8001/pm80xx_hwi.c:3867:25: sparse: sparse: cast to restricted __le32
   drivers/scsi/pm8001/pm80xx_hwi.c:4359:46: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned long long [usertype] address @@     got restricted __le64 [assigned] [usertype] tmp_addr @@
   drivers/scsi/pm8001/pm80xx_hwi.c:4359:46: sparse:     expected unsigned long long [usertype] address
   drivers/scsi/pm8001/pm80xx_hwi.c:4359:46: sparse:     got restricted __le64 [assigned] [usertype] tmp_addr
   drivers/scsi/pm8001/pm80xx_hwi.c:4534:36: sparse: sparse: incorrect type in assignment (different base types) @@     expected unsigned long long [usertype] start_addr @@     got restricted __le64 [usertype] @@
   drivers/scsi/pm8001/pm80xx_hwi.c:4534:36: sparse:     expected unsigned long long [usertype] start_addr
   drivers/scsi/pm8001/pm80xx_hwi.c:4534:36: sparse:     got restricted __le64 [usertype]
   drivers/scsi/pm8001/pm80xx_hwi.c:4535:57: sparse: sparse: restricted __le32 degrades to integer
   drivers/scsi/pm8001/pm80xx_hwi.c:4536:38: sparse: sparse: incorrect type in assignment (different base types) @@     expected unsigned int [usertype] end_addr_low @@     got restricted __le32 [usertype] @@
   drivers/scsi/pm8001/pm80xx_hwi.c:4536:38: sparse:     expected unsigned int [usertype] end_addr_low
   drivers/scsi/pm8001/pm80xx_hwi.c:4536:38: sparse:     got restricted __le32 [usertype]
   drivers/scsi/pm8001/pm80xx_hwi.c:4537:39: sparse: sparse: incorrect type in assignment (different base types) @@     expected unsigned int [usertype] end_addr_high @@     got restricted __le32 [usertype] @@
   drivers/scsi/pm8001/pm80xx_hwi.c:4537:39: sparse:     expected unsigned int [usertype] end_addr_high
   drivers/scsi/pm8001/pm80xx_hwi.c:4537:39: sparse:     got restricted __le32 [usertype]
   drivers/scsi/pm8001/pm80xx_hwi.c:4538:53: sparse: sparse: restricted __le32 degrades to integer
   drivers/scsi/pm8001/pm80xx_hwi.c:4564:35: sparse: sparse: incorrect type in assignment (different base types) @@     expected restricted __le32 [addressable] [assigned] [usertype] key_cmode @@     got int @@
   drivers/scsi/pm8001/pm80xx_hwi.c:4564:35: sparse:     expected restricted __le32 [addressable] [assigned] [usertype] key_cmode
   drivers/scsi/pm8001/pm80xx_hwi.c:4564:35: sparse:     got int
   drivers/scsi/pm8001/pm80xx_hwi.c:4593:36: sparse: sparse: incorrect type in assignment (different base types) @@     expected unsigned long long [usertype] start_addr @@     got restricted __le64 [usertype] @@
   drivers/scsi/pm8001/pm80xx_hwi.c:4593:36: sparse:     expected unsigned long long [usertype] start_addr
   drivers/scsi/pm8001/pm80xx_hwi.c:4593:36: sparse:     got restricted __le64 [usertype]
   drivers/scsi/pm8001/pm80xx_hwi.c:4594:57: sparse: sparse: restricted __le32 degrades to integer
   drivers/scsi/pm8001/pm80xx_hwi.c:4595:38: sparse: sparse: incorrect type in assignment (different base types) @@     expected unsigned int [usertype] end_addr_low @@     got restricted __le32 [usertype] @@
   drivers/scsi/pm8001/pm80xx_hwi.c:4595:38: sparse:     expected unsigned int [usertype] end_addr_low
   drivers/scsi/pm8001/pm80xx_hwi.c:4595:38: sparse:     got restricted __le32 [usertype]
   drivers/scsi/pm8001/pm80xx_hwi.c:4596:39: sparse: sparse: incorrect type in assignment (different base types) @@     expected unsigned int [usertype] end_addr_high @@     got restricted __le32 [usertype] @@
   drivers/scsi/pm8001/pm80xx_hwi.c:4596:39: sparse:     expected unsigned int [usertype] end_addr_high
   drivers/scsi/pm8001/pm80xx_hwi.c:4596:39: sparse:     got restricted __le32 [usertype]
   drivers/scsi/pm8001/pm80xx_hwi.c:4597:53: sparse: sparse: restricted __le32 degrades to integer
   drivers/scsi/pm8001/pm80xx_hwi.c:4701:47: sparse: sparse: incorrect type in assignment (different base types) @@     expected restricted __le32 [addressable] [assigned] [usertype] enc_addr_low @@     got unsigned int [usertype] @@
   drivers/scsi/pm8001/pm80xx_hwi.c:4701:47: sparse:     expected restricted __le32 [addressable] [assigned] [usertype] enc_addr_low
   drivers/scsi/pm8001/pm80xx_hwi.c:4701:47: sparse:     got unsigned int [usertype]
   drivers/scsi/pm8001/pm80xx_hwi.c:4702:48: sparse: sparse: incorrect type in assignment (different base types) @@     expected restricted __le32 [addressable] [assigned] [usertype] enc_addr_high @@     got unsigned int [usertype] @@
   drivers/scsi/pm8001/pm80xx_hwi.c:4702:48: sparse:     expected restricted __le32 [addressable] [assigned] [usertype] enc_addr_high
   drivers/scsi/pm8001/pm80xx_hwi.c:4702:48: sparse:     got unsigned int [usertype]
   drivers/scsi/pm8001/pm80xx_hwi.c:4706:47: sparse: sparse: incorrect type in assignment (different base types) @@     expected restricted __le32 [addressable] [assigned] [usertype] enc_addr_low @@     got unsigned int [usertype] @@
   drivers/scsi/pm8001/pm80xx_hwi.c:4706:47: sparse:     expected restricted __le32 [addressable] [assigned] [usertype] enc_addr_low
   drivers/scsi/pm8001/pm80xx_hwi.c:4706:47: sparse:     got unsigned int [usertype]
   drivers/scsi/pm8001/pm80xx_hwi.c:4707:48: sparse: sparse: incorrect type in assignment (different base types) @@     expected restricted __le32 [addressable] [assigned] [usertype] enc_addr_high @@     got unsigned int [usertype] @@
   drivers/scsi/pm8001/pm80xx_hwi.c:4707:48: sparse:     expected restricted __le32 [addressable] [assigned] [usertype] enc_addr_high
   drivers/scsi/pm8001/pm80xx_hwi.c:4707:48: sparse:     got unsigned int [usertype]
   drivers/scsi/pm8001/pm80xx_hwi.c:4711:36: sparse: sparse: incorrect type in assignment (different base types) @@     expected unsigned long long [usertype] start_addr @@     got restricted __le64 [usertype] @@
   drivers/scsi/pm8001/pm80xx_hwi.c:4711:36: sparse:     expected unsigned long long [usertype] start_addr
   drivers/scsi/pm8001/pm80xx_hwi.c:4711:36: sparse:     got restricted __le64 [usertype]
   drivers/scsi/pm8001/pm80xx_hwi.c:4712:58: sparse: sparse: restricted __le32 degrades to integer
   drivers/scsi/pm8001/pm80xx_hwi.c:4713:38: sparse: sparse: incorrect type in assignment (different base types) @@     expected unsigned int [usertype] end_addr_low @@     got restricted __le32 [usertype] @@
   drivers/scsi/pm8001/pm80xx_hwi.c:4713:38: sparse:     expected unsigned int [usertype] end_addr_low
   drivers/scsi/pm8001/pm80xx_hwi.c:4713:38: sparse:     got restricted __le32 [usertype]
   drivers/scsi/pm8001/pm80xx_hwi.c:4714:39: sparse: sparse: incorrect type in assignment (different base types) @@     expected unsigned int [usertype] end_addr_high @@     got restricted __le32 [usertype] @@
   drivers/scsi/pm8001/pm80xx_hwi.c:4714:39: sparse:     expected unsigned int [usertype] end_addr_high
   drivers/scsi/pm8001/pm80xx_hwi.c:4714:39: sparse:     got restricted __le32 [usertype]
   drivers/scsi/pm8001/pm80xx_hwi.c:4715:54: sparse: sparse: restricted __le32 degrades to integer
   drivers/scsi/pm8001/pm80xx_hwi.c:4728:55: sparse: sparse: incorrect type in assignment (different base types) @@     expected restricted __le32 [addressable] [assigned] [usertype] enc_addr_low @@     got unsigned int [usertype] @@
   drivers/scsi/pm8001/pm80xx_hwi.c:4728:55: sparse:     expected restricted __le32 [addressable] [assigned] [usertype] enc_addr_low
   drivers/scsi/pm8001/pm80xx_hwi.c:4728:55: sparse:     got unsigned int [usertype]
   drivers/scsi/pm8001/pm80xx_hwi.c:4730:56: sparse: sparse: incorrect type in assignment (different base types) @@     expected restricted __le32 [addressable] [assigned] [usertype] enc_addr_high @@     got unsigned int [usertype] @@
   drivers/scsi/pm8001/pm80xx_hwi.c:4730:56: sparse:     expected restricted __le32 [addressable] [assigned] [usertype] enc_addr_high
   drivers/scsi/pm8001/pm80xx_hwi.c:4730:56: sparse:     got unsigned int [usertype]
   drivers/scsi/pm8001/pm80xx_hwi.c:4742:41: sparse: sparse: incorrect type in assignment (different base types) @@     expected restricted __le32 [addressable] [assigned] [usertype] key_index_mode @@     got int @@
   drivers/scsi/pm8001/pm80xx_hwi.c:4742:41: sparse:     expected restricted __le32 [addressable] [assigned] [usertype] key_index_mode
   drivers/scsi/pm8001/pm80xx_hwi.c:4742:41: sparse:     got int
   drivers/scsi/pm8001/pm80xx_hwi.c:4777:36: sparse: sparse: incorrect type in assignment (different base types) @@     expected unsigned long long [usertype] start_addr @@     got restricted __le64 [usertype] @@
   drivers/scsi/pm8001/pm80xx_hwi.c:4777:36: sparse:     expected unsigned long long [usertype] start_addr
   drivers/scsi/pm8001/pm80xx_hwi.c:4777:36: sparse:     got restricted __le64 [usertype]
   drivers/scsi/pm8001/pm80xx_hwi.c:4778:58: sparse: sparse: restricted __le32 degrades to integer
   drivers/scsi/pm8001/pm80xx_hwi.c:4779:38: sparse: sparse: incorrect type in assignment (different base types) @@     expected unsigned int [usertype] end_addr_low @@     got restricted __le32 [usertype] @@
   drivers/scsi/pm8001/pm80xx_hwi.c:4779:38: sparse:     expected unsigned int [usertype] end_addr_low
   drivers/scsi/pm8001/pm80xx_hwi.c:4779:38: sparse:     got restricted __le32 [usertype]
   drivers/scsi/pm8001/pm80xx_hwi.c:4780:39: sparse: sparse: incorrect type in assignment (different base types) @@     expected unsigned int [usertype] end_addr_high @@     got restricted __le32 [usertype] @@
   drivers/scsi/pm8001/pm80xx_hwi.c:4780:39: sparse:     expected unsigned int [usertype] end_addr_high
   drivers/scsi/pm8001/pm80xx_hwi.c:4780:39: sparse:     got restricted __le32 [usertype]
   drivers/scsi/pm8001/pm80xx_hwi.c:5109:27: sparse: sparse: incorrect type in assignment (different base types) @@     expected restricted __le32 [addressable] [assigned] [usertype] ppc_phyid @@     got unsigned int @@
   drivers/scsi/pm8001/pm80xx_hwi.c:5109:27: sparse:     expected restricted __le32 [addressable] [assigned] [usertype] ppc_phyid
   drivers/scsi/pm8001/pm80xx_hwi.c:5109:27: sparse:     got unsigned int
   drivers/scsi/pm8001/pm80xx_hwi.c:5114:37: sparse: sparse: incorrect type in assignment (different base types) @@     expected unsigned int @@     got restricted __le32 [usertype] @@
   drivers/scsi/pm8001/pm80xx_hwi.c:5114:37: sparse:     expected unsigned int
   drivers/scsi/pm8001/pm80xx_hwi.c:5114:37: sparse:     got restricted __le32 [usertype]
   drivers/scsi/pm8001/pm80xx_hwi.c:5094:6: sparse: sparse: symbol 'mpi_set_phy_profile_req' was not declared. Should it be static?
   drivers/scsi/pm8001/pm80xx_hwi.c:5154:27: sparse: sparse: incorrect type in assignment (different base types) @@     expected restricted __le32 [addressable] [assigned] [usertype] ppc_phyid @@     got unsigned int @@
   drivers/scsi/pm8001/pm80xx_hwi.c:5154:27: sparse:     expected restricted __le32 [addressable] [assigned] [usertype] ppc_phyid
   drivers/scsi/pm8001/pm80xx_hwi.c:5154:27: sparse:     got unsigned int
   drivers/scsi/pm8001/pm80xx_hwi.c:5158:37: sparse: sparse: incorrect type in assignment (different base types) @@     expected unsigned int @@     got restricted __le32 [usertype] @@
   drivers/scsi/pm8001/pm80xx_hwi.c:5158:37: sparse:     expected unsigned int
   drivers/scsi/pm8001/pm80xx_hwi.c:5158:37: sparse:     got restricted __le32 [usertype]

vim +3849 drivers/scsi/pm8001/pm80xx_hwi.c

  3811	
  3812	/**
  3813	 * mpi_get_phy_profile_resp - SPCv specific
  3814	 * @pm8001_ha: our hba card information
  3815	 * @piomb: IO message buffer
  3816	 */
  3817	static int mpi_get_phy_profile_resp(struct pm8001_hba_info *pm8001_ha,
  3818				void *piomb)
  3819	{
  3820		u32 tag, page_code;
  3821		struct phy_status *phy_status, *phy_stat;
  3822		struct phy_errcnt *phy_err, *phy_err_cnt;
  3823		struct pm8001_ccb_info *ccb;
  3824		struct get_phy_profile_resp *pPayload =
  3825			(struct get_phy_profile_resp *)(piomb + 4);
  3826		u32 status = le32_to_cpu(pPayload->status);
  3827	
  3828		page_code = (u8)((pPayload->ppc_phyid & 0xFF00) >> 8);
  3829	
  3830		PM8001_MSG_DBG(pm8001_ha,
  3831			pm8001_printk(" pm80xx_addition_functionality\n"));
  3832		if (status) {
  3833			/* status is FAILED */
  3834			PM8001_FAIL_DBG(pm8001_ha, pm8001_printk(
  3835				"mpiGetPhyProfileReq failed  with status 0x%08x\n",
  3836				status));
  3837		}
  3838	
  3839		tag = le32_to_cpu(pPayload->tag);
  3840		ccb = &pm8001_ha->ccb_info[tag];
  3841		if (ccb->completion != NULL) {
  3842			if (status) {
  3843				/* signal fail status */
  3844				memset(&ccb->resp_buf, 0xff, sizeof(ccb->resp_buf));
  3845			} else if (page_code == SAS_PHY_GENERAL_STATUS_PAGE) {
  3846				phy_status = (struct phy_status *)ccb->resp_buf;
  3847				phy_stat =
  3848				(struct phy_status *)pPayload->ppc_specific_rsp;
> 3849				phy_status->phy_id = le32_to_cpu(phy_stat->phy_id);
  3850				phy_status->phy_state =
  3851						le32_to_cpu(phy_stat->phy_state);
  3852				phy_status->plr = le32_to_cpu(phy_stat->plr);
  3853				phy_status->nlr = le32_to_cpu(phy_stat->nlr);
  3854				phy_status->port_id = le32_to_cpu(phy_stat->port_id);
  3855				phy_status->prts = le32_to_cpu(phy_stat->prts);
  3856			} else if (page_code == SAS_PHY_ERR_COUNTERS_PAGE) {
  3857				phy_err = (struct phy_errcnt *)ccb->resp_buf;
  3858				phy_err_cnt =
  3859				(struct phy_errcnt *)pPayload->ppc_specific_rsp;
  3860				phy_err->InvalidDword =
  3861				le32_to_cpu(phy_err_cnt->InvalidDword);
  3862				phy_err->runningDisparityError =
  3863				le32_to_cpu(phy_err_cnt->runningDisparityError);
  3864				phy_err->LossOfSyncDW =
  3865				le32_to_cpu(phy_err_cnt->LossOfSyncDW);
  3866				phy_err->phyResetProblem =
  3867				le32_to_cpu(phy_err_cnt->phyResetProblem);
  3868			}
  3869			complete(ccb->completion);
  3870		}
  3871		pm8001_tag_free(pm8001_ha, tag);
  3872		return 0;
  3873	}
  3874	

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx

Attachment: .config.gz
Description: application/gzip


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [SCSI Target Devel]     [Linux SCSI Target Infrastructure]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Samba]     [Device Mapper]

  Powered by Linux