From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752918AbdKUGPk (ORCPT ); Tue, 21 Nov 2017 01:15:40 -0500 Received: from mail-cys01nam02on0088.outbound.protection.outlook.com ([104.47.37.88]:5392 "EHLO NAM02-CY1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1752432AbdKUGPj (ORCPT ); Tue, 21 Nov 2017 01:15:39 -0500 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Akshu.Agrawal@amd.com; Subject: Re: [PATCH] ASoC: amd: Add error checking to probe function To: "Deucher, Alexander" , "'Guenter Roeck'" , Liam Girdwood , "Mukunda, Vijendar" Cc: Mark Brown , Jaroslav Kysela , Takashi Iwai , "alsa-devel@alsa-project.org" , "linux-kernel@vger.kernel.org" , Dominik Behr , Daniel Kurtz References: <1511238476-10314-1-git-send-email-linux@roeck-us.net> From: "Agrawal, Akshu" Message-ID: Date: Tue, 21 Nov 2017 11:45:15 +0530 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.4.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit X-Originating-IP: [202.56.249.162] X-ClientProxiedBy: MA1PR0101CA0032.INDPRD01.PROD.OUTLOOK.COM (52.134.137.18) To CY4PR1201MB0182.namprd12.prod.outlook.com (10.172.78.139) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: c687a7b2-4826-410a-9e62-08d530a747f2 X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001)(4534020)(4602075)(4627115)(201703031133081)(201702281549075)(48565401081)(2017052603258);SRVR:CY4PR1201MB0182; X-Microsoft-Exchange-Diagnostics: 1;CY4PR1201MB0182;3:OPPcVjXhA/YMKS6Cf1p6yG5rP/6wDWd2AJ9nyDaTWC7HgcXRwBZg9d/fKCaaOwZEtktjBWVsIE4fdtlsUy4AJxCqkr2n7iUFmorAbSqZcnR2zdQ2UxaEYGGX3gOEb0LHWyiGcraiXgNWkIesEyJO8Z7dR5Yr9y8WUU0+Qb7k7TLoVmrtQhH5mqZILxBp8PpSDJOkL7N+/BhLzyc4ikjospO2x+RQpzVIZtzc7JkniC8+MkT/X79CZjQeWef6c4wd;25:dylyVsMJ7ZypTsfaiywRUpWr+mI4+sz+lIhaHRLJt8PvPzegex0UZjwcIXBjdhf0RVbf48taWKlZe82xfFBlHcVZh1hlTJE46qZxsjOTUJv9gPc/vqtG+TjCeg2SAasLxSVFX1cwYBqYL3DKDsNp/WxTkM2GtGAhHUIZlTT3hSn9qKgOaiIhf1etzLmm/gdqBOs9W+4Z6sk7beotrX0cNHQWdAbHSYuNPZu5E0wqjaKsz7OPmGT00yfUMnskz7uK11rR4gjgDUAEpwMyBxA0oWGzEmYpnIEc9W1nOh+FMtYxneTlUpx7n3kLb9oiQLvUYgkVqfMnN1WKbbicbeoo8Q==;31:GvSD7yuw1DJV2RU1S6m7i9jz4wZiMU3HXxH0luvWQwOaLoDOXSJKBMnRTOOtZRlhKxfD747rvHrkPN9lxJTA0nOGwax0Ie5DJTnktYLk18Vd6+YUhcJ8DqfNUzQiJpSRow4qc15RF+eZTqLrhFfI9/uUPJwAS7485BTZg2Y1lziE0dL7qHdqxnvbMPqEbxPUB5z4CTdvOsp9zEe1jwpmWHKd5+9DrPLC9U3kjvFT5RU= X-MS-TrafficTypeDiagnostic: CY4PR1201MB0182: X-Microsoft-Exchange-Diagnostics: 1;CY4PR1201MB0182;20:cCIZ3xyTCN4INVjh4e41UaV4l0N0lYLgTuodwhgwlulWfk/GL+On7GGKY/1jropYbEMeTtetXCD6fJ1atxgrMNI3soqiK7yixw+/igXJZiaFWjomIgU84lQBqL9MUJ7h9FgII5z0JZLJ/VvRX9+zf7MFZxMkjS6KpeJbjFFEES3Te/QTec+uc2jaCFU7TZe1dLBAcPyPOm2rK+DRRyHKEU9dPPSR4MP5L6zXENKGvD4ZwihvyZ5BT1/WqtyvsoSLZuhgEATItyJJC8Jt5UXhJgkXbeWYkqh4gHItRiB6zgQnWW2+paYnYn9IVrWInqmJAj51mBgQhVBxjQhaApxL1l74Wa6l8J+DDHoZSKIeSdRcwORLj/qXkkDDu9iPD9A2v6EYU6sqUTuNaMNdzbqVprwR1cfTQPcWSDvY8REqRSTxERq62SVCl8UHSdACev2heg/Sb0lbcQMfANRC6xM+XaRZ+JY4pr6hleg9eNfBWcPoj3nO2ZQmSNaDR6iV43Jk;4:cHC0KNl2NdONSrqbzX7pCbInuU4OK0KVtq/QPfQb71BNRl3+0fmM6FhwLrk28Z+yUEaKcUUUBzgJ2MKdiVWrp8wzhv6Uj3YmsXe14nc5RajczXOf3Dhihw4aIdoWr2pezoEOPLfuZA6dbmHZX+QUJsnuPBfFsEJsJEhfWADtbUtGIonGta5vMVZjrt26esOZw5EUVBtWowmnVRe3qVpx7KONa4eYqC7CJ2y+H5FDpvWRoj6+V/6jUovCWlLXTgioIVPYGXosB5MFpOwhzk+qRYas0b2D1Y9TbuL9tkHrSLODIcJA8V4VK2jeVcdvwRrfIv7QMRUcojkOkS47iCM9kQ== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(9452136761055)(767451399110); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(2401047)(8121501046)(5005006)(3231022)(93006095)(93001095)(10201501046)(3002001)(100000703101)(100105400095)(6055026)(6041248)(20161123558100)(20161123562025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123555025)(20161123560025)(20161123564025)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095);SRVR:CY4PR1201MB0182;BCL:0;PCL:0;RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095);SRVR:CY4PR1201MB0182; X-Forefront-PRVS: 049897979A X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(6009001)(6049001)(346002)(376002)(39860400002)(24454002)(189002)(199003)(13464003)(81156014)(66066001)(65956001)(58126008)(8936002)(65806001)(31686004)(6486002)(16576012)(316002)(23676003)(67846002)(53546010)(77096006)(16526018)(53936002)(4326008)(101416001)(478600001)(110136005)(6246003)(36756003)(72206003)(68736007)(2906002)(83506002)(47776003)(33646002)(6666003)(106356001)(305945005)(105586002)(3260700006)(64126003)(5660300001)(230700001)(65826007)(25786009)(2950100002)(6636002)(50466002)(54906003)(39060400002)(86362001)(7736002)(8676002)(50986999)(97736004)(90366009)(81166006)(76176999)(54356999)(3846002)(6116002)(189998001)(229853002)(31696002);DIR:OUT;SFP:1101;SCL:1;SRVR:CY4PR1201MB0182;H:[10.136.131.217];FPR:;SPF:None;PTR:InfoNoRecords;MX:1;A:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtDWTRQUjEyMDFNQjAxODI7MjM6TDBQVzJla3Jhb2EvYldmQ0pMWDdQOUJ3?= =?utf-8?B?SGNqZkZKeWVtbEx5dDhCeXlrTy9NNXFZWStaMVFhUXUvREFFdzZKZHVIbXhn?= =?utf-8?B?SjRWOXR0MDNrTUxJeXErczFScU5tSDVjbktGWkF0VjQ0c1J3MjRla0x1b0dB?= =?utf-8?B?d3pYeDljU3lua3pjR242TDlaL2s0ME9teUU5cVdFa3VJVG1zclhYWVJIbWdi?= =?utf-8?B?d2pqN3lCWGZVY1ZxQ2ZoaUl3dGVmRnk0M0dTNm5IKzJPSS92NVpINmhMRXVZ?= =?utf-8?B?dEYrQ0RsNk5ta1JyeWdlVncwK2l5eFBldnh6WU1XZlFxMy9hb2ZRVmJJWkRT?= =?utf-8?B?Wk1Wckx2eTN1K1FrcldNN3hpbDFDOGh2SFFlSWMvTWdDZHdIcGplaWJBek1U?= =?utf-8?B?amRhakJVMWJqYmU3TVhoL0kvNmN2c0xycUluOVpBTmpmVjljLzAyeFlKcWdZ?= =?utf-8?B?bnREdW04bS9LVUpFM1IzK2F2UGJld1JLS2t5TVRUYTNGaE9IZjFzWkNibTdo?= =?utf-8?B?ZWVheVJnTnRXWUJUWDVPamdCSVdmMWFhWnJFN3Y4N1h0d0JOQWwzT1gyTnB1?= =?utf-8?B?bTIrN3l4R1lKRzFZRUdQNUZsbFlaTUIzRVpQWVVKN1hwRitzakQzbGtmQ2JF?= =?utf-8?B?dldMSm85ZmdRa0djSllLZk0rOWcrUFRRZE84MnBkQjJQUTdYNlBnQ2thbits?= =?utf-8?B?OTNwM3Z0M0Y5U3VoRUh5bXJ0WWRBc2NxNXBSdDRyQktJS04wV3QwSnZ5NGJ1?= =?utf-8?B?eTdoeXN3Qk5lWjVpUjdMUWRtakhhNGRPTy8rQW05MDg0N21NZ2pWM3drU1p3?= =?utf-8?B?cXU2TTdLVkgwL2wvUGR0WVQ0dTU1eTFOQ3Nwcy9mRjlldkRZVGJWSGRPTTkz?= =?utf-8?B?RUxEcnMrMWF3RS9uZmFhdXNRUWg4ZzE4dmlobU95Wk4rV2hyeE9iTWNkNGhJ?= =?utf-8?B?OWZSUHpScTJpRktqcEZuNHpmVWZaMVVpT24veXU5a0lIVjRlTy9Xcy9vVXRV?= =?utf-8?B?dTVXMUloYWMyMEpZVWVId0xzcXBXQUZFUUhNcFlweWs1VitKQXc3cVhtekxZ?= =?utf-8?B?eU1JVW9zd1RyY3BYOGMveGd0dzBSd1U0WTlYcTJJRmlqdDFucUFvdDJ4d0lS?= =?utf-8?B?N09LSFVDVkxhU3VxR1lINjBkRmNTQllsaGRsWWhXWFlBcGtEZVJEYldQc1lB?= =?utf-8?B?WHY3VldWWFBwRDQ0Kzdsd29tUGJFTkdkL09RYzlpclphZE9vVVoxZ2p2UHFW?= =?utf-8?B?MmZmclNRMmNwdVV6Y0lqdDl6T3BndzUxZ3hzSTNGUHI2MmwzQjdaeWRNVG03?= =?utf-8?B?SzRMeE1JVWFYK3AvOTBvMmJ3cFJQUitJelJmSUpVdHdEUkwvVWlEaTRJYWtv?= =?utf-8?B?R1Z3UUdqWUZaa2lZSW5BZ1RWM20zVml2aTk3YjRHdUNGUWR2ck42bnZaL0Zt?= =?utf-8?B?ZHFBam5wN1AyaFJIcitHdzZBMC8vbFZ6cnRNckVUWlRabTBJVWpNYUlwZHkw?= =?utf-8?B?aFV3c2s5c0gzU2FXYndkQTlQaHg0eWhtL0RKV25QYTBZQXRBRnN2MGFaSGZM?= =?utf-8?B?UzR6R1JtN1dYa2ZLcjE4Smp2bkVNclZ1S250VVdJeUdQcDZuTjVoOVhvYnZB?= =?utf-8?B?dThzRkJXaU4vbE1uVmoweFoxblcxVkVBUmhYSDY2aUkzdk9QZEdKK05KS0ZI?= =?utf-8?B?TGJWTVZTSS9hU2RyeGptMEs1R2JIT2FLaHkrNXYrVDFibU9oVElvMDMyaXdx?= =?utf-8?B?VGtUWDVaTFQxQTk5dDMwYVVjNkczUUNCeHRYdW1QVmV2RFdPVWdjMkw0RmFE?= =?utf-8?B?amI4UUtTM1pxYWIrZlFxR0RFbE9iS1hiZGxmUnBwUkJybURBVjlBcGg4cUhO?= =?utf-8?B?cVhHOFJTUGhkU2IzMThCT1N4ZlJsd2xEckhRbWp1UFBMS3BsRXVtM2Z2ZXQ3?= =?utf-8?B?WWo4QUZPem1Pd0d1V1AwVnd2VGJjMVpHOTdUYjRkejhrMkFPYXc4TGNrQ2Rx?= =?utf-8?B?cHhoUWhUOFh1bzd3YUtzSGVrRXRpb0JyeHpYSUFIWjc1bmoxd2lkOC82bkJ2?= =?utf-8?Q?PCOlUw=3D?= X-Microsoft-Exchange-Diagnostics: 1;CY4PR1201MB0182;6:UeAXHI3pLQ9scRo+0OoEI/hguMG1v+eMlF/iXZQAS7m7DIV/4LLsJKfHAITKs9zTfyEKGL/FaMHp9sOZ6iaXeF8kGUJLGWiH+f+HMHjp9iOg1b7TRTd4bFqiAoqlFTCCsViY5GxHhzHO4lDAaGY9Rm9/HXA/VuNq3QcV9bbpP3xRoPLmE7Mv11mLl/gWFPi/bB68X0FLZ8JbleA8DLV/lf1ut7Uu1KesbfWI2L0mGvmCDheZ3C7vnuhbKkrPSL/GBL60oZb5QfF0AggJV5nLTR+bfiNOJ3FGV6xnBMqlzLIndNKVYyNSlQHq6qsIE6Q+WkcrM0+2FzQ4zlYg6mFVABYJkznTDRW45C8oypqWM+w=;5:iS1FiJPyuocNRo/W/tbakPDr3MPi+EvtYoFtBVPmEJ7d8JPe4a6JKtVJLjpw4kV+HcM+OoLjdpiseXZyITWSbkQrQFPSigWstKBysYG+MESU+hqx/Lcz4sqbF3V1FfG1x7Wx26uz0tGfvvOMg6ZzgP+kKhA3Aum7ZXB5dBk2eRk=;24:fGKLxVY9cYceWDOaLLbxvZEet25ZxGgtk6NFkAPqcj6F+jnKE7tAkAfDuRjqjftGbLXRYnzyL9oSN9xPR4Y4qc++Y+qpLBVw3xSNB0up3j4=;7:XmSc+FapZqJaA0u7RrKLlZ4f8Tthlx0gP/36STH0dNKk2O5B0STjdGDfHEIYsx9+w5rrohZCet2ck5thj87I++xXXSeJRxOvPqFC1gZH7Nne54MaY0lxaebo+N0bLsnRWHHCgNOPEqsI2s9M0FaZszs6NElUeXIZeyTGgp72YJfoU5GM/xjwFZ4TUoxqHA2hXRll0w7a0IjPjScj84e7zWGeV2BkkiXvU+IwBdWSBXZ+jXO1jMh9o94PM4YGy6wp SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;CY4PR1201MB0182;20:IQu/Msl0cyDJHFXHgdrrQuzBuy3fAl2oDsWhQEcYuhPaDk6UXLc08AtF5lfUGYa7lgB3fPoHVb8yf2TH/j+liANcBCuUWn323sQDtwf+w/ZZFhswepgSJEt6q9WNKYrVktvDaGJBfDnY7H6weLrA4YveKKh3kU8IbZR6N6OK9dfw/PxolP/Y0ytJkDtZMTV2gLVoQMxKC6MMP49JFGACEVvKl7u5HwPEKxx8fDMtxY3awiV1joOw15WQg4/+PEPv X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Nov 2017 06:15:33.4422 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: c687a7b2-4826-410a-9e62-08d530a747f2 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR1201MB0182 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 11/21/2017 10:17 AM, Deucher, Alexander wrote: >> -----Original Message----- >> From: Guenter Roeck [mailto:groeck7@gmail.com] On Behalf Of Guenter >> Roeck >> Sent: Monday, November 20, 2017 11:28 PM >> To: Liam Girdwood >> Cc: Mark Brown; Jaroslav Kysela; Takashi Iwai; alsa-devel@alsa-project.org; >> linux-kernel@vger.kernel.org; Guenter Roeck; Deucher, Alexander; Dominik >> Behr; Daniel Kurtz >> Subject: [PATCH] ASoC: amd: Add error checking to probe function >> >> The acp_audio_dma does not perform sufficient error checking in its probe >> function. This can result in crashes if a critical error path is >> encountered. >> >> Fixes: 7c31335a03b6a ("ASoC: AMD: add AMD ASoC ACP 2.x DMA driver") >> Cc: Alex Deucher >> Cc: Dominik Behr >> Cc: Daniel Kurtz >> Signed-off-by: Guenter Roeck >> --- >> I didn't add an error check to acp_init() since I was not sure if >> its return value is ignored on purpose. > > Vijendar, Akshu can you comment? This is also the case of missing error check. acp_init will return error if either sw reset did not happen or clock did not get enabled. In both cases we should error out in probe. > > The patch looks good to me. > Reviewed-by: Alex Deucher > >> >> sound/soc/amd/acp-pcm-dma.c | 7 +++++++ >> 1 file changed, 7 insertions(+) >> >> diff --git a/sound/soc/amd/acp-pcm-dma.c b/sound/soc/amd/acp-pcm- >> dma.c >> index 9f521a55d610..b5e41df6bb3a 100644 >> --- a/sound/soc/amd/acp-pcm-dma.c >> +++ b/sound/soc/amd/acp-pcm-dma.c >> @@ -1051,6 +1051,11 @@ static int acp_audio_probe(struct platform_device >> *pdev) >> struct resource *res; >> const u32 *pdata = pdev->dev.platform_data; >> >> + if (!pdata) { >> + dev_err(&pdev->dev, "Missing platform data\n"); >> + return -ENODEV; >> + } >> + >> audio_drv_data = devm_kzalloc(&pdev->dev, sizeof(struct >> audio_drv_data), >> GFP_KERNEL); >> if (audio_drv_data == NULL) >> @@ -1058,6 +1063,8 @@ static int acp_audio_probe(struct platform_device >> *pdev) >> >> res = platform_get_resource(pdev, IORESOURCE_MEM, 0); >> audio_drv_data->acp_mmio = devm_ioremap_resource(&pdev- >>> dev, res); >> + if (IS_ERR(audio_drv_data->acp_mmio)) >> + return PTR_ERR(audio_drv_data->acp_mmio); >> >> /* The following members gets populated in device 'open' >> * function. Till then interrupts are disabled in 'acp_init' >> -- >> 2.7.4 >