aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTushar Behera <tushar.behera@linaro.org>2013-02-01 15:48:07 +0530
committerTushar Behera <tushar.behera@linaro.org>2013-05-09 15:22:13 +0530
commit2799b9f41506ca14574badfb875b28d70fe7da77 (patch)
tree2f43a54ce929f9fd63146214aa3b80576975aa06
parent84d2414ec627430be57ac8883a2fd1cec1e8bc30 (diff)
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 030831c69860..01ec82e1b3c0 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 84790f26a626..f001262255e6 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;