summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTushar Behera <tushar.behera@linaro.org>2013-02-01 15:48:07 +0530
committerAndrey Konovalov <andrey.konovalov@linaro.org>2013-02-21 17:49:17 +0400
commit207e0ba9d5b90f34442a0286c8c3b765c616198d (patch)
tree4d23c9290a8eef777c1f9f368fc8504f1c1e1ed0
parent95debee8239534ea889b28b3edad6f9ff34828a3 (diff)
downloadlinux-linaro-tracking-with-fixes-207e0ba9d5b90f34442a0286c8c3b765c616198d.tar.gz
ata: exynos: Remove __init attribute to fix kernel crash
The probe function of SATA phy driver is being accessed later in SATA probe. But it gets poisoned memory during that time. Suspecting __init attribute to be the culprit. Signed-off-by: Tushar Behera <tushar.behera@linaro.org>
-rw-r--r--drivers/ata/sata_exynos.c2
-rw-r--r--drivers/ata/sata_exynos_phy.c4
2 files changed, 3 insertions, 3 deletions
diff --git a/drivers/ata/sata_exynos.c b/drivers/ata/sata_exynos.c
index 030831c6986..01ec82e1b3c 100644
--- a/drivers/ata/sata_exynos.c
+++ b/drivers/ata/sata_exynos.c
@@ -55,7 +55,7 @@ static void exynos_sata_parse_dt(struct device_node *np,
of_property_read_u32(np, "samsung,sata-freq", &sata->freq);
}
-static int __init exynos_sata_probe(struct platform_device *pdev)
+static int exynos_sata_probe(struct platform_device *pdev)
{
struct device *dev = &pdev->dev;
struct ata_port_info pi = ahci_port_info;
diff --git a/drivers/ata/sata_exynos_phy.c b/drivers/ata/sata_exynos_phy.c
index 84790f26a62..f001262255e 100644
--- a/drivers/ata/sata_exynos_phy.c
+++ b/drivers/ata/sata_exynos_phy.c
@@ -149,14 +149,14 @@ static int sataphy_shutdown(struct sata_phy *phy)
return 0;
}
-static int __init sata_i2c_probe(struct i2c_client *client,
+static int sata_i2c_probe(struct i2c_client *client,
const struct i2c_device_id *i2c_id)
{
i2c_client = client;
return 0;
}
-static int __init sata_phy_probe(struct platform_device *pdev)
+static int sata_phy_probe(struct platform_device *pdev)
{
struct exynos_sata_phy *sataphy;
struct sata_phy *phy;