浏览代码

update wifi patches

Jake Day 7 年之前
父节点
当前提交
dc50ecea20
共有 2 个文件被更改,包括 53 次插入33 次删除
  1. 33 23
      patches/4.14/wifi.patch
  2. 20 10
      patches/4.15/wifi.patch

+ 33 - 23
patches/4.14/wifi.patch

@@ -1,9 +1,3 @@
-From a359b5adc91cb9f2d3cc07705d804ef60bf6e4e3 Mon Sep 17 00:00:00 2001
-From: Jake Day <jake@ninebysix.com>
-Date: Fri, 2 Feb 2018 12:57:32 -0500
-Subject: fixes for marvell mwifiex
-
-
 diff --git a/drivers/net/wireless/marvell/mwifiex/11n_aggr.c b/drivers/net/wireless/marvell/mwifiex/11n_aggr.c
 index 042a1d0..fc9041f 100644
 --- a/drivers/net/wireless/marvell/mwifiex/11n_aggr.c
@@ -19,7 +13,7 @@ index 042a1d0..fc9041f 100644
  
  		skb_src = skb_dequeue(&pra_list->skb_head);
 diff --git a/drivers/net/wireless/marvell/mwifiex/cfg80211.c b/drivers/net/wireless/marvell/mwifiex/cfg80211.c
-index 6e0d9a9..d008687 100644
+index 68aa0c7..1a883cb 100644
 --- a/drivers/net/wireless/marvell/mwifiex/cfg80211.c
 +++ b/drivers/net/wireless/marvell/mwifiex/cfg80211.c
 @@ -416,6 +416,9 @@ mwifiex_cfg80211_set_power_mgmt(struct wiphy *wiphy,
@@ -45,10 +39,10 @@ index 0edc5d6..c0c9c70 100644
  	}
  	if (adapter->hw_status == MWIFIEX_HW_STATUS_INITIALIZING) {
 diff --git a/drivers/net/wireless/marvell/mwifiex/init.c b/drivers/net/wireless/marvell/mwifiex/init.c
-index e1aa860..328829b 100644
+index e11919d..7f41cf8 100644
 --- a/drivers/net/wireless/marvell/mwifiex/init.c
 +++ b/drivers/net/wireless/marvell/mwifiex/init.c
-@@ -60,7 +60,7 @@ static void wakeup_timer_fn(struct timer_list *t)
+@@ -60,7 +60,7 @@ static void wakeup_timer_fn(unsigned long data)
  	adapter->hw_status = MWIFIEX_HW_STATUS_RESET;
  	mwifiex_cancel_all_pending_cmd(adapter);
  
@@ -58,10 +52,10 @@ index e1aa860..328829b 100644
  }
  
 diff --git a/drivers/net/wireless/marvell/mwifiex/main.c b/drivers/net/wireless/marvell/mwifiex/main.c
-index a96bd7e..79b026f 100644
+index ee40b73..c7008bb 100644
 --- a/drivers/net/wireless/marvell/mwifiex/main.c
 +++ b/drivers/net/wireless/marvell/mwifiex/main.c
-@@ -163,6 +163,7 @@ void mwifiex_queue_main_work(struct mwifiex_adapter *adapter)
+@@ -164,6 +164,7 @@ void mwifiex_queue_main_work(struct mwifiex_adapter *adapter)
  	spin_lock_irqsave(&adapter->main_proc_lock, flags);
  	if (adapter->mwifiex_processing) {
  		adapter->more_task_flag = true;
@@ -69,7 +63,7 @@ index a96bd7e..79b026f 100644
  		spin_unlock_irqrestore(&adapter->main_proc_lock, flags);
  	} else {
  		spin_unlock_irqrestore(&adapter->main_proc_lock, flags);
-@@ -171,18 +172,20 @@ void mwifiex_queue_main_work(struct mwifiex_adapter *adapter)
+@@ -172,18 +173,20 @@ void mwifiex_queue_main_work(struct mwifiex_adapter *adapter)
  }
  EXPORT_SYMBOL_GPL(mwifiex_queue_main_work);
  
