Received: by 2002:ac0:a582:0:0:0:0:0 with SMTP id m2-v6csp3630052imm; Fri, 19 Oct 2018 14:04:40 -0700 (PDT) X-Google-Smtp-Source: ACcGV60XoioX7mtzzK76x6f+lUzQxnP8Uz0B26ytRB03mCQTea10IKcnGXX3LKZbGuVJyIjqXUVp X-Received: by 2002:a65:580d:: with SMTP id g13-v6mr31873204pgr.370.1539983080259; Fri, 19 Oct 2018 14:04:40 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1539983080; cv=none; d=google.com; s=arc-20160816; b=oYcREsbgXqcnM6jVUrBiiQb+d+G+YqDMhKiP+ma40f+npaA943nT6x5eupyklT1R4g aCom6WIYivktSVGoV4gmfbiAXJcpTLH+1NSrfcY3ydSBdOB004gWwFGxL4y58zVDSfWP m8v2SzxiCTGRYz/cf8VKLYX1XLkS57o2G4Sq1OPaXMDu/C2cbxyB9FZQV7CY8e122LVK WFgxeK/FuPopU+16xRCo+ARwKjdd9RE1r2PlteDa0xDl10JPC/lpkrEQzYrZ/9alHdHx dE7sozMqygKls+f4WueKC/lJ/u+cuOia1jKA+C32214kx6YrAw4UiaLzQvwdtSZ9kNkA Rftw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:dkim-signature; bh=Zoh6txiyDi4L1dzHMfc/bmbMkgXWGspmTLUIbbiPGJg=; b=yXlnnu/bzD2WAuezDymCtZOU93JgyQgimox582ciboswF8czLnUQmyqFfBbyk4y9ww I7Jd//uuYDtrLQ+LS/e0JiJx42ZtXaMrfkMC9bG2xU3ebWvoFCVpVdiVP+ft0Bt8flLH j4EHiVGPsOPf62unbxFCBdBeRxRbqJQ/gy4su1Z1Y+MoRE73bZgCIRZXkQ6jiLiINroG E8GcRA/aqQUD7pszoXMXDVMhFGHA9fuodCepmZnScGiUaDssSZP1EsSj0TN+ZMqiSuqs 2JvomXU5HM3itsyvc2HZqsJqpnR+2tA9H+SXEbhc2uPP5Hy/5xB1abtdf71N5vme4pmO XeIg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=VT02FVOe; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id m138-v6si27192408pfd.80.2018.10.19.14.04.24; Fri, 19 Oct 2018 14:04:40 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=VT02FVOe; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726875AbeJTFLt (ORCPT + 99 others); Sat, 20 Oct 2018 01:11:49 -0400 Received: from mail-ot1-f65.google.com ([209.85.210.65]:45335 "EHLO mail-ot1-f65.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726353AbeJTFLs (ORCPT ); Sat, 20 Oct 2018 01:11:48 -0400 Received: by mail-ot1-f65.google.com with SMTP id u22so34470130ota.12; Fri, 19 Oct 2018 14:04:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=Zoh6txiyDi4L1dzHMfc/bmbMkgXWGspmTLUIbbiPGJg=; b=VT02FVOegNPss1UybztqF3wOm8c8XaTaYZVkZOXuO4Pw5cjP9bLftyGXb+FU/0oeOC lFvVuiXHdHyvx+HBf7KZlmU7GU7PSh1MX/h8Y50DEtrSAPRjeJqI97UwkQeo3KMUgod+ Y1CuPqw+oTlnsBBqoDX7MNgILQYKeHRN28zeRJTI9ok0HE2D5ob4H0Rd+Qmcy9CZoLPY NSjFhXTAhmF+Y0qLWAqTD9Y8/2cw519aJxffjDbaQ0611IkeuS2juKY4n15xII4Cb4b2 XWsRJOul1Y8Hm84IQ8LPTyR/eg/yMg8a2d8eqIVv6t19nDESPJEY5FV0HTKLyl1FrCUh +w3g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=Zoh6txiyDi4L1dzHMfc/bmbMkgXWGspmTLUIbbiPGJg=; b=YZTBi60G3zzlZyOApofAuuQo0Sqmv+uBs+h5LxTsgTC4AbwZxeFwI/DqGdm9xrPaz+ BJ02UG998PzaPXxTP+47RePmOxi2cKCdgzN5RuboGPx7XR4P8IlNWQMhArCzFsBTmfFb UMqpEJ7mPMvcM1leFEO2kAussgYT91uTjw37FyjJaQOYtfy/fnKztmrN47x+hoDuENA1 WoT28ZqG6Un6FP/cCbJsOQw4x14vQm9CySaw7wDW48lQ8M8aYpBQXKDzrhUyndFscRkx oJJUrcbuie/nVHr/i1SrebEYdNS414SS2rQVxOquZm3FHHkhYripjozjIG7TUVRXQLUZ lvhA== X-Gm-Message-State: ABuFfohOfi7TkputMdn+zNIRRLD081hayOVFE8DaOtUZEqg6xfOO1E8J JweoQX6LC8arAspO7+kSDHYV0RDmj0u4tXLfVwulpA== X-Received: by 2002:a9d:720e:: with SMTP id u14mr21870987otj.211.1539983042163; Fri, 19 Oct 2018 14:04:02 -0700 (PDT) MIME-Version: 1.0 References: <20181018215541.4768-1-natechancellor@gmail.com> In-Reply-To: <20181018215541.4768-1-natechancellor@gmail.com> From: adam radford Date: Fri, 19 Oct 2018 14:03:51 -0700 Message-ID: Subject: Re: [PATCH] scsi: 3w-{sas,9xxx}: Use unsigned char for cdb To: Nathan Chancellor Cc: "James E.J. Bottomley" , "Martin K. Petersen" , linux-scsi , linux-kernel Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, Oct 18, 2018 at 2:55 PM Nathan Chancellor wrote: > > Clang warns a few times: > > drivers/scsi/3w-sas.c:386:11: warning: implicit conversion from 'int' to > 'char' changes value from 128 to -128 [-Wconstant-conversion] > cdb[4] = TW_ALLOCATION_LENGTH; /* allocation length */ > ~ ^~~~~~~~~~~~~~~~~~~~ > > Update cdb's type to unsigned char, which matches the type of the cdb > member in struct TW_Command_Apache. > > Link: https://github.com/ClangBuiltLinux/linux/issues/158 > Signed-off-by: Nathan Chancellor > --- > drivers/scsi/3w-9xxx.c | 12 ++++++++---- > drivers/scsi/3w-sas.c | 8 +++++--- > 2 files changed, 13 insertions(+), 7 deletions(-) > > diff --git a/drivers/scsi/3w-9xxx.c b/drivers/scsi/3w-9xxx.c > index 05293babb031..2d655a97b959 100644 > --- a/drivers/scsi/3w-9xxx.c > +++ b/drivers/scsi/3w-9xxx.c > @@ -143,7 +143,9 @@ static int twa_poll_status_gone(TW_Device_Extension *tw_dev, u32 flag, int secon > static int twa_post_command_packet(TW_Device_Extension *tw_dev, int request_id, char internal); > static int twa_reset_device_extension(TW_Device_Extension *tw_dev); > static int twa_reset_sequence(TW_Device_Extension *tw_dev, int soft_reset); > -static int twa_scsiop_execute_scsi(TW_Device_Extension *tw_dev, int request_id, char *cdb, int use_sg, TW_SG_Entry *sglistarg); > +static int twa_scsiop_execute_scsi(TW_Device_Extension *tw_dev, int request_id, > + unsigned char *cdb, int use_sg, > + TW_SG_Entry *sglistarg); > static void twa_scsiop_execute_scsi_complete(TW_Device_Extension *tw_dev, int request_id); > static char *twa_string_lookup(twa_message_type *table, unsigned int aen_code); > > @@ -278,7 +280,7 @@ static int twa_aen_complete(TW_Device_Extension *tw_dev, int request_id) > static int twa_aen_drain_queue(TW_Device_Extension *tw_dev, int no_check_reset) > { > int request_id = 0; > - char cdb[TW_MAX_CDB_LEN]; > + unsigned char cdb[TW_MAX_CDB_LEN]; > TW_SG_Entry sglist[1]; > int finished = 0, count = 0; > TW_Command_Full *full_command_packet; > @@ -423,7 +425,7 @@ static void twa_aen_queue_event(TW_Device_Extension *tw_dev, TW_Command_Apache_H > /* This function will read the aen queue from the isr */ > static int twa_aen_read_queue(TW_Device_Extension *tw_dev, int request_id) > { > - char cdb[TW_MAX_CDB_LEN]; > + unsigned char cdb[TW_MAX_CDB_LEN]; > TW_SG_Entry sglist[1]; > TW_Command_Full *full_command_packet; > int retval = 1; > @@ -1798,7 +1800,9 @@ static int twa_scsi_queue_lck(struct scsi_cmnd *SCpnt, void (*done)(struct scsi_ > static DEF_SCSI_QCMD(twa_scsi_queue) > > /* This function hands scsi cdb's to the firmware */ > -static int twa_scsiop_execute_scsi(TW_Device_Extension *tw_dev, int request_id, char *cdb, int use_sg, TW_SG_Entry *sglistarg) > +static int twa_scsiop_execute_scsi(TW_Device_Extension *tw_dev, int request_id, > + unsigned char *cdb, int use_sg, > + TW_SG_Entry *sglistarg) > { > TW_Command_Full *full_command_packet; > TW_Command_Apache *command_packet; > diff --git a/drivers/scsi/3w-sas.c b/drivers/scsi/3w-sas.c > index 266bdac75304..480cf82700e9 100644 > --- a/drivers/scsi/3w-sas.c > +++ b/drivers/scsi/3w-sas.c > @@ -287,7 +287,9 @@ static int twl_post_command_packet(TW_Device_Extension *tw_dev, int request_id) > } /* End twl_post_command_packet() */ > > /* This function hands scsi cdb's to the firmware */ > -static int twl_scsiop_execute_scsi(TW_Device_Extension *tw_dev, int request_id, char *cdb, int use_sg, TW_SG_Entry_ISO *sglistarg) > +static int twl_scsiop_execute_scsi(TW_Device_Extension *tw_dev, int request_id, > + unsigned char *cdb, int use_sg, > + TW_SG_Entry_ISO *sglistarg) > { > TW_Command_Full *full_command_packet; > TW_Command_Apache *command_packet; > @@ -372,7 +374,7 @@ static int twl_scsiop_execute_scsi(TW_Device_Extension *tw_dev, int request_id, > /* This function will read the aen queue from the isr */ > static int twl_aen_read_queue(TW_Device_Extension *tw_dev, int request_id) > { > - char cdb[TW_MAX_CDB_LEN]; > + unsigned char cdb[TW_MAX_CDB_LEN]; > TW_SG_Entry_ISO sglist[1]; > TW_Command_Full *full_command_packet; > int retval = 1; > @@ -554,7 +556,7 @@ static int twl_poll_response(TW_Device_Extension *tw_dev, int request_id, int se > static int twl_aen_drain_queue(TW_Device_Extension *tw_dev, int no_check_reset) > { > int request_id = 0; > - char cdb[TW_MAX_CDB_LEN]; > + unsigned char cdb[TW_MAX_CDB_LEN]; > TW_SG_Entry_ISO sglist[1]; > int finished = 0, count = 0; > TW_Command_Full *full_command_packet; > -- > 2.19.1 > Looks ok. Acked-by: Adam Radford -Adam