From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S965385AbbJVTAE (ORCPT ); Thu, 22 Oct 2015 15:00:04 -0400 Received: from mail-by2on0081.outbound.protection.outlook.com ([207.46.100.81]:34666 "EHLO na01-by2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S965071AbbJVTAA (ORCPT ); Thu, 22 Oct 2015 15:00:00 -0400 Authentication-Results: spf=fail (sender IP is 66.35.236.236) smtp.mailfrom=opensource.altera.com; vger.kernel.org; dkim=none (message not signed) header.d=none;vger.kernel.org; dmarc=none action=none header.from=opensource.altera.com; Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=atull@opensource.altera.com; Date: Thu, 22 Oct 2015 13:53:13 -0500 From: atull X-X-Sender: atull@linuxheads99 To: Moritz Fischer CC: , , , , , Subject: Re: [PATCH] fpga: zynq-fpga: Fix issue with drvdata being overwritten. In-Reply-To: <1445540169-20715-1-git-send-email-moritz.fischer@ettus.com> Message-ID: References: <1445540169-20715-1-git-send-email-moritz.fischer@ettus.com> User-Agent: Alpine 2.02 (DEB 1266 2009-07-14) MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" X-Originating-IP: [64.129.157.38] X-ClientProxiedBy: SN1PR19CA0006.namprd19.prod.outlook.com (25.163.220.16) To CY1PR03MB1518.namprd03.prod.outlook.com (25.163.17.24) X-Microsoft-Exchange-Diagnostics-untrusted: 1;CY1PR03MB1518;2:XwSR6PBStI1faj5PmMYvp1MSmdHFOuEmLQjsq3PxeP5A1d+kvb/73hDjvPHuXNY0i1cXqJmpC6WChomHoneplK3xu+sgb1nTbCYFyoIyxIYDBUK0h3AXCukg0z5cWTrV6m6v5cjggD9FgCjl6ySoiMO+ERMqgqu5TaLW8biRQqQ=;3:10Bf65JoOsQyxBLuhVuzNbA5Qj/c9DgZulwlqZ3t1ewBpSJXmipLfNkvvGO66SphAgZc0Guf90Zr+2y4DqFqiq/SIFKYdn6GcGZJe3gTeP/mUGG1cxihhPhC/qug1kyAJRa3YJf0Mzgx2nO6+aXvVA==;25:B78MT6gyW8pVgDz0i070JyhAJIEVB8cC/nhlqx/L2fbIPqLYev2F6SejSwy+sAeDDl8hkd957pQLwr74IhE/qMONqTrSj6g9PKiplWepblC8IM92R7Hgb2jsK/RivaDoRio25K+M7az/BHNjIkGziEFbOM00Lzm1AkWUis3WHt7oZ/XxOJUzIxwt2XdabMejkOg/h4uHd4NuUn/lv3bpB6hdtkGz4AxpzCTzBVWD5XYHrNMzRE1wwy+/ggsowm7t7v0ALlX4I2C/HczMpqgbfg==;20:qfp4MJkYGFglmOgfHAKaJmkyjq8T5hSzmMeHTqnnzXa9r7vMJMnRRo9dAt16DBii9x8Qz3mm8e66Tacr6cDCXOUWn4669/Q7vVMVx7Dbm7eVF8RLqfypIB5GO+t31p6B9XV7v6qs6LsiaOcL3a3DDkS5NKZpz8/UPFmUmm8MBfM= X-Microsoft-Antispam-Untrusted: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:CY1PR03MB1518; X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(80048183373757)(204874498639787);UriScan:(80048183373757)(204874498639787); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004)(2401047)(5005006)(520078)(8121501046)(3002001)(102215026);SRVR:CY1PR03MB1518;BCL:0;PCL:0;RULEID:;SRVR:CY1PR03MB1518;BCL:0;PCL:0;RULEID:(601004)(2401047)(8121501046)(5005006)(520078)(3002001)(102215026);SRVR:BN3PR03MB1496;BCL:0;PCL:0;RULEID:;SRVR:BN3PR03MB1496; X-Microsoft-Exchange-Diagnostics-untrusted: 1;CY1PR03MB1518;4:toptzh+Vg7s/wz+LEQI9Qqqetr4jAu/+Llv7KcwOv+fJ4Uas5Xiucet3k8XwRwH/XU8oXjBxSKiHjVbWWYMG4sxgpuKQsq8v/R0hh6xLypu3okaRvSNxZAGLC/vlPZkRlpd3SgFD8OWXsBKhDF8pDfYYL8ndu2/PCtLMJ0p23SUQ2hjik4EFQCTILyP7HFG8IULhXiNlWECXlEZQ0h9pZMRJB4Wi13X3J45Dz5bOp+DB2M5SYATbYfSRoW3kOHU3E5620F3VWdpaa7EKqPB/UKWAmxfAmlCG9ZLUlokXCOwADQyRZJCGqlGSBfAvzl/4ydhWKY2vKPq8Pbl+9DbaH+0b0b+r5TmSb99ezvkjzHwOFzZ3/miithOLLHjkESjW X-Forefront-PRVS: 0737B96801 X-Forefront-Antispam-Report-Untrusted: SFV:NSPM;SFS:(10009020)(6009001)(24454002)(189002)(199003)(42186005)(92566002)(87976001)(53416004)(66066001)(33716001)(19580405001)(46406003)(2950100001)(47776003)(40100003)(50466002)(69596002)(122386002)(19580395003)(23726002)(83506001)(50986999)(97736004)(4001350100001)(54356999)(189998001)(5001960100002)(105586002)(77096005)(5004730100002)(76176999)(101416001)(81156007)(110136002)(86362001)(86152002)(5007970100001)(5008740100001)(106356001)(7059030);DIR:OUT;SFP:1101;SCL:1;SRVR:CY1PR03MB1518;H:linuxheads99.altera.com;FPR:;SPF:None;PTR:InfoNoRecords;MX:1;A:0;LANG:en; X-Microsoft-Exchange-Diagnostics-untrusted: =?us-ascii?Q?1;CY1PR03MB1518;23:w1lP2rDA5a26TRlJ2/Hzubs2foO2Xt4fi5Ign9LnA?= =?us-ascii?Q?LN5ZJKotL2Bw5Xs1F1RfRvvY/yigS1nAm1PbM8a6kCeQyfADmTzGcTV7wwEo?= =?us-ascii?Q?o8QN5pE+KMfEWgkifSmGjB2lyk2XBM5PbS4bOCMbntl23XHflBvbYloahqSk?= =?us-ascii?Q?MlgoERo1a193wPH2rtnqdwhfZ3GNCe0RD8eVGsPRc4ljLBXO4oEEOaDDzdUn?= =?us-ascii?Q?wIcylCeSbJuwltQCWzFAfXSeaKigUarAxw2G/mZmA0sy/XemSKTZ64KW6iy/?= =?us-ascii?Q?2J922cS27jGLR7Boj6cNuF4fUncNsytOqCGTro+uefUbNglbDkgt+FiiLl4x?= =?us-ascii?Q?See/6z11FkGgMSMJ9ktRTdBUYnsf4hLa83aoyKtWqxoU3tL5qE4Le5dar9xz?= =?us-ascii?Q?xTr7sZeiqQXUHCyOYAFQvzJiIigy2iJ25YFBwYGF/ae2/zFAA+hZhzt4yUda?= =?us-ascii?Q?B7neYy9++meBaKaF9aNNJwvTTuYjybdlcP4Douoy9hnj/BVfGgJs5MjIMknh?= =?us-ascii?Q?gZJm0n1cygXBzI7UCrshD34unmUeYwJTr8leC5aDRKpmfvgqej1rma7AaG7D?= =?us-ascii?Q?dqbu6pDVM22LOkKItbJXIJg5cG4/3ALOxorfWXkyhN3kTitK9kh1dRiseYxv?= =?us-ascii?Q?UMwpOeHW+c8UL0dIDgM6CzrVZUP7pOZcKZLUh9tmf6EqyDAn2tjI6i+LwK+J?= =?us-ascii?Q?Q1xnYx4sarSqfpvpLB6ijxjYmGqmwfVUk2HdnJ2fmazUDx322Vpz7ZCEUHHX?= =?us-ascii?Q?eFZ1qpVTOqlGmaGgIL5I8ft25Nwe2FIrI2wfCbf5EvkTWUsndiUjV0vue+aF?= =?us-ascii?Q?iXejodcWS5G1gTIWFnNEVBVjBpmT4rRPaX8k5FGCpSUuGepKMAaFLY4X7avO?= =?us-ascii?Q?sPO5WuhpmnqB789nONy6+mun+4ToExgfZyNRPD+k6TlLVPVGANgdY/n2X1pB?= =?us-ascii?Q?V5+snYaUu5UWL8Xejns/gUHhmYys+n39qTFrYtmmcR6V8AYDvg+hSVeowLwZ?= =?us-ascii?Q?kXF9G/Ma7DlSLqIluACzpf1u2yJ5OMMXpbHJ5ZO/y478Js9O5uWgOQ2Sqs4n?= =?us-ascii?Q?UpQAhJEfUs8f2jMLDbvnQZJawrKKoAbbzwd59n9Nq7kDtLpYg=3D=3D?= X-Microsoft-Exchange-Diagnostics-untrusted: 1;CY1PR03MB1518;5:kC/0HL9yhPPuk8H6qMtR+ivTGxdJVGAy5+C25hTK+i1MtoH1vPQCsc52gmpYyGUdvAifrSqahw0LzpfN/SUP7TXRAfA7ukVXgQn2a9m5PrzDx6mQY6orqbCj9ujASgXohexEqHO/ZbHpTb7dAqhiAw==;24:tcxrO+ZxGsAzRNBuGFQoj3UvzZoV14InJv87MzDZPadfM44jSHwNDOmwEQ8eYvuV4/RAwB2KevYB2Nfa7aeUTrrwh3LE4VYb6ZHx5vcKBuY=;20:oO0V8yVD+hyVM5RqYjkROau5G1YVEebKl30ZMqscNEMLVUHmZCX/Tk5wgm2zBAXKrGCSTwZ3EAd+iQQWosA2Rnb/dRHvm3l9XB2lnzJVo4qh3G2YrHEObyQcFJFDK0k1K0qqE46rDtD/FRHHIfGd5ItAQSTgU8nmOe4o3Wys9U8= SpamDiagnosticOutput: 1:23 SpamDiagnosticMetadata: NSPM X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY1PR03MB1518 X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: BL2FFO11FD021.protection.gbl X-Microsoft-Exchange-Diagnostics: 1;BL2FFO11FD021;1:QH98AyOtdIFLz8RlQ/r3nhD69gWJ73+01wH5J0/4Jw0SgynvV/KsiukR8KlRjKJ8zDktUARe23efzuuMNdd2Wgn/MN0IvgRLycm+PSH6/T7zb7kRZA0xXOGm8/ptdDoHpqLasezn0og++Hsac5gQCQlrqWNUhwz1BotgjVFdL0i8PsMsHslQL9KX4fX+tyA/2p4nJhrm7v+kgjdnByPJbtKz7fRnk0NTaSwTifbal6gKiuxN8e5dSm0nG18TIn+aN/l06lcvRq0MuYMJMikd+dwxJ+ZQWSOZsXVtBdTtgNA5zOSlPZkalMEeNauO64J1wNjqGSZm8lV9Q5fTO2geLl716atfxM6jxhev4u7ebxeeC63Eo75icg39lRil2+2svrwTC9khd3otZcxqU3XnFg== X-Forefront-Antispam-Report: CIP:66.35.236.236;CTRY:US;IPV:NLI;EFV:NLI;SFV:NSPM;SFS:(10009020)(6009001)(2980300002)(1109001)(1110001)(339900001)(24454002)(199003)(189002)(47776003)(11100500001)(53416004)(50986999)(76176999)(21840400001)(19580405001)(19580395003)(189998001)(2950100001)(33716001)(50466002)(54356999)(5001960100002)(110136002)(97736004)(4001350100001)(81156007)(6070500001)(6806005)(23726002)(5007970100001)(66066001)(77096005)(86152002)(86362001)(106466001)(105606002)(87936001)(5004730100002)(92566002)(46406003)(122386002)(83506001)(85426001)(40100003)(5008740100001)(16796002)(7099028)(7059030);DIR:OUT;SFP:1101;SCL:1;SRVR:BN3PR03MB1496;H:sj-itexedge04.altera.priv.altera.com;FPR:;SPF:Fail;PTR:InfoDomainNonexistent;A:0;MX:1;LANG:en; X-Microsoft-Exchange-Diagnostics: 1;BN3PR03MB1496;2:iJKqCR2oaduh5ba0haXMj8/I9D5Mqm+zt+Yuju6Uqh7INhzoy5TjJLS2KxhWBS1zCJnezc3NLJ2YTvnEWsHA+5E+FliViKVl0e91F3+Q0TG/kaNsraSGdfVEHyYT7N1ZzTiHx+Y+AVASu+eI4hqNGpYUmjqlmQLkIbbpQTPUH10=;3:j4HdPBx+Dw+sBFaWU/Mr4jYrKA6TRKCIro2ehSDJvVTXQPR1flPeutsLzwvK8KQ95okxTxoYM3yBSoCR+d0RKO44/dxggJQZTFrhySBM9Wu/IrTXemLzbO5ohhnyxp/9SdgPW1oCEwztQ0R5YOkiniIZwzF36vbYyAnrwRRatJiDh/WiVbmg304qztDUEk6D4Kpww6hDPpU8nehtZlqOj/p+/q8V2eRwG7Rm5te2T6A=;25:0HgG2qCH7CG7fLxLD5Gvddwe4LU10BeeNYJSvV5VImlFcos9v+pWmID26rjATyXWNVNG7DYgDyGGc2KfQAPuFUoan5e6LBIoOPa6YykeJHDJ5L/ZOJ1RMRuNq1RzUXig491/cxXyB5gz16gVIYg78PVZenI2jc2DKoc6YQoZsGI6Ar0E1A8u8usSsU42pw+cFA1L+RH+GuQVZWNRl+iGOFYZdh6a5q4HNakojp2W1rgZ3U+dQ6VmsSrccguNZpdkl8Lbb636oXQqsbiMDH02bg==;20:J7lyThA3VfXp3Txx2fBXhCrHB58MmeFhyAbzpJIuujd5m50nLU14F5vlpMjypUjjiwGnJDd6DcHleSnG+3JFcIh3vY8DBbFRSh1NPbu1h//4ueq4iYUzj5B1ds3rB0n+1V21Um22Us5VM+t4cLf+aE5UtEUnpYE6kHUkT8KaOo8= X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BN3PR03MB1496; X-Microsoft-Exchange-Diagnostics: 1;BN3PR03MB1496;4:1RE3F+f/2Z0uDIWpC9XU0ZK1ZU2o58Re1lZenI+5g2dbxuexz8+QXZ93y2EtL0PvkKs2uH+FMwFlsJK3WN8NR4uIe5aVGX/ecyQDTdtk8UKliGvYyGRZUTTWvaJJMT/t5aQjfReTete1CDEa0s8lamcrLbtsQ0B4DgHuGhTbVAF30zoe0EvWdaAGrYvf3P3oqn4DHEKvVoJVIdpLIpJl1YY+TgZNwH2ro0QxrsX8kx39y1mWVc50I7kyEVEIFsD2Fa02/tMzaH0V03zV+ZGzmeEjY/If2hi/BQGYw9eGua22TC2P4jmvW5ostW3vNJA72mLrB+fqkM3CxZeBO7SCMM9MOFQ+WUWB4gHHEkp0yEkXsIFMn58wVxBURaPx1sk/ X-Forefront-PRVS: 0737B96801 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;BN3PR03MB1496;23:RZdKzqOY5cd6WfmGpu5OYPx1PCXcrcMwwd0Z02IaG?= =?us-ascii?Q?8WpKm9xbkooxdIk2/hWxsuXUE1AsAdbQP0A6rXCMdB2DZhGh4c0gHjGByY0+?= =?us-ascii?Q?SLS6V90UvF7JRKXAp4jvxKIYVR+W2+++EOEvACXB1U3l3TM+qZZLZKIq/3sN?= =?us-ascii?Q?rb3HP6I1T5SoYc4CCzJg+ygOul9OOYqjyknto4/3nQQodhDCvdoxmIwN8vT5?= =?us-ascii?Q?Mpz7bjWo5GzAyFR7nRB/DyToGyWjqet0scniPIN04mn7XWaGUMN+hdLHigQV?= =?us-ascii?Q?IKLjVzBPyLjE5O/Zzk6GIAK1KVM8R5YydxQ3ofwGjrxJM9CEZzQ5pRfp0Rgr?= =?us-ascii?Q?rCpOxPKGTMnOULCEWq4KrWxOZ8xvUVCdRwWtxRaEVEuLKeUuSDhYI/Nwoh3d?= =?us-ascii?Q?LzQTWp3tMJRct1eotZJ/yaOH9/GB6vLv/AKsbp1o8tq5ikR29zvYMnNCcM26?= =?us-ascii?Q?OXYoEcYXf9WHFzZziQ/u8hvkPk54QCncJKZeJltJis2QHG57bNvohRiTj/XW?= =?us-ascii?Q?h7AGnaggOMMvWzOSClVJl+XsMkgOb+6/ZdPPnd//IKujHxMI2wicQifu6nkc?= =?us-ascii?Q?oaQBhJHoZVDA7dOWHno1dl2CnGGfQI9UDSDjFUhOIkyd8wr1Zz8Tl7EEPlV/?= =?us-ascii?Q?7jrJmn2YzEZFtvA+8XlLSu9PfuO0v5hay8BfBiti2MT5F0D3Ijzb+py2IuY1?= =?us-ascii?Q?m2akzlicXpNSwhueeaBT4vL95yeGqrFJzvvvAOaHbgr0+eTfnPPa9ANkvDlT?= =?us-ascii?Q?oHlLDO74Q2Y6FlQvYT7Ehtqw+jRVQYWNyO0U6JdU86sS5FwS6VGWlTWer04e?= =?us-ascii?Q?G3+rx1R14cZ9gPa33Ydi1TkkSVCdqRA97Z98ooNCihRTBc6/Xoh5ROSMoDxp?= =?us-ascii?Q?ZDuUdw13afRs8gDdoCd+N5ZNp8x/Q7rf3cuMBU90wSNxU17GOBJgaAAFHpXC?= =?us-ascii?Q?3T5LoCNcLuGW+uSrbYOLXFK+86RHeFmc4dr2P9SOwc+pv+u2xInRmdcLCoTH?= =?us-ascii?Q?+/lTHlMJfwNFHFgEKa+xIx8I45UfMoyp9nIIzjw9wb8Y8fdUX+desMkYOjfG?= =?us-ascii?Q?b4oiRgilrtqGmw8/8YM/NQ4SZvI2jXrEUIcY1AClbVD2wjtUt3Paq4jgI34z?= =?us-ascii?Q?gL2k2ItEZ+OpVngf8eSBKGfRRmI28at28I4Deq+1c1IyQse1CRKEcKjOdzqz?= =?us-ascii?Q?K17rUUjTVhpGPiJPSj7iNiuJ1vlOmDaTp9PuxOWffpfegww17XhTWp8A0172?= =?us-ascii?Q?jUwmMaeBONgEcqmr1mD3zs33WfBVtpqdUgE1ybZ?= X-Microsoft-Exchange-Diagnostics: 1;BN3PR03MB1496;5:C/mlXmf6dD7DkQEUtGUT2Zsawqk3QfCFy9hA8McdH2sxW8RUcXWHjpUrhB81I2T/eSzTEiJkEUNrRh8eezAxuvsJOjHuSVQlQFrBfAp+1WN0YioMJtXyy5i3uriSgwQCjz40z5yJ2VrUe4r1loZsKA==;24:TKFnoExGUB1hqfqCsDxiPCFGa/GyA3YAbV4gnMRg/Wvm3EB2W4/syVxsKknHf4zDJZSE1q1nUn7xRaYTqdImpIekhtWiCer1JHuPNNc8koI=;20:W9oBXINjs8hSLtkYmCd8C49Jjsmi4fY12x4okEJ1yT/ylByVTM/LLYE3Ooe2LPmivtslQoTRKocmqk4dLZB/uelKbH4Xrugitd8yQW69td1lX/6F3zcfdbQ5D2O9DuGbSnbjgDWV4Ug8BeO/tOVK4rdeDiodufAW7styH4PQS6I= X-OriginatorOrg: opensource.altera.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Oct 2015 18:59:57.4260 (UTC) X-MS-Exchange-CrossTenant-Id: fbd72e03-d4a5-4110-adce-614d51f2077a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=fbd72e03-d4a5-4110-adce-614d51f2077a;Ip=[66.35.236.236];Helo=[sj-itexedge04.altera.priv.altera.com] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN3PR03MB1496 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, 22 Oct 2015, Moritz Fischer wrote: > Upon registering a FPGA Manager low level driver, FPGA Manager > core overwrites the platform drvdata pointer. Prior to this commit > zynq-fpga falsely relied on this pointer to still be valid at remove() > time. > > Reported-by: Alan Tull > Signed-off-by: Moritz Fischer > --- > drivers/fpga/zynq-fpga.c | 7 ++++--- > 1 file changed, 4 insertions(+), 3 deletions(-) > > diff --git a/drivers/fpga/zynq-fpga.c b/drivers/fpga/zynq-fpga.c > index 31db550..c2fb412 100644 > --- a/drivers/fpga/zynq-fpga.c > +++ b/drivers/fpga/zynq-fpga.c > @@ -416,7 +416,6 @@ static int zynq_fpga_probe(struct platform_device *pdev) > if (!priv) > return -ENOMEM; > > - platform_set_drvdata(pdev, priv); > priv->dev = dev; > > res = platform_get_resource(pdev, IORESOURCE_MEM, 0); > @@ -477,10 +476,12 @@ static int zynq_fpga_probe(struct platform_device *pdev) > static int zynq_fpga_remove(struct platform_device *pdev) > { > struct zynq_fpga_priv *priv; > + struct fpga_manager *mgr; > > - fpga_mgr_unregister(&pdev->dev); > + mgr = platform_get_drvdata(pdev); > + priv = mgr->priv; > > - priv = platform_get_drvdata(pdev); > + fpga_mgr_unregister(&pdev->dev); > > clk_unprepare(priv->clk); > Hi Moritz, Looks good! Acked-by: Alan Tull Alan > -- > 2.6.2 > >