mirror of
https://github.com/pentoo/pentoo-overlay
synced 2026-02-08 08:26:06 +01:00
398 lines
No EOL
14 KiB
Diff
398 lines
No EOL
14 KiB
Diff
diff --git a/drivers/net/wireless/ath/ath.h b/drivers/net/wireless/ath/ath.h
|
|
index c54b7d37..af1f359 100644
|
|
--- a/drivers/net/wireless/ath/ath.h
|
|
+++ b/drivers/net/wireless/ath/ath.h
|
|
@@ -119,6 +119,7 @@ struct ath_ops {
|
|
void (*write_flush) (void *);
|
|
u32 (*rmw)(void *, u32 reg_offset, u32 set, u32 clr);
|
|
};
|
|
+typedef struct ath_ops __no_const ath_ops_no_const;
|
|
|
|
struct ath_common;
|
|
struct ath_bus_ops;
|
|
diff --git a/drivers/net/wireless/ath/ath9k/ar9002_mac.c b/drivers/net/wireless/ath/ath9k/ar9002_mac.c
|
|
index aa2abaf..5f5152d 100644
|
|
--- a/drivers/net/wireless/ath/ath9k/ar9002_mac.c
|
|
+++ b/drivers/net/wireless/ath/ath9k/ar9002_mac.c
|
|
@@ -183,8 +183,8 @@ ar9002_set_txdesc(struct ath_hw *ah, void *ds, struct ath_tx_info *i)
|
|
ads->ds_txstatus6 = ads->ds_txstatus7 = 0;
|
|
ads->ds_txstatus8 = ads->ds_txstatus9 = 0;
|
|
|
|
- ACCESS_ONCE(ads->ds_link) = i->link;
|
|
- ACCESS_ONCE(ads->ds_data) = i->buf_addr[0];
|
|
+ ACCESS_ONCE_RW(ads->ds_link) = i->link;
|
|
+ ACCESS_ONCE_RW(ads->ds_data) = i->buf_addr[0];
|
|
|
|
ctl1 = i->buf_len[0] | (i->is_last ? 0 : AR_TxMore);
|
|
ctl6 = SM(i->keytype, AR_EncrType);
|
|
@@ -198,26 +198,26 @@ ar9002_set_txdesc(struct ath_hw *ah, void *ds, struct ath_tx_info *i)
|
|
|
|
if ((i->is_first || i->is_last) &&
|
|
i->aggr != AGGR_BUF_MIDDLE && i->aggr != AGGR_BUF_LAST) {
|
|
- ACCESS_ONCE(ads->ds_ctl2) = set11nTries(i->rates, 0)
|
|
+ ACCESS_ONCE_RW(ads->ds_ctl2) = set11nTries(i->rates, 0)
|
|
| set11nTries(i->rates, 1)
|
|
| set11nTries(i->rates, 2)
|
|
| set11nTries(i->rates, 3)
|
|
| (i->dur_update ? AR_DurUpdateEna : 0)
|
|
| SM(0, AR_BurstDur);
|
|
|
|
- ACCESS_ONCE(ads->ds_ctl3) = set11nRate(i->rates, 0)
|
|
+ ACCESS_ONCE_RW(ads->ds_ctl3) = set11nRate(i->rates, 0)
|
|
| set11nRate(i->rates, 1)
|
|
| set11nRate(i->rates, 2)
|
|
| set11nRate(i->rates, 3);
|
|
} else {
|
|
- ACCESS_ONCE(ads->ds_ctl2) = 0;
|
|
- ACCESS_ONCE(ads->ds_ctl3) = 0;
|
|
+ ACCESS_ONCE_RW(ads->ds_ctl2) = 0;
|
|
+ ACCESS_ONCE_RW(ads->ds_ctl3) = 0;
|
|
}
|
|
|
|
if (!i->is_first) {
|
|
- ACCESS_ONCE(ads->ds_ctl0) = 0;
|
|
- ACCESS_ONCE(ads->ds_ctl1) = ctl1;
|
|
- ACCESS_ONCE(ads->ds_ctl6) = ctl6;
|
|
+ ACCESS_ONCE_RW(ads->ds_ctl0) = 0;
|
|
+ ACCESS_ONCE_RW(ads->ds_ctl1) = ctl1;
|
|
+ ACCESS_ONCE_RW(ads->ds_ctl6) = ctl6;
|
|
return;
|
|
}
|
|
|
|
@@ -242,7 +242,7 @@ ar9002_set_txdesc(struct ath_hw *ah, void *ds, struct ath_tx_info *i)
|
|
break;
|
|
}
|
|
|
|
- ACCESS_ONCE(ads->ds_ctl0) = (i->pkt_len & AR_FrameLen)
|
|
+ ACCESS_ONCE_RW(ads->ds_ctl0) = (i->pkt_len & AR_FrameLen)
|
|
| (i->flags & ATH9K_TXDESC_VMF ? AR_VirtMoreFrag : 0)
|
|
| SM(i->txpower, AR_XmitPower)
|
|
| (i->flags & ATH9K_TXDESC_VEOL ? AR_VEOL : 0)
|
|
@@ -252,19 +252,19 @@ ar9002_set_txdesc(struct ath_hw *ah, void *ds, struct ath_tx_info *i)
|
|
| (i->flags & ATH9K_TXDESC_RTSENA ? AR_RTSEnable :
|
|
(i->flags & ATH9K_TXDESC_CTSENA ? AR_CTSEnable : 0));
|
|
|
|
- ACCESS_ONCE(ads->ds_ctl1) = ctl1;
|
|
- ACCESS_ONCE(ads->ds_ctl6) = ctl6;
|
|
+ ACCESS_ONCE_RW(ads->ds_ctl1) = ctl1;
|
|
+ ACCESS_ONCE_RW(ads->ds_ctl6) = ctl6;
|
|
|
|
if (i->aggr == AGGR_BUF_MIDDLE || i->aggr == AGGR_BUF_LAST)
|
|
return;
|
|
|
|
- ACCESS_ONCE(ads->ds_ctl4) = set11nPktDurRTSCTS(i->rates, 0)
|
|
+ ACCESS_ONCE_RW(ads->ds_ctl4) = set11nPktDurRTSCTS(i->rates, 0)
|
|
| set11nPktDurRTSCTS(i->rates, 1);
|
|
|
|
- ACCESS_ONCE(ads->ds_ctl5) = set11nPktDurRTSCTS(i->rates, 2)
|
|
+ ACCESS_ONCE_RW(ads->ds_ctl5) = set11nPktDurRTSCTS(i->rates, 2)
|
|
| set11nPktDurRTSCTS(i->rates, 3);
|
|
|
|
- ACCESS_ONCE(ads->ds_ctl7) = set11nRateFlags(i->rates, 0)
|
|
+ ACCESS_ONCE_RW(ads->ds_ctl7) = set11nRateFlags(i->rates, 0)
|
|
| set11nRateFlags(i->rates, 1)
|
|
| set11nRateFlags(i->rates, 2)
|
|
| set11nRateFlags(i->rates, 3)
|
|
diff --git a/drivers/net/wireless/ath/ath9k/ar9003_mac.c b/drivers/net/wireless/ath/ath9k/ar9003_mac.c
|
|
index a66a13b..0ef399e 100644
|
|
--- a/drivers/net/wireless/ath/ath9k/ar9003_mac.c
|
|
+++ b/drivers/net/wireless/ath/ath9k/ar9003_mac.c
|
|
@@ -39,47 +39,47 @@ ar9003_set_txdesc(struct ath_hw *ah, void *ds, struct ath_tx_info *i)
|
|
(i->qcu << AR_TxQcuNum_S) | desc_len;
|
|
|
|
checksum += val;
|
|
- ACCESS_ONCE(ads->info) = val;
|
|
+ ACCESS_ONCE_RW(ads->info) = val;
|
|
|
|
checksum += i->link;
|
|
- ACCESS_ONCE(ads->link) = i->link;
|
|
+ ACCESS_ONCE_RW(ads->link) = i->link;
|
|
|
|
checksum += i->buf_addr[0];
|
|
- ACCESS_ONCE(ads->data0) = i->buf_addr[0];
|
|
+ ACCESS_ONCE_RW(ads->data0) = i->buf_addr[0];
|
|
checksum += i->buf_addr[1];
|
|
- ACCESS_ONCE(ads->data1) = i->buf_addr[1];
|
|
+ ACCESS_ONCE_RW(ads->data1) = i->buf_addr[1];
|
|
checksum += i->buf_addr[2];
|
|
- ACCESS_ONCE(ads->data2) = i->buf_addr[2];
|
|
+ ACCESS_ONCE_RW(ads->data2) = i->buf_addr[2];
|
|
checksum += i->buf_addr[3];
|
|
- ACCESS_ONCE(ads->data3) = i->buf_addr[3];
|
|
+ ACCESS_ONCE_RW(ads->data3) = i->buf_addr[3];
|
|
|
|
checksum += (val = (i->buf_len[0] << AR_BufLen_S) & AR_BufLen);
|
|
- ACCESS_ONCE(ads->ctl3) = val;
|
|
+ ACCESS_ONCE_RW(ads->ctl3) = val;
|
|
checksum += (val = (i->buf_len[1] << AR_BufLen_S) & AR_BufLen);
|
|
- ACCESS_ONCE(ads->ctl5) = val;
|
|
+ ACCESS_ONCE_RW(ads->ctl5) = val;
|
|
checksum += (val = (i->buf_len[2] << AR_BufLen_S) & AR_BufLen);
|
|
- ACCESS_ONCE(ads->ctl7) = val;
|
|
+ ACCESS_ONCE_RW(ads->ctl7) = val;
|
|
checksum += (val = (i->buf_len[3] << AR_BufLen_S) & AR_BufLen);
|
|
- ACCESS_ONCE(ads->ctl9) = val;
|
|
+ ACCESS_ONCE_RW(ads->ctl9) = val;
|
|
|
|
checksum = (u16) (((checksum & 0xffff) + (checksum >> 16)) & 0xffff);
|
|
- ACCESS_ONCE(ads->ctl10) = checksum;
|
|
+ ACCESS_ONCE_RW(ads->ctl10) = checksum;
|
|
|
|
if (i->is_first || i->is_last) {
|
|
- ACCESS_ONCE(ads->ctl13) = set11nTries(i->rates, 0)
|
|
+ ACCESS_ONCE_RW(ads->ctl13) = set11nTries(i->rates, 0)
|
|
| set11nTries(i->rates, 1)
|
|
| set11nTries(i->rates, 2)
|
|
| set11nTries(i->rates, 3)
|
|
| (i->dur_update ? AR_DurUpdateEna : 0)
|
|
| SM(0, AR_BurstDur);
|
|
|
|
- ACCESS_ONCE(ads->ctl14) = set11nRate(i->rates, 0)
|
|
+ ACCESS_ONCE_RW(ads->ctl14) = set11nRate(i->rates, 0)
|
|
| set11nRate(i->rates, 1)
|
|
| set11nRate(i->rates, 2)
|
|
| set11nRate(i->rates, 3);
|
|
} else {
|
|
- ACCESS_ONCE(ads->ctl13) = 0;
|
|
- ACCESS_ONCE(ads->ctl14) = 0;
|
|
+ ACCESS_ONCE_RW(ads->ctl13) = 0;
|
|
+ ACCESS_ONCE_RW(ads->ctl14) = 0;
|
|
}
|
|
|
|
ads->ctl20 = 0;
|
|
@@ -89,17 +89,17 @@ ar9003_set_txdesc(struct ath_hw *ah, void *ds, struct ath_tx_info *i)
|
|
|
|
ctl17 = SM(i->keytype, AR_EncrType);
|
|
if (!i->is_first) {
|
|
- ACCESS_ONCE(ads->ctl11) = 0;
|
|
- ACCESS_ONCE(ads->ctl12) = i->is_last ? 0 : AR_TxMore;
|
|
- ACCESS_ONCE(ads->ctl15) = 0;
|
|
- ACCESS_ONCE(ads->ctl16) = 0;
|
|
- ACCESS_ONCE(ads->ctl17) = ctl17;
|
|
- ACCESS_ONCE(ads->ctl18) = 0;
|
|
- ACCESS_ONCE(ads->ctl19) = 0;
|
|
+ ACCESS_ONCE_RW(ads->ctl11) = 0;
|
|
+ ACCESS_ONCE_RW(ads->ctl12) = i->is_last ? 0 : AR_TxMore;
|
|
+ ACCESS_ONCE_RW(ads->ctl15) = 0;
|
|
+ ACCESS_ONCE_RW(ads->ctl16) = 0;
|
|
+ ACCESS_ONCE_RW(ads->ctl17) = ctl17;
|
|
+ ACCESS_ONCE_RW(ads->ctl18) = 0;
|
|
+ ACCESS_ONCE_RW(ads->ctl19) = 0;
|
|
return;
|
|
}
|
|
|
|
- ACCESS_ONCE(ads->ctl11) = (i->pkt_len & AR_FrameLen)
|
|
+ ACCESS_ONCE_RW(ads->ctl11) = (i->pkt_len & AR_FrameLen)
|
|
| (i->flags & ATH9K_TXDESC_VMF ? AR_VirtMoreFrag : 0)
|
|
| SM(i->txpower, AR_XmitPower)
|
|
| (i->flags & ATH9K_TXDESC_VEOL ? AR_VEOL : 0)
|
|
@@ -135,22 +135,22 @@ ar9003_set_txdesc(struct ath_hw *ah, void *ds, struct ath_tx_info *i)
|
|
val = (i->flags & ATH9K_TXDESC_PAPRD) >> ATH9K_TXDESC_PAPRD_S;
|
|
ctl12 |= SM(val, AR_PAPRDChainMask);
|
|
|
|
- ACCESS_ONCE(ads->ctl12) = ctl12;
|
|
- ACCESS_ONCE(ads->ctl17) = ctl17;
|
|
+ ACCESS_ONCE_RW(ads->ctl12) = ctl12;
|
|
+ ACCESS_ONCE_RW(ads->ctl17) = ctl17;
|
|
|
|
- ACCESS_ONCE(ads->ctl15) = set11nPktDurRTSCTS(i->rates, 0)
|
|
+ ACCESS_ONCE_RW(ads->ctl15) = set11nPktDurRTSCTS(i->rates, 0)
|
|
| set11nPktDurRTSCTS(i->rates, 1);
|
|
|
|
- ACCESS_ONCE(ads->ctl16) = set11nPktDurRTSCTS(i->rates, 2)
|
|
+ ACCESS_ONCE_RW(ads->ctl16) = set11nPktDurRTSCTS(i->rates, 2)
|
|
| set11nPktDurRTSCTS(i->rates, 3);
|
|
|
|
- ACCESS_ONCE(ads->ctl18) = set11nRateFlags(i->rates, 0)
|
|
+ ACCESS_ONCE_RW(ads->ctl18) = set11nRateFlags(i->rates, 0)
|
|
| set11nRateFlags(i->rates, 1)
|
|
| set11nRateFlags(i->rates, 2)
|
|
| set11nRateFlags(i->rates, 3)
|
|
| SM(i->rtscts_rate, AR_RTSCTSRate);
|
|
|
|
- ACCESS_ONCE(ads->ctl19) = AR_Not_Sounding;
|
|
+ ACCESS_ONCE_RW(ads->ctl19) = AR_Not_Sounding;
|
|
}
|
|
|
|
static u16 ar9003_calc_ptr_chksum(struct ar9003_txc *ads)
|
|
diff --git a/drivers/net/wireless/ath/ath9k/hw.h b/drivers/net/wireless/ath/ath9k/hw.h
|
|
index e88f182..4e57f5d 100644
|
|
--- a/drivers/net/wireless/ath/ath9k/hw.h
|
|
+++ b/drivers/net/wireless/ath/ath9k/hw.h
|
|
@@ -614,7 +614,7 @@ struct ath_hw_private_ops {
|
|
|
|
/* ANI */
|
|
void (*ani_cache_ini_regs)(struct ath_hw *ah);
|
|
-};
|
|
+} __no_const;
|
|
|
|
/**
|
|
* struct ath_hw_ops - callbacks used by hardware code and driver code
|
|
@@ -644,7 +644,7 @@ struct ath_hw_ops {
|
|
void (*antdiv_comb_conf_set)(struct ath_hw *ah,
|
|
struct ath_hw_antcomb_conf *antconf);
|
|
|
|
-};
|
|
+} __no_const;
|
|
|
|
struct ath_nf_limits {
|
|
s16 max;
|
|
@@ -664,7 +664,7 @@ enum ath_cal_list {
|
|
#define AH_FASTCC 0x4
|
|
|
|
struct ath_hw {
|
|
- struct ath_ops reg_ops;
|
|
+ ath_ops_no_const reg_ops;
|
|
|
|
struct ieee80211_hw *hw;
|
|
struct ath_common common;
|
|
diff --git a/drivers/net/wireless/brcm80211/brcmsmac/phy/phy_int.h b/drivers/net/wireless/brcm80211/brcmsmac/phy/phy_int.h
|
|
index af00e2c..ab04d34 100644
|
|
--- a/drivers/net/wireless/brcm80211/brcmsmac/phy/phy_int.h
|
|
+++ b/drivers/net/wireless/brcm80211/brcmsmac/phy/phy_int.h
|
|
@@ -545,7 +545,7 @@ struct phy_func_ptr {
|
|
void (*carrsuppr)(struct brcms_phy *);
|
|
s32 (*rxsigpwr)(struct brcms_phy *, s32);
|
|
void (*detach)(struct brcms_phy *);
|
|
-};
|
|
+} __no_const;
|
|
|
|
struct brcms_phy {
|
|
struct brcms_phy_pub pubpi_ro;
|
|
diff --git a/drivers/net/wireless/iwlegacy/3945-mac.c b/drivers/net/wireless/iwlegacy/3945-mac.c
|
|
index faec404..a5277f1 100644
|
|
--- a/drivers/net/wireless/iwlegacy/3945-mac.c
|
|
+++ b/drivers/net/wireless/iwlegacy/3945-mac.c
|
|
@@ -3611,7 +3611,9 @@ il3945_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
|
|
*/
|
|
if (il3945_mod_params.disable_hw_scan) {
|
|
D_INFO("Disabling hw_scan\n");
|
|
- il3945_mac_ops.hw_scan = NULL;
|
|
+ pax_open_kernel();
|
|
+ *(void **)&il3945_mac_ops.hw_scan = NULL;
|
|
+ pax_close_kernel();
|
|
}
|
|
|
|
D_INFO("*** LOAD DRIVER ***\n");
|
|
diff --git a/drivers/net/wireless/mac80211_hwsim.c b/drivers/net/wireless/mac80211_hwsim.c
|
|
index b7ce6a6..5649756 100644
|
|
--- a/drivers/net/wireless/mac80211_hwsim.c
|
|
+++ b/drivers/net/wireless/mac80211_hwsim.c
|
|
@@ -1721,9 +1721,11 @@ static int __init init_mac80211_hwsim(void)
|
|
return -EINVAL;
|
|
|
|
if (fake_hw_scan) {
|
|
- mac80211_hwsim_ops.hw_scan = mac80211_hwsim_hw_scan;
|
|
- mac80211_hwsim_ops.sw_scan_start = NULL;
|
|
- mac80211_hwsim_ops.sw_scan_complete = NULL;
|
|
+ pax_open_kernel();
|
|
+ *(void **)&mac80211_hwsim_ops.hw_scan = mac80211_hwsim_hw_scan;
|
|
+ *(void **)&mac80211_hwsim_ops.sw_scan_start = NULL;
|
|
+ *(void **)&mac80211_hwsim_ops.sw_scan_complete = NULL;
|
|
+ pax_close_kernel();
|
|
}
|
|
|
|
spin_lock_init(&hwsim_radio_lock);
|
|
diff --git a/drivers/net/wireless/mwifiex/main.h b/drivers/net/wireless/mwifiex/main.h
|
|
index 35225e9..95e6bf9 100644
|
|
--- a/drivers/net/wireless/mwifiex/main.h
|
|
+++ b/drivers/net/wireless/mwifiex/main.h
|
|
This needed some manual massage to work on compat-wireless
|
|
@@ -567,7 +567,7 @@
|
|
int (*event_complete) (struct mwifiex_adapter *, struct sk_buff *);
|
|
int (*data_complete) (struct mwifiex_adapter *, struct sk_buff *);
|
|
int (*dnld_fw) (struct mwifiex_adapter *, struct mwifiex_fw_image *);
|
|
-};
|
|
+} __no_const;
|
|
|
|
struct mwifiex_adapter {
|
|
u8 iface_type;
|
|
diff --git a/drivers/net/wireless/rndis_wlan.c b/drivers/net/wireless/rndis_wlan.c
|
|
index d66e298..55b0a89 100644
|
|
--- a/drivers/net/wireless/rndis_wlan.c
|
|
+++ b/drivers/net/wireless/rndis_wlan.c
|
|
@@ -1278,7 +1278,7 @@ static int set_rts_threshold(struct usbnet *usbdev, u32 rts_threshold)
|
|
|
|
netdev_dbg(usbdev->net, "%s(): %i\n", __func__, rts_threshold);
|
|
|
|
- if (rts_threshold < 0 || rts_threshold > 2347)
|
|
+ if (rts_threshold > 2347)
|
|
rts_threshold = 2347;
|
|
|
|
tmp = cpu_to_le32(rts_threshold);
|
|
diff --git a/drivers/net/wireless/wl1251/wl1251.h b/drivers/net/wireless/wl1251/wl1251.h
|
|
index 9d8f581..0f6589e 100644
|
|
--- a/drivers/net/wireless/ti/wl1251/wl1251.h
|
|
+++ b/drivers/net/wireless/ti/wl1251/wl1251.h
|
|
Special for compat-wireless: the module is in "ti" folder
|
|
@@ -266,7 +266,7 @@ struct wl1251_if_operations {
|
|
void (*reset)(struct wl1251 *wl);
|
|
void (*enable_irq)(struct wl1251 *wl);
|
|
void (*disable_irq)(struct wl1251 *wl);
|
|
-};
|
|
+} __no_const;
|
|
|
|
struct wl1251 {
|
|
struct ieee80211_hw *hw;
|
|
diff --git a/net/wireless/core.h b/net/wireless/core.h
|
|
index 3ac2dd0..fbe533e 100644
|
|
--- a/net/wireless/core.h
|
|
+++ b/net/wireless/core.h
|
|
@@ -27,7 +27,7 @@ struct cfg80211_registered_device {
|
|
struct mutex mtx;
|
|
|
|
/* rfkill support */
|
|
- struct rfkill_ops rfkill_ops;
|
|
+ rfkill_ops_no_const rfkill_ops;
|
|
struct rfkill *rfkill;
|
|
struct work_struct rfkill_sync;
|
|
|
|
diff --git a/net/wireless/wext-core.c b/net/wireless/wext-core.c
|
|
index af648e0..6185d3a 100644
|
|
--- a/net/wireless/wext-core.c
|
|
+++ b/net/wireless/wext-core.c
|
|
@@ -747,8 +747,7 @@ static int ioctl_standard_iw_point(struct iw_point *iwp, unsigned int cmd,
|
|
*/
|
|
|
|
/* Support for very large requests */
|
|
- if ((descr->flags & IW_DESCR_FLAG_NOMAX) &&
|
|
- (user_length > descr->max_tokens)) {
|
|
+ if (user_length > descr->max_tokens) {
|
|
/* Allow userspace to GET more than max so
|
|
* we can support any size GET requests.
|
|
* There is still a limit : -ENOMEM.
|
|
@@ -787,22 +786,6 @@ static int ioctl_standard_iw_point(struct iw_point *iwp, unsigned int cmd,
|
|
}
|
|
}
|
|
|
|
- if (IW_IS_GET(cmd) && !(descr->flags & IW_DESCR_FLAG_NOMAX)) {
|
|
- /*
|
|
- * If this is a GET, but not NOMAX, it means that the extra
|
|
- * data is not bounded by userspace, but by max_tokens. Thus
|
|
- * set the length to max_tokens. This matches the extra data
|
|
- * allocation.
|
|
- * The driver should fill it with the number of tokens it
|
|
- * provided, and it may check iwp->length rather than having
|
|
- * knowledge of max_tokens. If the driver doesn't change the
|
|
- * iwp->length, this ioctl just copies back max_token tokens
|
|
- * filled with zeroes. Hopefully the driver isn't claiming
|
|
- * them to be valid data.
|
|
- */
|
|
- iwp->length = descr->max_tokens;
|
|
- }
|
|
-
|
|
err = handler(dev, info, (union iwreq_data *) iwp, extra);
|
|
|
|
iwp->length += essid_compat;
|
|
--- a/drivers/net/ethernet/atheros/alx/alx_sw.h
|
|
+++ b/drivers/net/ethernet/atheros/alx/alx_sw.h
|
|
Unsure about this, making alx_hw_callbacks writeable, is that SElinux conform?
|
|
@@ -326,7 +326,7 @@
|
|
|
|
/* Others */
|
|
int (*get_ethtool_regs)(struct alx_hw *, void *);
|
|
-};
|
|
+} __no_const;
|
|
|
|
struct alx_hw {
|
|
struct alx_adapter *adpt;
|