Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c07fe5ae authored by Sasha Levin's avatar Sasha Levin Committed by Johannes Berg
Browse files

mac80211_hwsim: correctly register the platform driver



Not registering a platform_driver would make us access garbage
when the platform callbacks under driver_register() kicks in.

Signed-off-by: default avatarSasha Levin <sasha.levin@oracle.com>
Tested-By: default avatarMartin Pitt <martin.pitt@ubuntu.com>
Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
parent 03cd7e4e
Loading
Loading
Loading
Loading
+9 −9
Original line number Diff line number Diff line
@@ -1723,11 +1723,11 @@ static void mac80211_hwsim_free(void)
	class_destroy(hwsim_class);
}


static struct device_driver mac80211_hwsim_driver = {
static struct platform_driver mac80211_hwsim_driver = {
	.driver = {
		.name = "mac80211_hwsim",
	.bus = &platform_bus_type,
		.owner = THIS_MODULE,
	},
};

static const struct net_device_ops hwsim_netdev_ops = {
@@ -2219,7 +2219,7 @@ static int __init init_mac80211_hwsim(void)
	spin_lock_init(&hwsim_radio_lock);
	INIT_LIST_HEAD(&hwsim_radios);

	err = driver_register(&mac80211_hwsim_driver);
	err = platform_driver_register(&mac80211_hwsim_driver);
	if (err)
		return err;

@@ -2254,7 +2254,7 @@ static int __init init_mac80211_hwsim(void)
			err = -ENOMEM;
			goto failed_drvdata;
		}
		data->dev->driver = &mac80211_hwsim_driver;
		data->dev->driver = &mac80211_hwsim_driver.driver;
		err = device_bind_driver(data->dev);
		if (err != 0) {
			printk(KERN_DEBUG
@@ -2564,7 +2564,7 @@ failed_drvdata:
failed:
	mac80211_hwsim_free();
failed_unregister_driver:
	driver_unregister(&mac80211_hwsim_driver);
	platform_driver_unregister(&mac80211_hwsim_driver);
	return err;
}
module_init(init_mac80211_hwsim);
@@ -2577,6 +2577,6 @@ static void __exit exit_mac80211_hwsim(void)

	mac80211_hwsim_free();
	unregister_netdev(hwsim_mon);
	driver_unregister(&mac80211_hwsim_driver);
	platform_driver_unregister(&mac80211_hwsim_driver);
}
module_exit(exit_mac80211_hwsim);