mirror of https://gitee.com/openkylin/linux.git
ath9k: add a quirk to set use_msi automatically
Some platform(BIOS) blocks legacy interrupts (INTx), and only allows MSI for WLAN device. So adding a quirk to list those machines and set use_msi automatically. Adding the following platforms to the quirk. Dell Inspiron 24-3460 Dell Inspiron 3472 Dell Inspiron 14-3473 Dell Vostro 3262 Dell Vostro 15-3572 Signed-off-by: AceLan Kao <acelan.kao@canonical.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
This commit is contained in:
parent
7368160f0a
commit
3153b68e4d
|
@ -23,6 +23,7 @@
|
|||
#include <linux/of.h>
|
||||
#include <linux/of_net.h>
|
||||
#include <linux/relay.h>
|
||||
#include <linux/dmi.h>
|
||||
#include <net/ieee80211_radiotap.h>
|
||||
|
||||
#include "ath9k.h"
|
||||
|
@ -96,6 +97,56 @@ static const struct ieee80211_tpt_blink ath9k_tpt_blink[] = {
|
|||
};
|
||||
#endif
|
||||
|
||||
static int __init set_use_msi(const struct dmi_system_id *dmi)
|
||||
{
|
||||
ath9k_use_msi = 1;
|
||||
return 1;
|
||||
}
|
||||
|
||||
static const struct dmi_system_id ath9k_quirks[] __initconst = {
|
||||
{
|
||||
.callback = set_use_msi,
|
||||
.ident = "Dell Inspiron 24-3460",
|
||||
.matches = {
|
||||
DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
|
||||
DMI_MATCH(DMI_PRODUCT_NAME, "Inspiron 24-3460"),
|
||||
},
|
||||
},
|
||||
{
|
||||
.callback = set_use_msi,
|
||||
.ident = "Dell Vostro 3262",
|
||||
.matches = {
|
||||
DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
|
||||
DMI_MATCH(DMI_PRODUCT_NAME, "Vostro 3262"),
|
||||
},
|
||||
},
|
||||
{
|
||||
.callback = set_use_msi,
|
||||
.ident = "Dell Inspiron 3472",
|
||||
.matches = {
|
||||
DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
|
||||
DMI_MATCH(DMI_PRODUCT_NAME, "Inspiron 3472"),
|
||||
},
|
||||
},
|
||||
{
|
||||
.callback = set_use_msi,
|
||||
.ident = "Dell Vostro 15-3572",
|
||||
.matches = {
|
||||
DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
|
||||
DMI_MATCH(DMI_PRODUCT_NAME, "Vostro 15-3572"),
|
||||
},
|
||||
},
|
||||
{
|
||||
.callback = set_use_msi,
|
||||
.ident = "Dell Inspiron 14-3473",
|
||||
.matches = {
|
||||
DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
|
||||
DMI_MATCH(DMI_PRODUCT_NAME, "Inspiron 14-3473"),
|
||||
},
|
||||
},
|
||||
{}
|
||||
};
|
||||
|
||||
static void ath9k_deinit_softc(struct ath_softc *sc);
|
||||
|
||||
static void ath9k_op_ps_wakeup(struct ath_common *common)
|
||||
|
@ -1104,6 +1155,8 @@ static int __init ath9k_init(void)
|
|||
goto err_pci_exit;
|
||||
}
|
||||
|
||||
dmi_check_system(ath9k_quirks);
|
||||
|
||||
return 0;
|
||||
|
||||
err_pci_exit:
|
||||
|
|
Loading…
Reference in New Issue