summaryrefslogtreecommitdiff
path: root/arch/arm/mach-tegra/tegra_bb.c
diff options
context:
space:
mode:
authorMartin Chabot <mchabot@nvidia.com>2012-10-10 17:37:28 +0200
committerDan Willemsen <dwillemsen@nvidia.com>2013-09-14 12:47:32 -0700
commit2a4832774937cdcb9b8cb5e4fe5defbbccf24670 (patch)
treeccbcee02a0024651e87c2fed873b0f7cfca33f23 /arch/arm/mach-tegra/tegra_bb.c
parent099356ac264a50f045290d41672de88a6c0bee06 (diff)
arm: tegra: tegra_bb: remove sysfs_notify call from irq
This was causing a kernel crash in bb_boot_test test suite Bug 1156600 Change-Id: If56a95590cb4d8fd5c0f6f498a426723ebda9e4c Signed-off-by: Martin Chabot <mchabot@nvidia.com> Reviewed-on: http://git-master/r/143280 Reviewed-by: Bo Yan <byan@nvidia.com>
Diffstat (limited to 'arch/arm/mach-tegra/tegra_bb.c')
-rw-r--r--arch/arm/mach-tegra/tegra_bb.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/arch/arm/mach-tegra/tegra_bb.c b/arch/arm/mach-tegra/tegra_bb.c
index 3ea272d8cb5b..bc8c586ccd31 100644
--- a/arch/arm/mach-tegra/tegra_bb.c
+++ b/arch/arm/mach-tegra/tegra_bb.c
@@ -84,6 +84,7 @@ struct tegra_bb {
struct miscdevice dev_priv;
struct miscdevice dev_ipc;
struct device *dev;
+ struct sysfs_dirent *sd;
struct nvshm_platform_data nvshm_pdata;
struct platform_device nvshm_device;
};
@@ -520,8 +521,8 @@ static irqreturn_t tegra_bb_isr_handler(int irq, void *data)
if ((bb->status != TEGRA_BB_IPC_READY) ||
(bb->status != sts)) {
- pr_debug("%s: notify sysfs\n", __func__);
- sysfs_notify(&bb->dev->kobj, NULL, "status");
+ pr_debug("%s: notify sysfs status %d\n", __func__, sts);
+ sysfs_notify_dirent(bb->sd);
}
bb->status = sts;
@@ -627,6 +628,8 @@ static int tegra_bb_probe(struct platform_device *pdev)
ret = device_create_file(&pdev->dev, &dev_attr_ipc_size);
ret = device_create_file(&pdev->dev, &dev_attr_reset);
+ bb->sd = sysfs_get_dirent(pdev->dev.kobj.sd, NULL, "status");
+
bb->nvshm_pdata.ipc_base_virt = bb->ipc_virt;
bb->nvshm_pdata.ipc_size = bb->ipc_size;
bb->nvshm_pdata.mb_base_virt = bb->mb_virt;