Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753882AbbK0DQK (ORCPT ); Thu, 26 Nov 2015 22:16:10 -0500 Received: from mail-bl2on0081.outbound.protection.outlook.com ([65.55.169.81]:12128 "EHLO na01-bl2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751204AbbK0DQH (ORCPT ); Thu, 26 Nov 2015 22:16:07 -0500 From: "Xue, Ken" To: "linux-kernel@vger.kernel.org" , "mlin@kernel.org" , "stern@rowland.harvard.edu" CC: "linux-scsi@vger.kernel.org" , "Huang, Shane" , SPG_Linux_Kernel , "aaron.lu@intel.com" , "stable@vger.kernel.org" , "JBottomley@Odin.com" , "Yu, Xiangliang" Subject: Re: [PATCH 1/2]Revert "SCSI: Fix NULL pointer dereference in runtime PM" Thread-Topic: [PATCH 1/2]Revert "SCSI: Fix NULL pointer dereference in runtime PM" Thread-Index: AQHQ63BCA7/13Dg28U6T33jd/fZwZp6vqPgA Date: Fri, 27 Nov 2015 03:01:42 +0000 Message-ID: <1448593294.3216.11.camel@amd.com> References: <1441782131.5845.73.camel@kxue-X58A-UD3R> <1441851826.5845.105.camel@kxue-X58A-UD3R> In-Reply-To: <1441851826.5845.105.camel@kxue-X58A-UD3R> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: spf=none (sender IP is ) smtp.mailfrom=Ken.Xue@amd.com; x-originating-ip: [210.13.97.168] x-microsoft-exchange-diagnostics: 1;SN1PR12MB0430;5:hXb+/95ggvsqfP8uMPhyitSwmGN/G+CR5RT1o8v03jCIG12GtlgpemM/FpK+NRKzmmz6iUtOYjW6izx5bAYM7SOwwZ2IwerYJOni3xZR1kettoXxpJx3F0KAcQgac0naKiUiiOiNMX1cHninGdpq3g==;24:YRuW0CyAryv02o8FhLLFTytg6qPIgdLTWFFbphpyqS1tFtzjteSsdqIXIvjgb7rYLEzFF6PqRmo5S/iDIP2h3775G5KuaI9cdpWrY937cus=;20:zY0jN2hJufhPo0sYbiG7Ic1VI+2mTarYR8t8L234EDWp9bCPqeRLveGgIpB++EZ4twyOEPaLw/MvoeBpBoPT0PDFn46jKuiau30WsUvc4uehBfvJH2mJkTqCZ27AattYktil+saToAnc4N6M8MA7XAnV5WfyX9NlIEwJGukyVNnKyLIa9l5yy4nOvW8FcyTJipvPEoUWHZ6c5mxNr4CYgCaJQ/QkKkq7vXjKWW8prVLFu3M5IB/wT/vuEPNCoYfn x-microsoft-antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:SN1PR12MB0430; x-microsoft-antispam-prvs: x-exchange-antispam-report-test: UriScan:(35762410373642)(767451399110); x-exchange-antispam-report-cfa-test: BCL:0;PCL:0;RULEID:(601004)(2401047)(8121501046)(5005006)(520078)(10201501046)(3002001);SRVR:SN1PR12MB0430;BCL:0;PCL:0;RULEID:;SRVR:SN1PR12MB0430; x-forefront-prvs: 0773BB46AC x-forefront-antispam-report: SFV:NSPM;SFS:(10009020)(6009001)(209900001)(24454002)(199003)(377424004)(189002)(81156007)(2201001)(19580405001)(19580395003)(103116003)(5002640100001)(50986999)(122556002)(40100003)(54356999)(99286002)(1220700001)(76176999)(5001770100001)(189998001)(97736004)(1096002)(33646002)(86362001)(5001960100002)(102836003)(6116002)(106116001)(575784001)(2950100001)(92566002)(101416001)(77096005)(15975445007)(3846002)(15395725005)(5004730100002)(2900100001)(586003)(11100500001)(2501003)(105586002)(87936001)(36756003)(5008740100001)(2171001)(106356001)(10400500002)(66066001)(6606295002);DIR:OUT;SFP:1101;SCL:1;SRVR:SN1PR12MB0430;H:SN1PR12MB0207.namprd12.prod.outlook.com;FPR:;SPF:None;PTR:InfoNoRecords;A:1;MX:1;LANG:en; Content-Type: text/plain; charset="utf-8" Content-ID: <029AFC1A769E5C49A22524F5EDBF8032@namprd12.prod.outlook.com> MIME-Version: 1.0 X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-originalarrivaltime: 27 Nov 2015 03:01:43.0001 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN1PR12MB0430 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from base64 to 8bit by mail.home.local id tAR3GHFK006180 Content-Length: 2501 Lines: 75 On 四, 2015-09-10 at 10:23 +0800, Ken Xue wrote: Can someone help to apply this patch series? Thanks. http://marc.info/?l=linux-scsi&m=144185206825609&w=2 http://marc.info/?l=linux-scsi&m=144185208525611&w=2 > Revert "SCSI: Fix NULL pointer dereference in runtime PM" > > This reverts commit 49718f0fb8c9 ("SCSI: Fix NULL pointer dereference > in > runtime PM") > > The old commit may lead to a issue that > blk_{pre|post}_runtime_suspend and > blk_{pre|post}_runtime_resume can not be called in pairs. > > Take sr device as example, when sr device goes to runtime suspend, > blk_{pre|post}_runtime_suspend will be called since sr device defined > pm->runtime_suspend. But blk_{pre|post}_runtime_resume will not be > called > since sr device doesn't have pm->runtime_resume. Then sr device can > not > resume correctly anymore. > > Signed-off-by: Ken Xue > Acked-by: Alan Stern > Cc: stable@vger.kernel.org > > --- > drivers/scsi/scsi_pm.c | 20 ++++++++++---------- > 1 file changed, 10 insertions(+), 10 deletions(-) > > diff --git a/drivers/scsi/scsi_pm.c b/drivers/scsi/scsi_pm.c > index e4b7998..459abe1 100644 > --- a/drivers/scsi/scsi_pm.c > +++ b/drivers/scsi/scsi_pm.c > @@ -219,13 +219,13 @@ static int sdev_runtime_suspend(struct device > *dev) > struct scsi_device *sdev = to_scsi_device(dev); > int err = 0; > > - if (pm && pm->runtime_suspend) { > - err = blk_pre_runtime_suspend(sdev->request_queue); > - if (err) > - return err; > + err = blk_pre_runtime_suspend(sdev->request_queue); > + if (err) > + return err; > + if (pm && pm->runtime_suspend) > err = pm->runtime_suspend(dev); > - blk_post_runtime_suspend(sdev->request_queue, err); > - } > + blk_post_runtime_suspend(sdev->request_queue, err); > + > return err; > } > > @@ -248,11 +248,11 @@ static int sdev_runtime_resume(struct device > *dev) > const struct dev_pm_ops *pm = dev->driver ? dev->driver->pm > : NULL; > int err = 0; > > - if (pm && pm->runtime_resume) { > - blk_pre_runtime_resume(sdev->request_queue); > + blk_pre_runtime_resume(sdev->request_queue); > + if (pm && pm->runtime_resume) > err = pm->runtime_resume(dev); > - blk_post_runtime_resume(sdev->request_queue, err); > - } > + blk_post_runtime_resume(sdev->request_queue, err); > + > return err; > } > ????{.n?+???????+%?????ݶ??w??{.n?+????{??G?????{ay?ʇڙ?,j??f???h?????????z_??(?階?ݢj"???m??????G????????????&???~???iO???z??v?^?m???? ????????I?