summaryrefslogtreecommitdiff
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-06-19 16:53:47 +0530
commit8f8bf79ed28263781db9a27938a6050f4f6589a8 (patch)
tree93aa6e12b51fa676682d69f455e81dc7afc2e33d
parentf7343c391b8a4dea6baa623f83865756a85b64d1 (diff)
downloadlinux-linaro-tracking-8f8bf79ed28263781db9a27938a6050f4f6589a8.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 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;