diff options
author | Martin Chabot <mchabot@nvidia.com> | 2012-10-10 17:37:28 +0200 |
---|---|---|
committer | Dan Willemsen <dwillemsen@nvidia.com> | 2013-09-14 12:47:32 -0700 |
commit | 2a4832774937cdcb9b8cb5e4fe5defbbccf24670 (patch) | |
tree | ccbcee02a0024651e87c2fed873b0f7cfca33f23 /arch/arm/mach-tegra/tegra_bb.c | |
parent | 099356ac264a50f045290d41672de88a6c0bee06 (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.c | 7 |
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; |