Received: by 2002:a25:8b91:0:0:0:0:0 with SMTP id j17csp155133ybl; Thu, 5 Dec 2019 17:02:46 -0800 (PST) X-Google-Smtp-Source: APXvYqy45IRqNcrahYxCVygUXAbE5oxxIKNRBQBxeHALkMq6/ru4gXtpcQ6SZaMdMjKSiBQTTeia X-Received: by 2002:a9d:798e:: with SMTP id h14mr8892445otm.257.1575594166427; Thu, 05 Dec 2019 17:02:46 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1575594166; cv=none; d=google.com; s=arc-20160816; b=DK6FdP5oa6rtegnHFzsX9sksRUOBymX5S+PXb0pR3czoLVDEMXNLlt4n8a8BSWn7TW uSMhSpIIHbskUioEYBmcCUZbP3NcYZnQXhfFxQvVKmw6zzTL1N0Q9+1M8D9bj9BTURKD v2+3Q5OWWbKONCBDJHpICG2cADJItfiwjmWv7UGFNDc2JqTNurpMuJiU0aH1gugcI7KL C2ldPdMGEJvPTbvabsjy+/JO2jScebpfLlJ+UZuNvoEJo3ePO2E+tyyfqW38HOGrs7Zu QchnSSbx9aVAYvGhm1j0LxrCZcruwJZ6unhfjByp/+kLnooK4rc7HmGKF3nhqRYsaksT wN9w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:message-id:date:subject:cc:to:from :dkim-signature; bh=n838+sn4bG9Uk+EUak61BRvfIERSwMTFakidd6XsXRg=; b=XTO6NANorE0PkCXE31r3jJNxtemnR1XbVML/02Uf+LpZywRcEYNWtoM/LsimNQK1Uo ivmeIuXqLO0VuYNRdpXntmRgEBuwe26aJnWgaqlUF32Sn7cmtdr3D3tWg/yOFGHM4t25 62OgUTvmxj0aRObxhqX0y01+EMjIkFQrdMWCeO+QChjssuUGsq6eWP9tSc/viUlo2nfc vwMoY/iY0WhcsGf8WJc/3ysM3yox+HW5ommX77Gy8KjCTWKd6eb9CYBdVwD35HHQyir1 Loul3Z51xAbDYWi4KUGXQaGMyCYUqiWpqdpXkdzmPJi4mxAWv0KZ6gW2hPcEpoSgZEvt Ar5w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@umn.edu header.s=google header.b=gL5WcT4M; 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=NONE dis=NONE) header.from=umn.edu Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id j83si6359956oif.63.2019.12.05.17.02.33; Thu, 05 Dec 2019 17:02:46 -0800 (PST) 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=@umn.edu header.s=google header.b=gL5WcT4M; 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=NONE dis=NONE) header.from=umn.edu Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726088AbfLFBAf (ORCPT + 99 others); Thu, 5 Dec 2019 20:00:35 -0500 Received: from mta-p6.oit.umn.edu ([134.84.196.206]:47598 "EHLO mta-p6.oit.umn.edu" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726034AbfLFBAf (ORCPT ); Thu, 5 Dec 2019 20:00:35 -0500 Received: from localhost (unknown [127.0.0.1]) by mta-p6.oit.umn.edu (Postfix) with ESMTP id 47TZ5G4PV7z9vhZV for ; Fri, 6 Dec 2019 01:00:34 +0000 (UTC) X-Virus-Scanned: amavisd-new at umn.edu Received: from mta-p6.oit.umn.edu ([127.0.0.1]) by localhost (mta-p6.oit.umn.edu [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id YlOAEJl9qgJ9 for ; Thu, 5 Dec 2019 19:00:34 -0600 (CST) Received: from mail-yw1-f70.google.com (mail-yw1-f70.google.com [209.85.161.70]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mta-p6.oit.umn.edu (Postfix) with ESMTPS id 47TZ5G2sC1z9vhZK for ; Thu, 5 Dec 2019 19:00:34 -0600 (CST) Received: by mail-yw1-f70.google.com with SMTP id a16so3959025ywa.18 for ; Thu, 05 Dec 2019 17:00:34 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=umn.edu; s=google; h=from:to:cc:subject:date:message-id; bh=n838+sn4bG9Uk+EUak61BRvfIERSwMTFakidd6XsXRg=; b=gL5WcT4Mc0H8rePtZqFSwH1R6vC2OZAqlrtr8KDt6orBDMV46jVFTGxRTyV2ujEFJz gSS0SUfMwRB47vPHryM1EH6SejcdhhmNwcg/v3D++KlJ5dWoxjJ5sdCF7HaJHJvcX6Xg eMnfXSNd+uoEHLE8PC9ae9K0mdbL+EqHbwzXYsxJHCqMltL5JmzktEQEsR6TCw12id1a +8L2Kp9vt0naxloHBBzJmm6A7sPTzfGue2FqPGKsiMqluJdu8dn0tL97IwpnAArOc16b au8VP1YkUI3dWmiffTTvsoi0VPpFJb9w+JrSAcb1SG/ZmdDDmSCJ2zLxiECF4h72LD6B no2g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=n838+sn4bG9Uk+EUak61BRvfIERSwMTFakidd6XsXRg=; b=Cx6WrsF462RKFEg8xzzxx1BMH3QD/1PAQ0LXLZDxlU5BsPWeoL44MsXqaWM0mJm4iy +ZR0tgsqVtQg9leBfXP3KlN0UpkQTGv+H1GGrdPul4rno4H/26siDTFMH/iqgm9erJ8u n+tJ97IV7yygxtTHsLSK+tZL2akMcnE0JhLCIfxYuVdIaZGL1PO7TzsMYEXA/3Jc/lKu so/7raze/Xpoz5lo9tzyOIaM7QDyMaIcwiCIDDD997yetmnptp2RKgAs1jpKzZZC5/sB PCmkujMAEfG2PJ5kqPLSLSbW7ucUKMUrbxEY+pqB2sxfVqKftWHj3SQNBlrtdkJr3Pv3 zGXA== X-Gm-Message-State: APjAAAURmHHlU3eLEWS3kv3LtLeRpo4h+3DUBb9V25H9Usxc1A8n447j kHRQi61m8M4cAgHPtmnmdrHmeh0HaNOrkGz5euqSGWfzvwRsOTfd5P/84+jGsrmit2QhmP3bGZ2 fAzWOXFwAWeqYfkS3F93TCY3eIkR4 X-Received: by 2002:a81:9bc4:: with SMTP id s187mr8306895ywg.285.1575594033842; Thu, 05 Dec 2019 17:00:33 -0800 (PST) X-Received: by 2002:a81:9bc4:: with SMTP id s187mr8306879ywg.285.1575594033599; Thu, 05 Dec 2019 17:00:33 -0800 (PST) Received: from cs-u-syssec1.dtc.umn.edu (cs-u-syssec1.cs.umn.edu. [128.101.106.66]) by smtp.gmail.com with ESMTPSA id d80sm5567735ywa.58.2019.12.05.17.00.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 05 Dec 2019 17:00:33 -0800 (PST) From: Aditya Pakki To: pakki001@umn.edu Cc: kjlu@umn.edu, "Lad, Prabhakar" , Mauro Carvalho Chehab , linux-media@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH] media: davinci/vpfe_capture.c: Avoid BUG_ON for register failure Date: Thu, 5 Dec 2019 19:00:29 -0600 Message-Id: <20191206010029.14265-1-pakki001@umn.edu> X-Mailer: git-send-email 2.17.1 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org In vpfe_register_ccdc_device(), failure to allocate dev->hw_ops invokes calls to BUG_ON(). This patch returns the error to callers instead of crashing. Signed-off-by: Aditya Pakki --- drivers/media/platform/davinci/vpfe_capture.c | 21 ++++++------------- 1 file changed, 6 insertions(+), 15 deletions(-) diff --git a/drivers/media/platform/davinci/vpfe_capture.c b/drivers/media/platform/davinci/vpfe_capture.c index 916ed743d716..6d394a006977 100644 --- a/drivers/media/platform/davinci/vpfe_capture.c +++ b/drivers/media/platform/davinci/vpfe_capture.c @@ -168,21 +168,11 @@ int vpfe_register_ccdc_device(const struct ccdc_hw_device *dev) int ret = 0; printk(KERN_NOTICE "vpfe_register_ccdc_device: %s\n", dev->name); - BUG_ON(!dev->hw_ops.open); - BUG_ON(!dev->hw_ops.enable); - BUG_ON(!dev->hw_ops.set_hw_if_params); - BUG_ON(!dev->hw_ops.configure); - BUG_ON(!dev->hw_ops.set_buftype); - BUG_ON(!dev->hw_ops.get_buftype); - BUG_ON(!dev->hw_ops.enum_pix); - BUG_ON(!dev->hw_ops.set_frame_format); - BUG_ON(!dev->hw_ops.get_frame_format); - BUG_ON(!dev->hw_ops.get_pixel_format); - BUG_ON(!dev->hw_ops.set_pixel_format); - BUG_ON(!dev->hw_ops.set_image_window); - BUG_ON(!dev->hw_ops.get_image_window); - BUG_ON(!dev->hw_ops.get_line_length); - BUG_ON(!dev->hw_ops.getfid); + if (!dev->hw_ops) { + printk(KERN_ERR "could not allocate hw_ops\n"); + ret = -EINVAL; + goto rvalue; + } mutex_lock(&ccdc_lock); if (!ccdc_cfg) { @@ -211,6 +201,7 @@ int vpfe_register_ccdc_device(const struct ccdc_hw_device *dev) ccdc_dev = dev; unlock: mutex_unlock(&ccdc_lock); +rvalue: return ret; } EXPORT_SYMBOL(vpfe_register_ccdc_device); -- 2.17.1