From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 24A66A04C0 for ; Tue, 29 Sep 2020 03:42:47 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id E23691DA10; Tue, 29 Sep 2020 03:42:45 +0200 (CEST) Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by dpdk.org (Postfix) with ESMTP id 5442B1D932; Tue, 29 Sep 2020 03:42:40 +0200 (CEST) IronPort-SDR: Ov1cRGjTmIf5b0uBmXvzA4En/Zy2UgN3ByblzhUqVkE8dRDNK8XuNQxu5A5NhoKCxZbo4tFoM5 iCgB9b7vIHRw== X-IronPort-AV: E=McAfee;i="6000,8403,9758"; a="161319627" X-IronPort-AV: E=Sophos;i="5.77,316,1596524400"; d="scan'208";a="161319627" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga005.jf.intel.com ([10.7.209.41]) by fmsmga103.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 28 Sep 2020 18:42:38 -0700 IronPort-SDR: oZ3VMt+yAczvFxZwU0h3IAOl4hAOlUYnWwqFmsLjWLGAek9TUc29ZteLTKqBpAz6ZHPh2rAZ0j Y3BgzPx4EK5g== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.77,316,1596524400"; d="scan'208";a="488841194" Received: from fmsmsx602.amr.corp.intel.com ([10.18.126.82]) by orsmga005.jf.intel.com with ESMTP; 28 Sep 2020 18:42:36 -0700 Received: from fmsmsx610.amr.corp.intel.com (10.18.126.90) by fmsmsx602.amr.corp.intel.com (10.18.126.82) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Mon, 28 Sep 2020 18:42:36 -0700 Received: from fmsmsx603.amr.corp.intel.com (10.18.126.83) by fmsmsx610.amr.corp.intel.com (10.18.126.90) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Mon, 28 Sep 2020 18:42:36 -0700 Received: from fmsedg602.ED.cps.intel.com (10.1.192.136) by fmsmsx603.amr.corp.intel.com (10.18.126.83) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5 via Frontend Transport; Mon, 28 Sep 2020 18:42:36 -0700 Received: from NAM10-DM6-obe.outbound.protection.outlook.com (104.47.58.108) by edgegateway.intel.com (192.55.55.71) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.1713.5; Mon, 28 Sep 2020 18:42:20 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=kEd/V9mcihnJVfLNsJ+crULc70vSNpaZsoNZWWljrG/9uDlIIix1Vxd8JSQ3TlSNuJWebX4VfKvOV6K8118GSav2e31Y2Kk4+ObByFmNqkOY2/VxA/ZB1HsejeFxLRP2QJ/BFfMK52bwWcykXIFtl/KrCDG30s31bQLuvWWxv8eOk2SFLrNkbtLaRuXnMEa/DnM2QSL3uUxzVFUpAX2wLiZk6baW95PlFU67mUYlmYbGegJRRwGccKEZ5OmVhHHgJKS5zejScQ+qocOHXpEXYZYPR1Df3htkUYf+5CFYnNL2gMwATUJe5KHDQ/hLdENJ0OpxNA5Phoh/WOPwGHACRg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=+nX5JQdbJk4xl2wv8EEE8xaekou2SJJLDMtSScl8qtc=; b=f+xGyGGPBJ9PBTVmjR+ygtXbh1D9ijAFbdP/of5kofX9SKHSi96hY1jhQO+fQZLzvCudrL0UzE2icSmMCuSwR54EQ74Lm4s82wHQBESqEje6r9I/pkAWvetxU4DyVeZJNdpxK1yhDTt91vpXW8z1aUfYFFpPFXnqfPcVWlFyCmPxA3i7xjy85V7poiiJHo2UBxvHwBiQnUa6NkO763CyJpEQFgZGQvHkYnm1C1+kyIZFqjol2KtaEhnSg8N0OC4V+asNUWcUzc/TlvdrnF29AbN1h4FPbQjiIcv7YrbhtqBjBlmxB06L8eTnykmnYVAfVi/XcFLeU86bRFwPoXpzgA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel.onmicrosoft.com; s=selector2-intel-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=+nX5JQdbJk4xl2wv8EEE8xaekou2SJJLDMtSScl8qtc=; b=h5epaoBzu6h3/fAGVz979b0rFZfJTE1PgEJl1xlu27xFKwp51RkbiHjqxHy/IE/u8sjmz/MnGCR2vU3Z1wSCbjIQNme28A1NH95uffQ5gGkcfD7F+EeZEHAfB18gy7AC19aBmwnZh45MjG1CF/gRS0ENq9s3ldpYhbBssISNSpY= Received: from BYAPR11MB2901.namprd11.prod.outlook.com (2603:10b6:a03:91::23) by BY5PR11MB3895.namprd11.prod.outlook.com (2603:10b6:a03:18e::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3412.22; Tue, 29 Sep 2020 01:42:16 +0000 Received: from BYAPR11MB2901.namprd11.prod.outlook.com ([fe80::515:a970:3fec:fb73]) by BYAPR11MB2901.namprd11.prod.outlook.com ([fe80::515:a970:3fec:fb73%6]) with mapi id 15.20.3391.027; Tue, 29 Sep 2020 01:42:15 +0000 From: "Xu, Rosen" To: "Zhang, Tianfei" , "dev@dpdk.org" , "Huang, Wei" CC: "stable@dpdk.org" Thread-Topic: [PATCH v2 1/4] raw/ifpga/base: fix bug in IRQ functions Thread-Index: AQHWlUC4XERRqko1X0CSHEDM45pvV6l+2PKg Date: Tue, 29 Sep 2020 01:42:15 +0000 Message-ID: References: <1600846213-18093-1-git-send-email-tianfei.zhang@intel.com> <1601257218-6606-1-git-send-email-tianfei.zhang@intel.com> <1601257218-6606-2-git-send-email-tianfei.zhang@intel.com> In-Reply-To: <1601257218-6606-2-git-send-email-tianfei.zhang@intel.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-version: 11.5.1.3 dlp-reaction: no-action x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiZDk4NWUyMmItYjU5OC00NjY0LWE4YWYtNjMxYzNjMzI1ZDNjIiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX05UIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE3LjEwLjE4MDQuNDkiLCJUcnVzdGVkTGFiZWxIYXNoIjoidkZTNkRCN3craEdielNtRUlmdGJzbEtjTmZjYVZnSjhWYUtWcUE4ZmFCM0xUZ3ZBRVNlMEhmQ2poWDNRejVVdCJ9 x-ctpclassification: CTP_NT authentication-results: intel.com; dkim=none (message not signed) header.d=none;intel.com; dmarc=none action=none header.from=intel.com; x-originating-ip: [192.198.147.195] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: f5fa2eb9-2621-445b-339b-08d86418e4bd x-ms-traffictypediagnostic: BY5PR11MB3895: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:229; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: My1uVum+l5RhK/a9XGzU5VxPzlHSGCIJM9j0bvDRgu5LHtAgDvzLuRsb+N/7V/TINE1YKLO2LGu173PwTjDtLYxZV/gdNGoW15V99XC/tfzrD0nURXDy10nvmb56HjyZqX0dgNMweGM9mDZayVXbnwR7pEaxQ265AlV4C8n2oP28rEmOK9nz5f4BAwYfbf0qy2s5e0iMBrKXw24dR43dNVUltQ+GOk064UeN6Ab2CaVHS7Xhu0OfEYxhCqtZKhfaaQdRcYJuGP0nqjCsNpijp1TZ7SAq1zA9a4pgVUl6Fi58SP6vCGOtDm/hiexzZXPLNdVXSQBerpmMekQ9EMoBbbHMCHPaJhxC7kSAlmiKPtcJmLFA8nRsOCaRryfO3M3y x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:BYAPR11MB2901.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(136003)(376002)(396003)(39860400002)(346002)(366004)(83380400001)(76116006)(2906002)(6636002)(33656002)(66476007)(66446008)(66556008)(66946007)(64756008)(5660300002)(71200400001)(86362001)(52536014)(8936002)(316002)(110136005)(8676002)(450100002)(478600001)(55016002)(186003)(6506007)(26005)(9686003)(53546011)(4326008)(7696005); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata: dFT0GUoms9O52Yni7IrSgZlJriksYlKyAfUEeKcT3/k72Jb3sGHJ8N+z8WlwCIOgJZhC9HYMx/khkASLP6Q4v0pjlWhBp8w/OzkoiXFQpZMSWwFr8x7OncSWC3DalWdI9TCekpg3BGWQ5oXvq+ETjShuoR2lwamh10NRoihgoS4cjaq2y+YsKKeIMx4bYsTjDJq093ZdIBacKdTvXnM/AqYR3aSEQcmYuRntUyUJVJU3hxvkTj5OfFiE8mgpKlJ040JfgcqsWRuZFJXgxr44gQElszZ3xFQpWFnIWjJWSWsWw7ciBEbYekLhmQMc10vlM032hwW7NA2zuyK4duiTN33hnkLtuVK0e5n8LpoolXSJPOL3ZvBnmQFeYxgt++jmK5fbSSIIR6RSAwp6Xhu4+fhP6A3pGP4nFDew/JAcuHc5YpY5S3HTVcZaVMq1NrFLnNCj7Yw135tM39W4Vl1P413W/9B0NfZ/s9PJp9IB1MGtr2u8FMZ/h3yDVXLyuxvl0ut0vaG4wsK1pUvmwn8vVj4i9FhkHnTJpgyoEZwNeyF05k38IjgENz2tZ8WWu4K7xayoTOLAo9v6ff+NVWYf/p5eUDjYcNnYreHUUWCgJbmb0QnCJr/WJ4Xn/4SZ+i67+w4mXLVuiJwDYwIxbqxwaQ== Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: BYAPR11MB2901.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: f5fa2eb9-2621-445b-339b-08d86418e4bd X-MS-Exchange-CrossTenant-originalarrivaltime: 29 Sep 2020 01:42:15.1093 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: f7sXA1COOPtKkeMLDJMtmynhB2WQn89QQpH+g3AphPn2DWWKATPo7Hpb5Ey84AcRnSIbk6E7HjeJhI8ayCq4eQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR11MB3895 X-OriginatorOrg: intel.com Subject: Re: [dpdk-stable] [PATCH v2 1/4] raw/ifpga/base: fix bug in IRQ functions X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches for DPDK stable branches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: stable-bounces@dpdk.org Sender: "stable" Hi, > -----Original Message----- > From: Zhang, Tianfei > Sent: Monday, September 28, 2020 9:40 > To: dev@dpdk.org; Xu, Rosen ; Huang, Wei > > Cc: stable@dpdk.org; Zhang, Tianfei > Subject: [PATCH v2 1/4] raw/ifpga/base: fix bug in IRQ functions >=20 > From: Wei Huang >=20 > Using a pointer instead of using a structure and point to ifpga_irq_handl= e[] in > register and unregister interrupt functions. > Treat positive return value of ifpga_unregister_msix_irq() as successful. >=20 > Fixes: e0a1aafe ("raw/ifpga: introduce IRQ functions") > Cc: stable@dpdk.org >=20 > Signed-off-by: Wei Huang > Signed-off-by: Tianfei zhang > --- > v2: fix typo in commit log > --- > drivers/raw/ifpga/ifpga_rawdev.c | 41 ++++++++++++++++++-------------- > 1 file changed, 23 insertions(+), 18 deletions(-) >=20 > diff --git a/drivers/raw/ifpga/ifpga_rawdev.c > b/drivers/raw/ifpga/ifpga_rawdev.c > index a50173264..374a7ff1d 100644 > --- a/drivers/raw/ifpga/ifpga_rawdev.c > +++ b/drivers/raw/ifpga/ifpga_rawdev.c > @@ -1337,17 +1337,18 @@ int > ifpga_unregister_msix_irq(enum ifpga_irq_type type, > int vec_start, rte_intr_callback_fn handler, void *arg) { > - struct rte_intr_handle intr_handle; > + struct rte_intr_handle *intr_handle; >=20 > if (type =3D=3D IFPGA_FME_IRQ) > - intr_handle =3D ifpga_irq_handle[0]; > + intr_handle =3D &ifpga_irq_handle[0]; > else if (type =3D=3D IFPGA_AFU_IRQ) > - intr_handle =3D ifpga_irq_handle[vec_start + 1]; > + intr_handle =3D &ifpga_irq_handle[vec_start + 1]; > + else > + return 0; >=20 > - rte_intr_efd_disable(&intr_handle); > + rte_intr_efd_disable(intr_handle); >=20 > - return rte_intr_callback_unregister(&intr_handle, > - handler, arg); > + return rte_intr_callback_unregister(intr_handle, handler, arg); > } >=20 > int > @@ -1357,7 +1358,7 @@ ifpga_register_msix_irq(struct rte_rawdev *dev, > int port_id, > void *arg) > { > int ret; > - struct rte_intr_handle intr_handle; > + struct rte_intr_handle *intr_handle; > struct opae_adapter *adapter; > struct opae_manager *mgr; > struct opae_accelerator *acc; > @@ -1371,26 +1372,29 @@ ifpga_register_msix_irq(struct rte_rawdev *dev, > int port_id, > return -ENODEV; >=20 > if (type =3D=3D IFPGA_FME_IRQ) { > - intr_handle =3D ifpga_irq_handle[0]; > + intr_handle =3D &ifpga_irq_handle[0]; > count =3D 1; > - } else if (type =3D=3D IFPGA_AFU_IRQ) > - intr_handle =3D ifpga_irq_handle[vec_start + 1]; > + } else if (type =3D=3D IFPGA_AFU_IRQ) { > + intr_handle =3D &ifpga_irq_handle[vec_start + 1]; > + } else { > + return -EINVAL; > + } >=20 > - intr_handle.type =3D RTE_INTR_HANDLE_VFIO_MSIX; > + intr_handle->type =3D RTE_INTR_HANDLE_VFIO_MSIX; >=20 > - ret =3D rte_intr_efd_enable(&intr_handle, count); > + ret =3D rte_intr_efd_enable(intr_handle, count); > if (ret) > return -ENODEV; >=20 > - intr_handle.fd =3D intr_handle.efds[0]; > + intr_handle->fd =3D intr_handle->efds[0]; >=20 > IFPGA_RAWDEV_PMD_DEBUG("register %s irq, vfio_fd=3D%d, > fd=3D%d\n", > - name, intr_handle.vfio_dev_fd, > - intr_handle.fd); > + name, intr_handle->vfio_dev_fd, > + intr_handle->fd); >=20 > if (type =3D=3D IFPGA_FME_IRQ) { > struct fpga_fme_err_irq_set err_irq_set; > - err_irq_set.evtfd =3D intr_handle.efds[0]; > + err_irq_set.evtfd =3D intr_handle->efds[0]; >=20 > ret =3D opae_manager_ifpga_set_err_irq(mgr, &err_irq_set); > if (ret) > @@ -1400,13 +1404,14 @@ ifpga_register_msix_irq(struct rte_rawdev *dev, > int port_id, > if (!acc) > return -EINVAL; >=20 > - ret =3D opae_acc_set_irq(acc, vec_start, count, > intr_handle.efds); > + ret =3D opae_acc_set_irq(acc, vec_start, count, > + intr_handle->efds); > if (ret) > return -EINVAL; > } >=20 > /* register interrupt handler using DPDK API */ > - ret =3D rte_intr_callback_register(&intr_handle, > + ret =3D rte_intr_callback_register(intr_handle, > handler, (void *)arg); > if (ret) > return -EINVAL; > -- > 2.17.1 Acked-by: Rosen Xu