From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751965AbcBAIR4 (ORCPT ); Mon, 1 Feb 2016 03:17:56 -0500 Received: from mail-bl2on0129.outbound.protection.outlook.com ([65.55.169.129]:35552 "EHLO na01-bl2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751233AbcBAIRy convert rfc822-to-8bit (ORCPT ); Mon, 1 Feb 2016 03:17:54 -0500 From: Nilesh Javali To: Arnd Bergmann , "Martin K. Petersen" , "James.Bottomley@HansenPartnership.com" CC: "linux-arm-kernel@lists.infradead.org" , linux-scsi , "James E.J. Bottomley" , Dept-Eng QLogic Storage Upstream , linux-kernel Subject: Re: [PATCH 5/7] scsi: qla4xxx: shut up warning for rd_reg_indirect Thread-Topic: [PATCH 5/7] scsi: qla4xxx: shut up warning for rd_reg_indirect Thread-Index: AQHRWRuvLhsy7PwnYUi/bZxyu67PqJ8XPAqA Date: Mon, 1 Feb 2016 08:17:48 +0000 Message-ID: References: <1453910247-3447628-1-git-send-email-arnd@arndb.de> <1453910247-3447628-6-git-send-email-arnd@arndb.de> In-Reply-To: <1453910247-3447628-6-git-send-email-arnd@arndb.de> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: user-agent: Microsoft-MacOutlook/14.5.9.151119 authentication-results: arndb.de; dkim=none (message not signed) header.d=none;arndb.de; dmarc=none action=none header.from=qlogic.com; x-ms-exchange-messagesentrepresentingtype: 1 x-originating-ip: [114.143.185.87] x-microsoft-exchange-diagnostics: 1;CO2PR11MB0054;5:I+Da1pS8Bsc1ExPi7sT0MD3Yt2uMLBOp7U0423yiD6wdapcfhw+opAjPfPgHKLYXNTMVxuGaArGvSuiadmbfVTaLN4vCCMmGaGl7FXEMWHLqbW5EwWp43IYaAKAE0USF8jhidPnOOPcxh21a6/phMw==;24:dDNk2npiwf7BhGmMCIyObuN59ZC+/Fnq7DzRv2dlDwHA22/yV0Ra3IN3SW2lOm/l2Rg7GdTUDB17z6zR9039UWsFRkUVpT+2SqULeRs8dcE=;20:W/SF3h68lTJekmuGBhEgqxj1UoOkNraom9eKQ8GXFGsAx1gMTKaD1Gv4oJb/ijLLnrNtqOnG4xrn35YEwSuDF1ecoM2xCD8t94+2Kypc/ktCQeZPi0txu2hKxG6RKLZHYekdRZL873OBoDVEPLXZyhjIXMayc7PwpDlkJlF21fg= x-microsoft-antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:CO2PR11MB0054; x-ms-office365-filtering-correlation-id: 56321508-bf68-41be-2c11-08d32ae02c44 x-ld-processed: 0d68a1f9-1490-4d0e-8767-a87dab3ef2ba,ExtAddr x-microsoft-antispam-prvs: x-exchange-antispam-report-test: UriScan:; x-exchange-antispam-report-cfa-test: BCL:0;PCL:0;RULEID:(601004)(2401047)(5005006)(8121501046)(3002001)(10201501046);SRVR:CO2PR11MB0054;BCL:0;PCL:0;RULEID:;SRVR:CO2PR11MB0054; x-forefront-prvs: 0839D067E7 x-forefront-antispam-report: SFV:NSPM;SFS:(10019020)(6009001)(24454002)(479174004)(377454003)(36756003)(2501003)(50986999)(76176999)(3280700002)(54356999)(19580405001)(19580395003)(92566002)(2906002)(99286002)(106116001)(3470700001)(4326007)(10400500002)(102836003)(66066001)(77096005)(83506001)(3660700001)(5001770100001)(86362001)(1220700001)(4001350100001)(3846002)(189998001)(87936001)(2950100001)(5002640100001)(586003)(5004730100002)(40100003)(1096002)(5001960100002)(11100500001)(5008740100001)(122556002)(32563001);DIR:OUT;SFP:1102;SCL:1;SRVR:CO2PR11MB0054;H:CO2PR11MB0054.namprd11.prod.outlook.com;FPR:;SPF:None;MLV:sfv;LANG:en; spamdiagnosticoutput: 1:23 spamdiagnosticmetadata: NSPM Content-Type: text/plain; charset="us-ascii" Content-ID: <618D1F2A08DBE04C96EE41CC04D050D6@namprd11.prod.outlook.com> Content-Transfer-Encoding: 8BIT MIME-Version: 1.0 X-OriginatorOrg: qlogic.com X-MS-Exchange-CrossTenant-originalarrivaltime: 01 Feb 2016 08:17:48.5890 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 0d68a1f9-1490-4d0e-8767-a87dab3ef2ba X-MS-Exchange-Transport-CrossTenantHeadersStamped: CO2PR11MB0054 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 27/01/16 9:27 PM, "Arnd Bergmann" wrote: >The qla4_83xx_rd_reg_indirect() function can fail when it is unable >to read a register, but not all callers check its return value before >using the register data, and gcc correctly warns about this: > >qla4xxx/ql4_83xx.c: In function 'qla4_83xx_process_reset_template': >qla4xxx/ql4_83xx.c:1073:36: warning: 'value' may be used uninitialized in >this function > ha->reset_tmplt.array[index++] = value; > ^ >qla4xxx/ql4_83xx.c:1050:11: note: 'value' was declared here > uint32_t value; > ^ >qla4xxx/ql4_83xx.c:902:8: warning: 'value' may be used uninitialized in >this function > value &= p_rmw_hdr->test_mask; > ^ >qla4xxx/ql4_83xx.c:895:11: note: 'value' was declared here > uint32_t value; > ^ >In file included from ../include/linux/io.h:25:0, > from ../include/linux/pci.h:31, > from ../drivers/scsi/qla4xxx/ql4_def.h:16, > from ../drivers/scsi/qla4xxx/ql4_83xx.c:10: >asm/io.h:101:2: warning: 'value' may be used uninitialized in this >function > asm volatile("str %1, %0" > ^ >qla4xxx/ql4_83xx.c:874:11: note: 'value' was declared here > uint32_t value; > ^ > >Unfortunately, I don't see any helpful way to add proper error handling >for this case, and the failure scenario for rd_reg seems rather obscure, >so this bails out and makes the rd_reg accessor set the result to >0xffffffff >so we at least get a predictable value. > >Signed-off-by: Arnd Bergmann >--- > drivers/scsi/qla4xxx/ql4_83xx.c | 6 ++++-- > 1 file changed, 4 insertions(+), 2 deletions(-) > >diff --git a/drivers/scsi/qla4xxx/ql4_83xx.c >b/drivers/scsi/qla4xxx/ql4_83xx.c >index 5d4f8e67fb25..638f72c5ab05 100644 >--- a/drivers/scsi/qla4xxx/ql4_83xx.c >+++ b/drivers/scsi/qla4xxx/ql4_83xx.c >@@ -46,11 +46,13 @@ int qla4_83xx_rd_reg_indirect(struct scsi_qla_host >*ha, uint32_t addr, > > ret_val = qla4_83xx_set_win_base(ha, addr); > >- if (ret_val == QLA_SUCCESS) >+ if (ret_val == QLA_SUCCESS) { > *data = qla4_83xx_rd_reg(ha, QLA83XX_WILDCARD); >- else >+ } else { >+ *data = 0xffffffff; > ql4_printk(KERN_ERR, ha, "%s: failed read of addr 0x%x!\n", > __func__, addr); >+ } > > return ret_val; > } >-- >2.7.0 > Acked-by: Nilesh Javali