idualwifi7260: Properly enable the SINGLE_FRAME flag.

I did this correctly in the original commit, but then inverted the logic
in my C89 fixes commit by mistake ... whoops.

It seems to cause double-frees even with mbuf refcounting (though they do
occur later on), so leave it fully disabled for now.
This commit is contained in:
Augustin Cavalier
2018-07-06 10:30:52 -04:00
parent ac06bf48c4
commit 1431b61885
2 changed files with 6 additions and 2 deletions
@@ -19,4 +19,6 @@ SubInclude HAIKU_TOP src add-ons kernel drivers network wlan wavelanwifi ;
# FreeBSD 11.1 drivers
SubInclude HAIKU_TOP src add-ons kernel drivers network wlan iprowifi3945 ;
SubInclude HAIKU_TOP src add-ons kernel drivers network wlan iprowifi4965 ;
# FreeBSD 11.2 drivers
SubInclude HAIKU_TOP src add-ons kernel drivers network wlan idualwifi7260 ;
@@ -1437,8 +1437,10 @@ iwm_nic_rx_init(struct iwm_softc *sc)
IWM_WRITE(sc, IWM_FH_MEM_RCSR_CHNL0_CONFIG_REG,
IWM_FH_RCSR_RX_CONFIG_CHNL_EN_ENABLE_VAL |
IWM_FH_RCSR_CHNL0_RX_IGNORE_RXF_EMPTY | /* HW bug */
/* Haiku doesn't support mbuf refcounts, are required for multiframe */
/* IWM_FH_RCSR_CHNL0_RX_CONFIG_SINGLE_FRAME_MSK | */
#ifdef __HAIKU__
/* multi-frame RX seems to cause UAFs and double-frees */
IWM_FH_RCSR_CHNL0_RX_CONFIG_SINGLE_FRAME_MSK |
#endif
IWM_FH_RCSR_CHNL0_RX_CONFIG_IRQ_DEST_INT_HOST_VAL |
IWM_FH_RCSR_RX_CONFIG_REG_VAL_RB_SIZE_4K |
(IWM_RX_RB_TIMEOUT << IWM_FH_RCSR_RX_CONFIG_REG_IRQ_RBTH_POS) |