Re: linux-next: manual merge of the wireless-drivers-next tree with the net-next tree
Stephen Rothwellwrites: > Hi all, > > Today's linux-next merge of the wireless-drivers-next tree got a > conflict in: > > drivers/net/wireless/ath/ath10k/mac.c > > between commit: > > f3fe4e93dd63 ("mac80211: add a HW flag for supporting HW TX fragmentation") > > from the net-next tree and commit: > > ff32eeb86aa1 ("ath10k: advertize hardware packet loss mechanism") > > from the wireless-drivers-next tree. > > I fixed it up (see below) and can carry the fix as necessary. This > is now fixed as far as linux-next is concerned, but any non trivial > conflicts should be mentioned to your upstream maintainer when your tree > is submitted for merging. You may also want to consider cooperating > with the maintainer of the conflicting tree to minimise any particularly > complex conflicts. The fix looks good, thanks. I sent a pull request to Dave yesteday which should fix this. -- Kalle Valo
linux-next: manual merge of the wireless-drivers-next tree with the net-next tree
Hi all, Today's linux-next merge of the wireless-drivers-next tree got a conflict in: drivers/net/wireless/ath/ath10k/mac.c between commit: f3fe4e93dd63 ("mac80211: add a HW flag for supporting HW TX fragmentation") from the net-next tree and commit: ff32eeb86aa1 ("ath10k: advertize hardware packet loss mechanism") from the wireless-drivers-next tree. I fixed it up (see below) and can carry the fix as necessary. This is now fixed as far as linux-next is concerned, but any non trivial conflicts should be mentioned to your upstream maintainer when your tree is submitted for merging. You may also want to consider cooperating with the maintainer of the conflicting tree to minimise any particularly complex conflicts. -- Cheers, Stephen Rothwell diff --cc drivers/net/wireless/ath/ath10k/mac.c index 717b2fad9a8a,db6ddf974d1d.. --- a/drivers/net/wireless/ath/ath10k/mac.c +++ b/drivers/net/wireless/ath/ath10k/mac.c @@@ -8005,7 -7993,7 +7993,8 @@@ int ath10k_mac_register(struct ath10k * ieee80211_hw_set(ar->hw, WANT_MONITOR_VIF); ieee80211_hw_set(ar->hw, CHANCTX_STA_CSA); ieee80211_hw_set(ar->hw, QUEUE_CONTROL); + ieee80211_hw_set(ar->hw, SUPPORTS_TX_FRAG); + ieee80211_hw_set(ar->hw, REPORTS_LOW_ACK); if (!test_bit(ATH10K_FLAG_RAW_MODE, >dev_flags)) ieee80211_hw_set(ar->hw, SW_CRYPTO_CONTROL);
Re: linux-next: manual merge of the wireless-drivers-next tree with the net-next tree
From: Kalle ValoDate: Mon, 16 May 2016 16:10:27 +0300 > I wasn't expecting that skb_info variable is removed. Do we now have > merge damage somewhere? Luca, what do you think? It's possible I got the net --> net-next merge wrong the other day, feel free to send me an appropriate fixup. Thanks.
Re: linux-next: manual merge of the wireless-drivers-next tree with the net-next tree
"Coelho, Luciano"writes: (dropping damaged diffs etc, adding Emmanuel as the author of 5c08b0f5026f ("iwlwifi: mvm: don't override the rate with the AMSDU len")) >> I wasn't expecting that skb_info variable is removed. Do we now have >> merge damage somewhere? Luca, what do you think? > > As we discussed on IRC, it seems to me that there was a merge damage > when Dave merged net.git into net-next.git (as you mostly found out ;). > > I'm not sure how to solve that, but I'm sure you and Dave can figure > something out. :) Please let me know if you need any help with it. Yeah, I guess in net-next.git Dave assumed that 'info == skb_info' is always valid in iwl_mvm_set_tx_cmd(), but I don't that's the case. So I think the end case, after a merge, should look like this: void iwl_mvm_set_tx_cmd(struct iwl_mvm *mvm, struct sk_buff *skb, struct iwl_tx_cmd *tx_cmd, struct ieee80211_tx_info *info, u8 sta_id) { struct ieee80211_tx_info *skb_info = IEEE80211_SKB_CB(skb); struct ieee80211_hdr *hdr = (void *)skb->data; __le16 fc = hdr->frame_control; u32 tx_flags = le32_to_cpu(tx_cmd->tx_flags); u32 len = skb->len + FCS_LEN; u8 ac; [...] tx_cmd->tx_flags = cpu_to_le32(tx_flags); /* Total # bytes to be transmitted */ tx_cmd->len = cpu_to_le16((u16)skb->len + (uintptr_t)skb_info->driver_data[0]); tx_cmd->life_time = cpu_to_le32(TX_CMD_LIFE_TIME_INFINITE); tx_cmd->sta_id = sta_id; I'm going to propose this to Dave in my pending pull request[1]. But I would appreciate if someone else would double check this. [1] https://patchwork.ozlabs.org/patch/621953/ -- Kalle Valo
Re: linux-next: manual merge of the wireless-drivers-next tree with the net-next tree
Hi Kalle, On Mon, 2016-05-16 at 16:10 +0300, Kalle Valo wrote: > (Adding Luca and linux-wireless) > > Stephen Rothwellwrites: > > > > > Today's linux-next merge of the wireless-drivers-next tree got a > > conflict in: > > > > drivers/net/wireless/intel/iwlwifi/mvm/tx.c > > > > between commit: > > > > 909b27f70643 ("Merge > > git://git.kernel.org/pub/scm/linux/kernel/git/davem/net") > > > > from the net-next tree and commit: > > > > a525d0eab17d ("Merge tag 'iwlwifi-for-kalle-2016-05-04' of > > git://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi- > > fixes") > > > > from the wireless-drivers-next tree. > > > > I fixed it up (I think that the net-next tree merge lost the > > changes > > to iwl_mvm_set_tx_cmd() associated with commit 5c08b0f5026f > > ("iwlwifi: > > mvm: don't override the rate with the AMSDU len")) and can carry > > the > > fix as necessary. > Hmm, I'm starting to suspect something is wrong. I did a test merge > of > net-next and wireless-drivers-next and got this as a diff after the > merge: > > --- a/drivers/net/wireless/intel/iwlwifi/mvm/tx.c > +++ b/drivers/net/wireless/intel/iwlwifi/mvm/tx.c > @@ -211,7 +211,6 @@ void iwl_mvm_set_tx_cmd(struct iwl_mvm *mvm, > struct sk_buff *skb, > struct iwl_tx_cmd *tx_cmd, > struct ieee80211_tx_info *info, u8 sta_id) > { > - struct ieee80211_tx_info *skb_info = IEEE80211_SKB_CB(skb); > struct ieee80211_hdr *hdr = (void *)skb->data; > __le16 fc = hdr->frame_control; > u32 tx_flags = le32_to_cpu(tx_cmd->tx_flags); > @@ -295,7 +294,7 @@ void iwl_mvm_set_tx_cmd(struct iwl_mvm *mvm, > struct sk_buff *skb, > tx_cmd->tx_flags = cpu_to_le32(tx_flags); > /* Total # bytes to be transmitted */ > tx_cmd->len = cpu_to_le16((u16)skb->len + > - (uintptr_t)skb_info->driver_data[0]); > + (uintptr_t)info->driver_data[0]); > tx_cmd->life_time = cpu_to_le32(TX_CMD_LIFE_TIME_INFINITE); > tx_cmd->sta_id = sta_id; > > But commit 5c08b0f5026f ("iwlwifi: mvm: don't override the rate with > the > AMSDU len") specifically added skb_info variable to that function: > > @@ -105,6 +105,7 @@ void iwl_mvm_set_tx_cmd(struct iwl_mvm *mvm, > struct sk_buff *skb, > struct iwl_tx_cmd *tx_cmd, > struct ieee80211_tx_info *info, u8 sta_id) > { > + struct ieee80211_tx_info *skb_info = IEEE80211_SKB_CB(skb); > struct ieee80211_hdr *hdr = (void *)skb->data; > __le16 fc = hdr->frame_control; > u32 tx_flags = le32_to_cpu(tx_cmd->tx_flags); > @@ -185,7 +186,7 @@ void iwl_mvm_set_tx_cmd(struct iwl_mvm *mvm, > struct sk_buff *skb, > tx_cmd->tx_flags = cpu_to_le32(tx_flags); > /* Total # bytes to be transmitted */ > tx_cmd->len = cpu_to_le16((u16)skb->len + > - (uintptr_t)info->driver_data[0]); > + (uintptr_t)skb_info->driver_data[0]); > tx_cmd->next_frame_len = 0; > tx_cmd->life_time = cpu_to_le32(TX_CMD_LIFE_TIME_INFINITE); > tx_cmd->sta_id = sta_id; > > I wasn't expecting that skb_info variable is removed. Do we now have > merge damage somewhere? Luca, what do you think? As we discussed on IRC, it seems to me that there was a merge damage when Dave merged net.git into net-next.git (as you mostly found out ;). I'm not sure how to solve that, but I'm sure you and Dave can figure something out. :) Please let me know if you need any help with it. -- Cheers, Luca.
Re: linux-next: manual merge of the wireless-drivers-next tree with the net-next tree
(Adding Luca and linux-wireless) Stephen Rothwellwrites: > Today's linux-next merge of the wireless-drivers-next tree got a > conflict in: > > drivers/net/wireless/intel/iwlwifi/mvm/tx.c > > between commit: > > 909b27f70643 ("Merge > git://git.kernel.org/pub/scm/linux/kernel/git/davem/net") > > from the net-next tree and commit: > > a525d0eab17d ("Merge tag 'iwlwifi-for-kalle-2016-05-04' of > git://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-fixes") > > from the wireless-drivers-next tree. > > I fixed it up (I think that the net-next tree merge lost the changes > to iwl_mvm_set_tx_cmd() associated with commit 5c08b0f5026f ("iwlwifi: > mvm: don't override the rate with the AMSDU len")) and can carry the > fix as necessary. Hmm, I'm starting to suspect something is wrong. I did a test merge of net-next and wireless-drivers-next and got this as a diff after the merge: --- a/drivers/net/wireless/intel/iwlwifi/mvm/tx.c +++ b/drivers/net/wireless/intel/iwlwifi/mvm/tx.c @@ -211,7 +211,6 @@ void iwl_mvm_set_tx_cmd(struct iwl_mvm *mvm, struct sk_buff *skb, struct iwl_tx_cmd *tx_cmd, struct ieee80211_tx_info *info, u8 sta_id) { - struct ieee80211_tx_info *skb_info = IEEE80211_SKB_CB(skb); struct ieee80211_hdr *hdr = (void *)skb->data; __le16 fc = hdr->frame_control; u32 tx_flags = le32_to_cpu(tx_cmd->tx_flags); @@ -295,7 +294,7 @@ void iwl_mvm_set_tx_cmd(struct iwl_mvm *mvm, struct sk_buff *skb, tx_cmd->tx_flags = cpu_to_le32(tx_flags); /* Total # bytes to be transmitted */ tx_cmd->len = cpu_to_le16((u16)skb->len + - (uintptr_t)skb_info->driver_data[0]); + (uintptr_t)info->driver_data[0]); tx_cmd->life_time = cpu_to_le32(TX_CMD_LIFE_TIME_INFINITE); tx_cmd->sta_id = sta_id; But commit 5c08b0f5026f ("iwlwifi: mvm: don't override the rate with the AMSDU len") specifically added skb_info variable to that function: @@ -105,6 +105,7 @@ void iwl_mvm_set_tx_cmd(struct iwl_mvm *mvm, struct sk_buff *skb, struct iwl_tx_cmd *tx_cmd, struct ieee80211_tx_info *info, u8 sta_id) { + struct ieee80211_tx_info *skb_info = IEEE80211_SKB_CB(skb); struct ieee80211_hdr *hdr = (void *)skb->data; __le16 fc = hdr->frame_control; u32 tx_flags = le32_to_cpu(tx_cmd->tx_flags); @@ -185,7 +186,7 @@ void iwl_mvm_set_tx_cmd(struct iwl_mvm *mvm, struct sk_buff *skb, tx_cmd->tx_flags = cpu_to_le32(tx_flags); /* Total # bytes to be transmitted */ tx_cmd->len = cpu_to_le16((u16)skb->len + - (uintptr_t)info->driver_data[0]); + (uintptr_t)skb_info->driver_data[0]); tx_cmd->next_frame_len = 0; tx_cmd->life_time = cpu_to_le32(TX_CMD_LIFE_TIME_INFINITE); tx_cmd->sta_id = sta_id; I wasn't expecting that skb_info variable is removed. Do we now have merge damage somewhere? Luca, what do you think? -- Kalle Valo
linux-next: manual merge of the wireless-drivers-next tree with the net-next tree
Hi Kalle, Today's linux-next merge of the wireless-drivers-next tree got a conflict in: drivers/net/wireless/intel/iwlwifi/mvm/tx.c between commit: 909b27f70643 ("Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net") from the net-next tree and commit: a525d0eab17d ("Merge tag 'iwlwifi-for-kalle-2016-05-04' of git://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-fixes") from the wireless-drivers-next tree. I fixed it up (I think that the net-next tree merge lost the changes to iwl_mvm_set_tx_cmd() associated with commit 5c08b0f5026f ("iwlwifi: mvm: don't override the rate with the AMSDU len")) and can carry the fix as necessary. This is now fixed as far as linux-next is concerned, but any non trivial conflicts should be mentioned to your upstream maintainer when your tree is submitted for merging. You may also want to consider cooperating with the maintainer of the conflicting tree to minimise any particularly complex conflicts. -- Cheers, Stephen Rothwell