@@ -91,7 +85,7 @@ index a96bd7e..79b026f 100644
  
  static int mwifiex_process_rx(struct mwifiex_adapter *adapter)
  {
-@@ -192,13 +195,14 @@ static int mwifiex_process_rx(struct mwifiex_adapter *adapter)
+@@ -193,13 +196,14 @@ static int mwifiex_process_rx(struct mwifiex_adapter *adapter)
  
  	spin_lock_irqsave(&adapter->rx_proc_lock, flags);
  	if (adapter->rx_processing || adapter->rx_locked) {
@@ -107,7 +101,7 @@ index a96bd7e..79b026f 100644
  	/* Check for Rx data */
  	while ((skb = skb_dequeue(&adapter->rx_data_q))) {
  		atomic_dec(&adapter->rx_pending);
-@@ -220,6 +224,11 @@ static int mwifiex_process_rx(struct mwifiex_adapter *adapter)
+@@ -221,6 +225,11 @@ static int mwifiex_process_rx(struct mwifiex_adapter *adapter)
  		}
  	}
  	spin_lock_irqsave(&adapter->rx_proc_lock, flags);
@@ -119,7 +113,7 @@ index a96bd7e..79b026f 100644
  	adapter->rx_processing = false;
  	spin_unlock_irqrestore(&adapter->rx_proc_lock, flags);
  
-@@ -283,10 +292,10 @@ int mwifiex_main_process(struct mwifiex_adapter *adapter)
+@@ -284,10 +293,10 @@ int mwifiex_main_process(struct mwifiex_adapter *adapter)
  				mwifiex_process_hs_config(adapter);
  			if (adapter->if_ops.process_int_status)
  				adapter->if_ops.process_int_status(adapter);
@@ -133,10 +127,10 @@ index a96bd7e..79b026f 100644
  		/* Need to wake up the card ? */
  		if ((adapter->ps_state == PS_STATE_SLEEP) &&
 diff --git a/drivers/net/wireless/marvell/mwifiex/main.h b/drivers/net/wireless/marvell/mwifiex/main.h
-index 154c079..4205344 100644
+index a76bd79..b3bfb7d 100644
 --- a/drivers/net/wireless/marvell/mwifiex/main.h
 +++ b/drivers/net/wireless/marvell/mwifiex/main.h
-@@ -889,6 +889,7 @@ struct mwifiex_adapter {
+@@ -890,6 +890,7 @@ struct mwifiex_adapter {
  	spinlock_t main_proc_lock;
  	u32 mwifiex_processing;
  	u8 more_task_flag;
@@ -144,7 +138,7 @@ index 154c079..4205344 100644
  	u16 tx_buf_size;
  	u16 curr_tx_buf_size;
  	/* sdio single port rx aggregation capability */
-@@ -1661,6 +1662,7 @@ void mwifiex_upload_device_dump(struct mwifiex_adapter *adapter, void *drv_info,
+@@ -1662,6 +1663,7 @@ void mwifiex_upload_device_dump(struct mwifiex_adapter *adapter, void *drv_info,
  				int drv_info_size);
  void *mwifiex_alloc_dma_align_buf(int rx_len, gfp_t flags);
  void mwifiex_queue_main_work(struct mwifiex_adapter *adapter);
@@ -153,7 +147,7 @@ index 154c079..4205344 100644
  			      int cmd_type,
  			      struct mwifiex_ds_wakeup_reason *wakeup_reason);
 diff --git a/drivers/net/wireless/marvell/mwifiex/pcie.c b/drivers/net/wireless/marvell/mwifiex/pcie.c
-index cd31494..575da92 100644
+index 9511f5f..4a4737c 100644
 --- a/drivers/net/wireless/marvell/mwifiex/pcie.c
 +++ b/drivers/net/wireless/marvell/mwifiex/pcie.c
 @@ -1729,6 +1729,16 @@ static int mwifiex_pcie_process_cmd_complete(struct mwifiex_adapter *adapter)
@@ -207,7 +201,7 @@ index fb09014..5b8329e 100644
  		/* Enable auto deep sleep */
  		auto_ds.auto_ds = DEEP_SLEEP_ON;
 diff --git a/drivers/net/wireless/marvell/mwifiex/sta_cmdresp.c b/drivers/net/wireless/marvell/mwifiex/sta_cmdresp.c
-index 1bd4e13..27d2bac 100644
+index 0fba5b1..4e1687f 100644
 --- a/drivers/net/wireless/marvell/mwifiex/sta_cmdresp.c
 +++ b/drivers/net/wireless/marvell/mwifiex/sta_cmdresp.c
 @@ -48,9 +48,14 @@ mwifiex_process_cmdresp_error(struct mwifiex_private *priv,
@@ -229,7 +223,7 @@ index 1bd4e13..27d2bac 100644
  	if (adapter->curr_cmd->wait_q_enabled)
  		adapter->cmd_wait_q.status = -1;
 diff --git a/drivers/net/wireless/marvell/mwifiex/usb.c b/drivers/net/wireless/marvell/mwifiex/usb.c
-index 4bc2448..d20fda1 100644
+index f4f2b9b..bbfa9f3 100644
 --- a/drivers/net/wireless/marvell/mwifiex/usb.c
 +++ b/drivers/net/wireless/marvell/mwifiex/usb.c
 @@ -144,6 +144,8 @@ static int mwifiex_usb_recv(struct mwifiex_adapter *adapter,
@@ -241,8 +235,24 @@ index 4bc2448..d20fda1 100644
  		break;
  	default:
  		mwifiex_dbg(adapter, ERROR,
+diff --git a/drivers/pci/pcie/portdrv_pci.c b/drivers/pci/pcie/portdrv_pci.c
+index 68c389c..74efec3 100644
+--- a/drivers/pci/pcie/portdrv_pci.c
++++ b/drivers/pci/pcie/portdrv_pci.c
+@@ -150,6 +150,11 @@ static int pcie_portdrv_probe(struct pci_dev *dev,
+ 
+ 	pci_save_state(dev);
+ 
++	/*
++	 * D3cold disabled by default
++	 */
++	dev->d3cold_allowed = false;
++
+ 	if (pci_bridge_d3_possible(dev)) {
+ 		/*
+ 		 * Keep the port resumed 100ms to make sure things like
 diff --git a/net/wireless/sme.c b/net/wireless/sme.c
-index fdb3646..b44b23b 100644
+index 3dd05a0..ab32ef1 100644
 --- a/net/wireless/sme.c
 +++ b/net/wireless/sme.c
 @@ -690,6 +690,11 @@ void __cfg80211_connect_result(struct net_device *dev,
@@ -257,7 +267,7 @@ index fdb3646..b44b23b 100644
  	nl80211_send_connect_result(wiphy_to_rdev(wdev->wiphy), dev, cr,
  				    GFP_KERNEL);
  
-@@ -1105,7 +1110,7 @@ int cfg80211_connect(struct cfg80211_registered_device *rdev,
+@@ -1062,7 +1067,7 @@ int cfg80211_connect(struct cfg80211_registered_device *rdev,
  	/*
  	 * If we have an ssid_len, we're trying to connect or are
  	 * already connected, so reject a new SSID unless it's the

+ 20 - 10
patches/4.15/wifi.patch

@@ -1,9 +1,3 @@
-From a359b5adc91cb9f2d3cc07705d804ef60bf6e4e3 Mon Sep 17 00:00:00 2001
-From: Jake Day <jake@ninebysix.com>
-Date: Fri, 2 Feb 2018 12:57:32 -0500
-Subject: fixes for marvell mwifiex
-
-
 diff --git a/drivers/net/wireless/marvell/mwifiex/11n_aggr.c b/drivers/net/wireless/marvell/mwifiex/11n_aggr.c
 index 042a1d0..fc9041f 100644
 --- a/drivers/net/wireless/marvell/mwifiex/11n_aggr.c
@@ -19,7 +13,7 @@ index 042a1d0..fc9041f 100644
  
  		skb_src = skb_dequeue(&pra_list->skb_head);
 diff --git a/drivers/net/wireless/marvell/mwifiex/cfg80211.c b/drivers/net/wireless/marvell/mwifiex/cfg80211.c
-index 6e0d9a9..d008687 100644
+index f324011..7f31e43 100644
 --- a/drivers/net/wireless/marvell/mwifiex/cfg80211.c
 +++ b/drivers/net/wireless/marvell/mwifiex/cfg80211.c
 @@ -416,6 +416,9 @@ mwifiex_cfg80211_set_power_mgmt(struct wiphy *wiphy,
@@ -33,10 +27,10 @@ index 6e0d9a9..d008687 100644
  }
  
 diff --git a/drivers/net/wireless/marvell/mwifiex/cmdevt.c b/drivers/net/wireless/marvell/mwifiex/cmdevt.c
-index 0edc5d6..c0c9c70 100644
+index dcc529e..3998ffb 100644
 --- a/drivers/net/wireless/marvell/mwifiex/cmdevt.c
 +++ b/drivers/net/wireless/marvell/mwifiex/cmdevt.c
-@@ -998,6 +998,7 @@ mwifiex_cmd_timeout_func(unsigned long function_context)
+@@ -995,6 +995,7 @@ mwifiex_cmd_timeout_func(struct timer_list *t)
  		if (cmd_node->wait_q_enabled) {
  			adapter->cmd_wait_q.status = -ETIMEDOUT;
  			mwifiex_cancel_pending_ioctl(adapter);
@@ -153,7 +147,7 @@ index 154c079..4205344 100644
  			      int cmd_type,
  			      struct mwifiex_ds_wakeup_reason *wakeup_reason);
 diff --git a/drivers/net/wireless/marvell/mwifiex/pcie.c b/drivers/net/wireless/marvell/mwifiex/pcie.c
-index cd31494..575da92 100644
+index 9511f5f..4a4737c 100644
 --- a/drivers/net/wireless/marvell/mwifiex/pcie.c
 +++ b/drivers/net/wireless/marvell/mwifiex/pcie.c
 @@ -1729,6 +1729,16 @@ static int mwifiex_pcie_process_cmd_complete(struct mwifiex_adapter *adapter)
@@ -241,6 +235,22 @@ index 4bc2448..d20fda1 100644
  		break;
  	default:
  		mwifiex_dbg(adapter, ERROR,
+diff --git a/drivers/pci/pcie/portdrv_pci.c b/drivers/pci/pcie/portdrv_pci.c
+index ffbf4e7..3ad81e3 100644
+--- a/drivers/pci/pcie/portdrv_pci.c
++++ b/drivers/pci/pcie/portdrv_pci.c
+@@ -150,6 +150,11 @@ static int pcie_portdrv_probe(struct pci_dev *dev,
+ 
+ 	pci_save_state(dev);
+ 
++	/*
++	 * D3cold disabled by default
++	 */
++	dev->d3cold_allowed = false;
++
+ 	if (pci_bridge_d3_possible(dev)) {
+ 		/*
+ 		 * Keep the port resumed 100ms to make sure things like
 diff --git a/net/wireless/sme.c b/net/wireless/sme.c
 index fdb3646..b44b23b 100644
 --- a/net/wireless/sme.c