mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-24 12:44:11 +08:00
iwlegacy: make il3945_mac_ops __ro_after_init
There's no need for this to be only __read_mostly, since it's only written in a single way depending on the module parameter, so that can be moved into the module's __init function, and the ops can be __ro_after_init. This is a little bit safer since it means the ops can't be overwritten (accidentally or otherwise), which would otherwise cause an arbitrary function or bad pointer to be called. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Acked-by: Stanislaw Gruszka <sgruszka@redhat.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
This commit is contained in:
parent
d7864cf212
commit
ae3cf47645
@ -3469,7 +3469,7 @@ static struct attribute_group il3945_attribute_group = {
|
||||
.attrs = il3945_sysfs_entries,
|
||||
};
|
||||
|
||||
static struct ieee80211_ops il3945_mac_ops __read_mostly = {
|
||||
static struct ieee80211_ops il3945_mac_ops __ro_after_init = {
|
||||
.tx = il3945_mac_tx,
|
||||
.start = il3945_mac_start,
|
||||
.stop = il3945_mac_stop,
|
||||
@ -3627,15 +3627,6 @@ il3945_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
|
||||
|
||||
il->cmd_queue = IL39_CMD_QUEUE_NUM;
|
||||
|
||||
/*
|
||||
* Disabling hardware scan means that mac80211 will perform scans
|
||||
* "the hard way", rather than using device's scan.
|
||||
*/
|
||||
if (il3945_mod_params.disable_hw_scan) {
|
||||
D_INFO("Disabling hw_scan\n");
|
||||
il3945_mac_ops.hw_scan = NULL;
|
||||
}
|
||||
|
||||
D_INFO("*** LOAD DRIVER ***\n");
|
||||
il->cfg = cfg;
|
||||
il->ops = &il3945_ops;
|
||||
@ -3913,6 +3904,15 @@ il3945_init(void)
|
||||
pr_info(DRV_DESCRIPTION ", " DRV_VERSION "\n");
|
||||
pr_info(DRV_COPYRIGHT "\n");
|
||||
|
||||
/*
|
||||
* Disabling hardware scan means that mac80211 will perform scans
|
||||
* "the hard way", rather than using device's scan.
|
||||
*/
|
||||
if (il3945_mod_params.disable_hw_scan) {
|
||||
pr_info("hw_scan is disabled\n");
|
||||
il3945_mac_ops.hw_scan = NULL;
|
||||
}
|
||||
|
||||
ret = il3945_rate_control_register();
|
||||
if (ret) {
|
||||
pr_err("Unable to register rate control algorithm: %d\n", ret);
|
||||
|
Loading…
Reference in New Issue
Block a user