* [PATCH net-next] r8152: set RTL8152_UNPLUG when finding -ENODEV
From: Hayes Wang @ 2014-10-30 3:46 UTC (permalink / raw)
To: netdev; +Cc: nic_swsd, linux-kernel, linux-usb, Hayes Wang
Set RTL8152_UNPLUG when finding -ENODEV. This could accelerate
unloading the driver when the device is unplugged.
Signed-off-by: Hayes Wang <hayeswang@realtek.com>
---
drivers/net/usb/r8152.c | 14 ++++++++++++--
1 file changed, 12 insertions(+), 2 deletions(-)
diff --git a/drivers/net/usb/r8152.c b/drivers/net/usb/r8152.c
index e1810bc..f116335 100644
--- a/drivers/net/usb/r8152.c
+++ b/drivers/net/usb/r8152.c
@@ -690,6 +690,9 @@ static int generic_ocp_read(struct r8152 *tp, u16 index, u16 size,
}
}
+ if (ret == -ENODEV)
+ set_bit(RTL8152_UNPLUG, &tp->flags);
+
return ret;
}
@@ -757,6 +760,9 @@ static int generic_ocp_write(struct r8152 *tp, u16 index, u16 byteen,
}
error1:
+ if (ret == -ENODEV)
+ set_bit(RTL8152_UNPLUG, &tp->flags);
+
return ret;
}
@@ -1083,6 +1089,7 @@ static void read_bulk_callback(struct urb *urb)
result = r8152_submit_rx(tp, agg, GFP_ATOMIC);
if (result == -ENODEV) {
+ set_bit(RTL8152_UNPLUG, &tp->flags);
netif_device_detach(tp->netdev);
} else if (result) {
spin_lock(&tp->rx_lock);
@@ -1187,11 +1194,13 @@ static void intr_callback(struct urb *urb)
resubmit:
res = usb_submit_urb(urb, GFP_ATOMIC);
- if (res == -ENODEV)
+ if (res == -ENODEV) {
+ set_bit(RTL8152_UNPLUG, &tp->flags);
netif_device_detach(tp->netdev);
- else if (res)
+ } else if (res) {
netif_err(tp, intr, tp->netdev,
"can't resubmit intr, status %d\n", res);
+ }
}
static inline void *rx_agg_align(void *data)
@@ -1755,6 +1764,7 @@ static void tx_bottom(struct r8152 *tp)
struct net_device *netdev = tp->netdev;
if (res == -ENODEV) {
+ set_bit(RTL8152_UNPLUG, &tp->flags);
netif_device_detach(netdev);
} else {
struct net_device_stats *stats = &netdev->stats;
--
1.9.3
^ permalink raw reply related
* [PATCH 1/6 3.18] rtlwifi: rtl8192ce: rtl8192de: rtl8192se: Fix handling for missing get_btc_status
From: Larry Finger @ 2014-10-30 4:17 UTC (permalink / raw)
To: linville-2XuSBdqkA4R54TAoqtyWWQ
Cc: linux-wireless-u79uwXL29TY76Z2rM5mHXA, Larry Finger,
netdev-u79uwXL29TY76Z2rM5mHXA, Murilo Opsfelder Araujo
In-Reply-To: <1414642633-3700-1-git-send-email-Larry.Finger-tQ5ms3gMjBLk1uMJSBkQmQ@public.gmane.org>
The recent changes in checking for Bluetooth status added some callbacks to code
in rtlwifi. To make certain that all callbacks are defined, a dummy routine has been
added to rtlwifi, and the drivers that need to use it are modified.
Signed-off-by: Larry Finger <Larry.Finger-tQ5ms3gMjBLk1uMJSBkQmQ@public.gmane.org>
Cc: Murilo Opsfelder Araujo <mopsfelder-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
---
drivers/net/wireless/rtlwifi/core.c | 6 ++++++
drivers/net/wireless/rtlwifi/core.h | 1 +
drivers/net/wireless/rtlwifi/rtl8192ce/sw.c | 1 +
drivers/net/wireless/rtlwifi/rtl8192de/sw.c | 1 +
drivers/net/wireless/rtlwifi/rtl8192se/sw.c | 1 +
5 files changed, 10 insertions(+)
diff --git a/drivers/net/wireless/rtlwifi/core.c b/drivers/net/wireless/rtlwifi/core.c
index f6179bc..07dae0d 100644
--- a/drivers/net/wireless/rtlwifi/core.c
+++ b/drivers/net/wireless/rtlwifi/core.c
@@ -1828,3 +1828,9 @@ const struct ieee80211_ops rtl_ops = {
.flush = rtl_op_flush,
};
EXPORT_SYMBOL_GPL(rtl_ops);
+
+bool rtl_btc_status_false(void)
+{
+ return false;
+}
+EXPORT_SYMBOL_GPL(rtl_btc_status_false);
diff --git a/drivers/net/wireless/rtlwifi/core.h b/drivers/net/wireless/rtlwifi/core.h
index 59cd3b9..624e1dc 100644
--- a/drivers/net/wireless/rtlwifi/core.h
+++ b/drivers/net/wireless/rtlwifi/core.h
@@ -42,5 +42,6 @@ void rtl_rfreg_delay(struct ieee80211_hw *hw, enum radio_path rfpath, u32 addr,
u32 mask, u32 data);
void rtl_bb_delay(struct ieee80211_hw *hw, u32 addr, u32 data);
bool rtl_cmd_send_packet(struct ieee80211_hw *hw, struct sk_buff *skb);
+bool rtl_btc_status_false(void);
#endif
diff --git a/drivers/net/wireless/rtlwifi/rtl8192ce/sw.c b/drivers/net/wireless/rtlwifi/rtl8192ce/sw.c
index d86b5b5..46ea076 100644
--- a/drivers/net/wireless/rtlwifi/rtl8192ce/sw.c
+++ b/drivers/net/wireless/rtlwifi/rtl8192ce/sw.c
@@ -244,6 +244,7 @@ static struct rtl_hal_ops rtl8192ce_hal_ops = {
.phy_lc_calibrate = _rtl92ce_phy_lc_calibrate,
.phy_set_bw_mode_callback = rtl92ce_phy_set_bw_mode_callback,
.dm_dynamic_txpower = rtl92ce_dm_dynamic_txpower,
+ .get_btc_status = rtl_btc_status_false,
};
static struct rtl_mod_params rtl92ce_mod_params = {
diff --git a/drivers/net/wireless/rtlwifi/rtl8192de/sw.c b/drivers/net/wireless/rtlwifi/rtl8192de/sw.c
index edab5a5..a0aba08 100644
--- a/drivers/net/wireless/rtlwifi/rtl8192de/sw.c
+++ b/drivers/net/wireless/rtlwifi/rtl8192de/sw.c
@@ -251,6 +251,7 @@ static struct rtl_hal_ops rtl8192de_hal_ops = {
.get_rfreg = rtl92d_phy_query_rf_reg,
.set_rfreg = rtl92d_phy_set_rf_reg,
.linked_set_reg = rtl92d_linked_set_reg,
+ .get_btc_status = rtl_btc_status_false,
};
static struct rtl_mod_params rtl92de_mod_params = {
diff --git a/drivers/net/wireless/rtlwifi/rtl8192se/sw.c b/drivers/net/wireless/rtlwifi/rtl8192se/sw.c
index 1bff2a0..5e16984 100644
--- a/drivers/net/wireless/rtlwifi/rtl8192se/sw.c
+++ b/drivers/net/wireless/rtlwifi/rtl8192se/sw.c
@@ -294,6 +294,7 @@ static struct rtl_hal_ops rtl8192se_hal_ops = {
.set_bbreg = rtl92s_phy_set_bb_reg,
.get_rfreg = rtl92s_phy_query_rf_reg,
.set_rfreg = rtl92s_phy_set_rf_reg,
+ .get_btc_status = rtl_btc_status_false,
};
static struct rtl_mod_params rtl92se_mod_params = {
--
2.1.1
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply related
* [PATCH 2/6 V3.18] rtlwifi: rtl8192se: Fix duplicate calls to ieee80211_register_hw()
From: Larry Finger @ 2014-10-30 4:17 UTC (permalink / raw)
To: linville-2XuSBdqkA4R54TAoqtyWWQ
Cc: linux-wireless-u79uwXL29TY76Z2rM5mHXA, Larry Finger,
netdev-u79uwXL29TY76Z2rM5mHXA, Murilo Opsfelder Araujo
In-Reply-To: <1414642633-3700-1-git-send-email-Larry.Finger-tQ5ms3gMjBLk1uMJSBkQmQ@public.gmane.org>
Driver rtlwifi has been modified to call ieee80211_register_hw()
from the probe routine; however, the existing call in the callback
routine for deferred firmware loading was not removed.
Signed-off-by: Larry Finger <Larry.Finger-tQ5ms3gMjBLk1uMJSBkQmQ@public.gmane.org>
Cc: Murilo Opsfelder Araujo <mopsfelder-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
---
drivers/net/wireless/rtlwifi/rtl8192se/sw.c | 17 -----------------
1 file changed, 17 deletions(-)
diff --git a/drivers/net/wireless/rtlwifi/rtl8192se/sw.c b/drivers/net/wireless/rtlwifi/rtl8192se/sw.c
index 5e16984..1fd2208 100644
--- a/drivers/net/wireless/rtlwifi/rtl8192se/sw.c
+++ b/drivers/net/wireless/rtlwifi/rtl8192se/sw.c
@@ -87,11 +87,8 @@ static void rtl92s_init_aspm_vars(struct ieee80211_hw *hw)
static void rtl92se_fw_cb(const struct firmware *firmware, void *context)
{
struct ieee80211_hw *hw = context;
- struct rtl_pci_priv *pcipriv = rtl_pcipriv(hw);
struct rtl_priv *rtlpriv = rtl_priv(hw);
- struct rtl_pci *rtlpci = rtl_pcidev(pcipriv);
struct rt_firmware *pfirmware = NULL;
- int err;
RT_TRACE(rtlpriv, COMP_ERR, DBG_LOUD,
"Firmware callback routine entered!\n");
@@ -112,20 +109,6 @@ static void rtl92se_fw_cb(const struct firmware *firmware, void *context)
memcpy(pfirmware->sz_fw_tmpbuffer, firmware->data, firmware->size);
pfirmware->sz_fw_tmpbufferlen = firmware->size;
release_firmware(firmware);
-
- err = ieee80211_register_hw(hw);
- if (err) {
- RT_TRACE(rtlpriv, COMP_ERR, DBG_EMERG,
- "Can't register mac80211 hw\n");
- return;
- } else {
- rtlpriv->mac80211.mac80211_registered = 1;
- }
- rtlpci->irq_alloc = 1;
- set_bit(RTL_STATUS_INTERFACE_START, &rtlpriv->status);
^ permalink raw reply related
* [PATCH 0/6 3.18] Fixes for iwlwifi drivers
From: Larry Finger @ 2014-10-30 4:17 UTC (permalink / raw)
To: linville; +Cc: linux-wireless, Larry Finger, netdev, Murilo Opsfelder Araujo
Some late changes to rtlwifi made some of the older drivers not start correctly.
These patches should be applied to 3.18.
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Cc: Murilo Opsfelder Araujo <mopsfelder@gmail.com>
Larry Finger (6):
rtlwifi: rtl8192ce: rtl8192de: rtl8192se: Fix handling for missing
get_btc_status
rtlwifi: rtl8192se: Fix duplicate calls to ieee80211_register_hw()
rtlwifi: rtl8192se: Add missing section to read descriptor setting
rtlwifi: rtl8192ce: Add missing section to read descriptor setting
rtlwifi: rtl8821ae: Remove extra semicolons
rtlwifi: rtl8192se: Fix firmware loading
drivers/net/wireless/rtlwifi/core.c | 6 ++++++
drivers/net/wireless/rtlwifi/core.h | 1 +
drivers/net/wireless/rtlwifi/rtl8192ce/def.h | 2 ++
drivers/net/wireless/rtlwifi/rtl8192ce/sw.c | 1 +
drivers/net/wireless/rtlwifi/rtl8192ce/trx.c | 3 +++
drivers/net/wireless/rtlwifi/rtl8192de/sw.c | 1 +
drivers/net/wireless/rtlwifi/rtl8192se/def.h | 2 ++
drivers/net/wireless/rtlwifi/rtl8192se/sw.c | 22 +++-------------------
drivers/net/wireless/rtlwifi/rtl8192se/trx.c | 3 +++
drivers/net/wireless/rtlwifi/rtl8821ae/phy.c | 12 ++++++------
10 files changed, 28 insertions(+), 25 deletions(-)
--
2.1.1
^ permalink raw reply
* [PATCH 3/6i V3.18] rtlwifi: rtl8192se: Add missing section to read descriptor setting
From: Larry Finger @ 2014-10-30 4:17 UTC (permalink / raw)
To: linville; +Cc: linux-wireless, Larry Finger, netdev, Murilo Opsfelder Araujo
In-Reply-To: <1414642633-3700-1-git-send-email-Larry.Finger@lwfinger.net>
The new version of rtlwifi needs code in rtl92se_get_desc() that returns
the buffer address for read operations.
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Cc: Murilo Opsfelder Araujo <mopsfelder@gmail.com>
---
drivers/net/wireless/rtlwifi/rtl8192se/def.h | 2 ++
drivers/net/wireless/rtlwifi/rtl8192se/trx.c | 3 +++
2 files changed, 5 insertions(+)
diff --git a/drivers/net/wireless/rtlwifi/rtl8192se/def.h b/drivers/net/wireless/rtlwifi/rtl8192se/def.h
index 83c9867..6e7a70b 100644
--- a/drivers/net/wireless/rtlwifi/rtl8192se/def.h
+++ b/drivers/net/wireless/rtlwifi/rtl8192se/def.h
@@ -446,6 +446,8 @@
/* DWORD 6 */
#define SET_RX_STATUS__DESC_BUFF_ADDR(__pdesc, __val) \
SET_BITS_OFFSET_LE(__pdesc + 24, 0, 32, __val)
+#define GET_RX_STATUS_DESC_BUFF_ADDR(__pdesc) \
+ SHIFT_AND_MASK_LE(__pdesc + 24, 0, 32)
#define SE_RX_HAL_IS_CCK_RATE(_pdesc)\
(GET_RX_STATUS_DESC_RX_MCS(_pdesc) == DESC92_RATE1M || \
diff --git a/drivers/net/wireless/rtlwifi/rtl8192se/trx.c b/drivers/net/wireless/rtlwifi/rtl8192se/trx.c
index b358ebc..672fd3b 100644
--- a/drivers/net/wireless/rtlwifi/rtl8192se/trx.c
+++ b/drivers/net/wireless/rtlwifi/rtl8192se/trx.c
@@ -640,6 +640,9 @@ u32 rtl92se_get_desc(u8 *desc, bool istx, u8 desc_name)
case HW_DESC_RXPKT_LEN:
ret = GET_RX_STATUS_DESC_PKT_LEN(desc);
break;
+ case HW_DESC_RXBUFF_ADDR:
+ ret = GET_RX_STATUS_DESC_BUFF_ADDR(desc);
+ break;
default:
RT_ASSERT(false, "ERR rxdesc :%d not process\n",
desc_name);
--
2.1.1
^ permalink raw reply related
* [PATCH 4/6i V3.18] rtlwifi: rtl8192ce: Add missing section to read descriptor setting
From: Larry Finger @ 2014-10-30 4:17 UTC (permalink / raw)
To: linville; +Cc: linux-wireless, Larry Finger, netdev, Murilo Opsfelder Araujo
In-Reply-To: <1414642633-3700-1-git-send-email-Larry.Finger@lwfinger.net>
The new version of rtlwifi needs code in rtl92ce_get_desc() that returns
the buffer address for read operations.
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Cc: Murilo Opsfelder Araujo <mopsfelder@gmail.com>
---
drivers/net/wireless/rtlwifi/rtl8192ce/def.h | 2 ++
drivers/net/wireless/rtlwifi/rtl8192ce/trx.c | 3 +++
2 files changed, 5 insertions(+)
diff --git a/drivers/net/wireless/rtlwifi/rtl8192ce/def.h b/drivers/net/wireless/rtlwifi/rtl8192ce/def.h
index 831df10..9b660df 100644
--- a/drivers/net/wireless/rtlwifi/rtl8192ce/def.h
+++ b/drivers/net/wireless/rtlwifi/rtl8192ce/def.h
@@ -114,6 +114,8 @@
LE_BITS_TO_4BYTE(((__pcmdfbhdr) + 4), 16, 4)
#define GET_C2H_CMD_FEEDBACK_CCX_SEQ(__pcmdfbhdr) \
LE_BITS_TO_4BYTE(((__pcmdfbhdr) + 4), 20, 12)
+#define GET_RX_STATUS_DESC_BUFF_ADDR(__pdesc) \
+ SHIFT_AND_MASK_LE(__pdesc + 24, 0, 32)
#define CHIP_VER_B BIT(4)
#define CHIP_BONDING_IDENTIFIER(_value) (((_value) >> 22) & 0x3)
diff --git a/drivers/net/wireless/rtlwifi/rtl8192ce/trx.c b/drivers/net/wireless/rtlwifi/rtl8192ce/trx.c
index 2fb9c7a..dc3d20b 100644
--- a/drivers/net/wireless/rtlwifi/rtl8192ce/trx.c
+++ b/drivers/net/wireless/rtlwifi/rtl8192ce/trx.c
@@ -728,6 +728,9 @@ u32 rtl92ce_get_desc(u8 *p_desc, bool istx, u8 desc_name)
case HW_DESC_RXPKT_LEN:
ret = GET_RX_DESC_PKT_LEN(pdesc);
break;
+ case HW_DESC_RXBUFF_ADDR:
+ ret = GET_RX_STATUS_DESC_BUFF_ADDR(pdesc);
+ break;
default:
RT_ASSERT(false, "ERR rxdesc :%d not process\n",
desc_name);
--
2.1.1
^ permalink raw reply related
* [PATCH 5/6 V3.18] rtlwifi: rtl8821ae: Remove extra semicolons
From: Larry Finger @ 2014-10-30 4:17 UTC (permalink / raw)
To: linville; +Cc: linux-wireless, Larry Finger, netdev, Murilo Opsfelder Araujo
In-Reply-To: <1414642633-3700-1-git-send-email-Larry.Finger@lwfinger.net>
The kbuild test robot reports that there are extra semicolons in this
driver. All of them are caused by using "};" rather than "}" at the
end of a switch statement. This patch does not change any functionality.
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Cc: Murilo Opsfelder Araujo <mopsfelder@gmail.com>
---
drivers/net/wireless/rtlwifi/rtl8821ae/phy.c | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/drivers/net/wireless/rtlwifi/rtl8821ae/phy.c b/drivers/net/wireless/rtlwifi/rtl8821ae/phy.c
index 1e9570f..9b4d8a6 100644
--- a/drivers/net/wireless/rtlwifi/rtl8821ae/phy.c
+++ b/drivers/net/wireless/rtlwifi/rtl8821ae/phy.c
@@ -800,7 +800,7 @@ static void _rtl8821ae_phy_set_txpower_by_rate_base(struct ieee80211_hw *hw,
"Invalid RateSection %d in Band 2.4G,Rf Path %d, %dTx in PHY_SetTxPowerByRateBase()\n",
rate_section, path, txnum);
break;
- };
+ }
} else if (band == BAND_ON_5G) {
switch (rate_section) {
case OFDM:
@@ -823,7 +823,7 @@ static void _rtl8821ae_phy_set_txpower_by_rate_base(struct ieee80211_hw *hw,
"Invalid RateSection %d in Band 5G, Rf Path %d, %dTx in PHY_SetTxPowerByRateBase()\n",
rate_section, path, txnum);
break;
- };
+ }
} else {
RT_TRACE(rtlpriv, COMP_INIT, DBG_LOUD,
"Invalid Band %d in PHY_SetTxPowerByRateBase()\n", band);
@@ -870,7 +870,7 @@ static u8 _rtl8821ae_phy_get_txpower_by_rate_base(struct ieee80211_hw *hw,
"Invalid RateSection %d in Band 2.4G, Rf Path %d, %dTx in PHY_GetTxPowerByRateBase()\n",
rate_section, path, txnum);
break;
- };
+ }
} else if (band == BAND_ON_5G) {
switch (rate_section) {
case OFDM:
@@ -893,7 +893,7 @@ static u8 _rtl8821ae_phy_get_txpower_by_rate_base(struct ieee80211_hw *hw,
"Invalid RateSection %d in Band 5G, Rf Path %d, %dTx in PHY_GetTxPowerByRateBase()\n",
rate_section, path, txnum);
break;
- };
+ }
} else {
RT_TRACE(rtlpriv, COMP_INIT, DBG_LOUD,
"Invalid Band %d in PHY_GetTxPowerByRateBase()\n", band);
@@ -3746,7 +3746,7 @@ static void _rtl8821ae_iqk_tx_fill_iqc(struct ieee80211_hw *hw,
break;
default:
break;
- };
+ }
}
static void _rtl8821ae_iqk_rx_fill_iqc(struct ieee80211_hw *hw,
@@ -3767,7 +3767,7 @@ static void _rtl8821ae_iqk_rx_fill_iqc(struct ieee80211_hw *hw,
break;
default:
break;
- };
+ }
}
#define cal_num 10
--
2.1.1
^ permalink raw reply related
* [PATCH 6/6 V3.18] rtlwifi: rtl8192se: Fix firmware loading
From: Larry Finger @ 2014-10-30 4:17 UTC (permalink / raw)
To: linville; +Cc: linux-wireless, Larry Finger, netdev, Murilo Opsfelder Araujo
In-Reply-To: <1414642633-3700-1-git-send-email-Larry.Finger@lwfinger.net>
An error in the code makes the allocated space for firmware to be too
small.
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Cc: Murilo Opsfelder Araujo <mopsfelder@gmail.com>
---
drivers/net/wireless/rtlwifi/rtl8192se/sw.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/net/wireless/rtlwifi/rtl8192se/sw.c b/drivers/net/wireless/rtlwifi/rtl8192se/sw.c
index 1fd2208..aadba29 100644
--- a/drivers/net/wireless/rtlwifi/rtl8192se/sw.c
+++ b/drivers/net/wireless/rtlwifi/rtl8192se/sw.c
@@ -209,8 +209,8 @@ static int rtl92s_init_sw_vars(struct ieee80211_hw *hw)
if (!rtlpriv->rtlhal.pfirmware)
return 1;
- rtlpriv->max_fw_size = RTL8190_MAX_RAW_FIRMWARE_CODE_SIZE;
-
+ rtlpriv->max_fw_size = RTL8190_MAX_FIRMWARE_CODE_SIZE*2 +
+ sizeof(struct fw_hdr);
pr_info("Driver for Realtek RTL8192SE/RTL8191SE\n"
"Loading firmware %s\n", rtlpriv->cfg->fw_name);
/* request fw */
--
2.1.1
^ permalink raw reply related
* Re: [PATCH] rtlwifi: Add more checks for get_btc_status callback
From: Larry Finger @ 2014-10-30 4:30 UTC (permalink / raw)
To: Murilo Opsfelder Araujo, linux-kernel
Cc: linux-wireless, netdev, Chaoming Li, John W. Linville,
Mike Galbraith, Thadeu Cascardo, troy_tan
In-Reply-To: <1414625302-3654-1-git-send-email-mopsfelder@gmail.com>
On 10/29/2014 06:28 PM, Murilo Opsfelder Araujo wrote:
> This is a complement of commit 08054200117a95afc14c3d2ed3a38bf4e345bf78
> "rtlwifi: Add check for get_btc_status callback".
>
> With this patch, next-20141029 at least does not panic with rtl8192se
> device.
>
This patch is OK, but as noted it is not complete.
I have patches to fix all the kernel panics for rtl8192se AND rtl8192ce. There
are missing parts, but I would prefer submitting mine, which would conflict with
this one. For that reason, NACK for this one, and please apply the set I am
submitting now.
Larry
> Signed-off-by: Murilo Opsfelder Araujo <mopsfelder@gmail.com>
> ---
>
> Hello, everyone.
>
> Some days ago, I reported [1] that next-20140930 introduced an issue
> with rtl8192se devices.
>
> Later on, Larry Finger proposed [2] a fix that did not solve the
> problem thoroughly.
>
> This patch is based on Larry's one [3]. It also does not solve the
> rtl8192se issue completely but I can at least boot next-20141029
> without a panic.
>
> The remaining issue is that the rtl8192se device does not associate.
> It does not even show any wifi network available. The device is shown
> by iwconfig, but I cannot do anything with it.
>
> I need help from someone out there that could provide me guidance or
> possibly investigate the issue (I'm not a kernel expert yet).
>
> I'd not like to see this regression landing on v3.18.
>
> [1] http://marc.info/?l=linux-wireless&m=141403434929612
> [2] http://marc.info/?l=linux-wireless&m=141408165513255
> [3] http://marc.info/?l=linux-wireless&m=141416876810127
>
> drivers/net/wireless/rtlwifi/base.c | 6 ++++--
> drivers/net/wireless/rtlwifi/core.c | 9 ++++++---
> drivers/net/wireless/rtlwifi/pci.c | 3 ++-
> drivers/net/wireless/rtlwifi/ps.c | 12 ++++++++----
> 4 files changed, 20 insertions(+), 10 deletions(-)
>
> diff --git a/drivers/net/wireless/rtlwifi/base.c b/drivers/net/wireless/rtlwifi/base.c
> index 40b6d1d..1a51577 100644
> --- a/drivers/net/wireless/rtlwifi/base.c
> +++ b/drivers/net/wireless/rtlwifi/base.c
> @@ -1234,7 +1234,8 @@ EXPORT_SYMBOL_GPL(rtl_action_proc);
> static void setup_arp_tx(struct rtl_priv *rtlpriv, struct rtl_ps_ctl *ppsc)
> {
> rtlpriv->ra.is_special_data = true;
> - if (rtlpriv->cfg->ops->get_btc_status())
> + if (rtlpriv->cfg->ops->get_btc_status &&
> + rtlpriv->cfg->ops->get_btc_status())
> rtlpriv->btcoexist.btc_ops->btc_special_packet_notify(
> rtlpriv, 1);
> rtlpriv->enter_ps = false;
> @@ -1629,7 +1630,8 @@ void rtl_watchdog_wq_callback(void *data)
> }
> }
>
> - if (rtlpriv->cfg->ops->get_btc_status())
> + if (rtlpriv->cfg->ops->get_btc_status &&
> + rtlpriv->cfg->ops->get_btc_status())
> rtlpriv->btcoexist.btc_ops->btc_periodical(rtlpriv);
>
> rtlpriv->link_info.bcn_rx_inperiod = 0;
> diff --git a/drivers/net/wireless/rtlwifi/core.c b/drivers/net/wireless/rtlwifi/core.c
> index f6179bc..686d256 100644
> --- a/drivers/net/wireless/rtlwifi/core.c
> +++ b/drivers/net/wireless/rtlwifi/core.c
> @@ -1133,7 +1133,8 @@ static void rtl_op_bss_info_changed(struct ieee80211_hw *hw,
> ppsc->report_linked = (mstatus == RT_MEDIA_CONNECT) ?
> true : false;
>
> - if (rtlpriv->cfg->ops->get_btc_status())
> + if (rtlpriv->cfg->ops->get_btc_status &&
> + rtlpriv->cfg->ops->get_btc_status())
> rtlpriv->btcoexist.btc_ops->btc_mediastatus_notify(
> rtlpriv, mstatus);
> }
> @@ -1373,7 +1374,8 @@ static void rtl_op_sw_scan_start(struct ieee80211_hw *hw)
> return;
> }
>
> - if (rtlpriv->cfg->ops->get_btc_status())
> + if (rtlpriv->cfg->ops->get_btc_status &&
> + rtlpriv->cfg->ops->get_btc_status())
> rtlpriv->btcoexist.btc_ops->btc_scan_notify(rtlpriv, 1);
>
> if (rtlpriv->dm.supp_phymode_switch) {
> @@ -1425,7 +1427,8 @@ static void rtl_op_sw_scan_complete(struct ieee80211_hw *hw)
> }
>
> rtlpriv->cfg->ops->scan_operation_backup(hw, SCAN_OPT_RESTORE);
> - if (rtlpriv->cfg->ops->get_btc_status())
> + if (rtlpriv->cfg->ops->get_btc_status &&
> + rtlpriv->cfg->ops->get_btc_status())
> rtlpriv->btcoexist.btc_ops->btc_scan_notify(rtlpriv, 0);
> }
>
> diff --git a/drivers/net/wireless/rtlwifi/pci.c b/drivers/net/wireless/rtlwifi/pci.c
> index 25daa87..ed3364d 100644
> --- a/drivers/net/wireless/rtlwifi/pci.c
> +++ b/drivers/net/wireless/rtlwifi/pci.c
> @@ -1833,7 +1833,8 @@ static void rtl_pci_stop(struct ieee80211_hw *hw)
> unsigned long flags;
> u8 RFInProgressTimeOut = 0;
>
> - if (rtlpriv->cfg->ops->get_btc_status())
> + if (rtlpriv->cfg->ops->get_btc_status &&
> + rtlpriv->cfg->ops->get_btc_status())
> rtlpriv->btcoexist.btc_ops->btc_halt_notify();
>
> /*
> diff --git a/drivers/net/wireless/rtlwifi/ps.c b/drivers/net/wireless/rtlwifi/ps.c
> index b69321d..2278af9 100644
> --- a/drivers/net/wireless/rtlwifi/ps.c
> +++ b/drivers/net/wireless/rtlwifi/ps.c
> @@ -261,7 +261,8 @@ void rtl_ips_nic_off_wq_callback(void *data)
> ppsc->in_powersavemode = true;
>
> /* call before RF off */
> - if (rtlpriv->cfg->ops->get_btc_status())
> + if (rtlpriv->cfg->ops->get_btc_status &&
> + rtlpriv->cfg->ops->get_btc_status())
> rtlpriv->btcoexist.btc_ops->btc_ips_notify(rtlpriv,
> ppsc->inactive_pwrstate);
>
> @@ -306,7 +307,8 @@ void rtl_ips_nic_on(struct ieee80211_hw *hw)
> ppsc->in_powersavemode = false;
> _rtl_ps_inactive_ps(hw);
> /* call after RF on */
> - if (rtlpriv->cfg->ops->get_btc_status())
> + if (rtlpriv->cfg->ops->get_btc_status &&
> + rtlpriv->cfg->ops->get_btc_status())
> rtlpriv->btcoexist.btc_ops->btc_ips_notify(rtlpriv,
> ppsc->inactive_pwrstate);
> }
> @@ -390,14 +392,16 @@ void rtl_lps_set_psmode(struct ieee80211_hw *hw, u8 rt_psmode)
> if (ppsc->p2p_ps_info.opp_ps)
> rtl_p2p_ps_cmd(hw , P2P_PS_ENABLE);
>
> - if (rtlpriv->cfg->ops->get_btc_status())
> + if (rtlpriv->cfg->ops->get_btc_status &&
> + rtlpriv->cfg->ops->get_btc_status())
> rtlpriv->btcoexist.btc_ops->btc_lps_notify(rtlpriv, rt_psmode);
> } else {
> if (rtl_get_fwlps_doze(hw)) {
> RT_TRACE(rtlpriv, COMP_RF, DBG_DMESG,
> "FW LPS enter ps_mode:%x\n",
> ppsc->fwctrl_psmode);
> - if (rtlpriv->cfg->ops->get_btc_status())
> + if (rtlpriv->cfg->ops->get_btc_status &&
> + rtlpriv->cfg->ops->get_btc_status())
> rtlpriv->btcoexist.btc_ops->btc_lps_notify(rtlpriv, rt_psmode);
> enter_fwlps = true;
> ppsc->pwr_mode = ppsc->fwctrl_psmode;
> --
> 2.1.2
>
^ permalink raw reply
* Re: [PATCH] PPC: bpf_jit_comp: add SKF_AD_PKTTYPE instruction
From: Michael Ellerman @ 2014-10-30 4:44 UTC (permalink / raw)
To: Denis Kirjanov; +Cc: linuxppc-dev, netdev, Matt Evans
In-Reply-To: <CAOJe8K0t3G-bHm_24GjrTp9mmKnYZS1_bdGgrwQBLjC_s5is6w@mail.gmail.com>
On Wed, 2014-10-29 at 13:21 +0400, Denis Kirjanov wrote:
> Any feedback from PPC folks?
Hi Denis,
I had a look at this, but I don't know enough about BPF to comment.
Maybe you can explain what a BPF_ANC | SKF_AD_PKTTYPE means and perhaps then we
can guess if the code is correct.
I think testing it is the best option :)
cheers
^ permalink raw reply
* Re: [PATCH net] gre: Fix regression in gretap TSO support
From: Pravin Shelar @ 2014-10-30 5:14 UTC (permalink / raw)
To: alexander.duyck
Cc: netdev, David Miller, H.K. Jerry Chu, Eric Dumazet,
Alexander Duyck, Neal Cardwell
In-Reply-To: <20141030032430.4452.46388.stgit@ahduyck-workstation.home>
On Wed, Oct 29, 2014 at 8:26 PM, <alexander.duyck@gmail.com> wrote:
> From: Alexander Duyck <alexander.h.duyck@redhat.com>
>
> On recent kernels I found that TSO on gretap interfaces didn't work. After
> bisecting it I found that commit b884b1a4 had introduced a regression in
> which the Ethernet header was being included in the GRE header length.
>
> This change corrects that by basing the GRE header length on the inner mac
> header in the case of GRE tunnels using transparent Ethernet bridging, and
> uses the network header for all other GRE tunnel types.
>
> Fixes: b884b1a4 ("gre_offload: simplify GRE header length calculation in gre_gso_segment()")
> Cc: Neal Cardwell <ncardwell@google.com>
> Cc: Eric Dumazet <edumazet@google.com>
> Cc: H.K. Jerry Chu <hkchu@google.com>
> Cc: Pravin B Shelar <pshelar@nicira.com>
> Signed-off-by: Alexander Duyck <alexander.h.duyck@redhat.com>
Patch also fixed problem with ovs-gre.
Acked-by: Pravin B Shelar <pshelar@nicira.com>
Thanks.
> ---
> net/ipv4/gre_offload.c | 5 ++++-
> 1 file changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/net/ipv4/gre_offload.c b/net/ipv4/gre_offload.c
> index f6e345c..67a1f66 100644
> --- a/net/ipv4/gre_offload.c
> +++ b/net/ipv4/gre_offload.c
> @@ -47,7 +47,10 @@ static struct sk_buff *gre_gso_segment(struct sk_buff *skb,
>
> greh = (struct gre_base_hdr *)skb_transport_header(skb);
>
> - ghl = skb_inner_network_header(skb) - skb_transport_header(skb);
> + if (greh->protocol == htons(ETH_P_TEB))
> + ghl = skb_inner_mac_header(skb) - skb_transport_header(skb);
> + else
> + ghl = skb_inner_network_header(skb) - skb_transport_header(skb);
> if (unlikely(ghl < sizeof(*greh)))
> goto out;
>
>
^ permalink raw reply
* Re: [PATCHv2 1/1] ip-link: add switch to show human readable output
From: Stephen Hemminger @ 2014-10-30 5:47 UTC (permalink / raw)
To: Christian Hesse; +Cc: netdev
In-Reply-To: <1412980056-7643-1-git-send-email-mail@eworm.de>
On Sat, 11 Oct 2014 00:27:36 +0200
Christian Hesse <mail@eworm.de> wrote:
> Byte and packet count can increase to really big numbers. This adds a
> switch to show human readable output.
>
> % ip -s link ls wl
> 4: wl: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DORMANT group default qlen 1000
> link/ether 00:de:ad:be:ee:ef brd ff:ff:ff:ff:ff:ff
> RX: bytes packets errors dropped overrun mcast
> 113570876 156975 0 0 0 0
> TX: bytes packets errors dropped carrier collsns
> 27290790 94313 0 0 0 0
> % ip -s -h link ls wl
> 4: wl: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DORMANT group default qlen 1000
> link/ether 00:de:ad:be:ee:ef brd ff:ff:ff:ff:ff:ff
> RX: bytes packets errors dropped overrun mcast
> 122368888 169840 0 0 0 0
> 116.7Mi 165.8Ki 0 0 0 0
> TX: bytes packets errors dropped carrier collsns
> 29087507 102309 0 0 0 0
> 27.7Mi 99.9Ki 0 0 0 0
> ---
I like the idea as a concept but there are two issues:
1. The IEC suffix is a rarely used thing and is non-standard
for communications where K = 1000 M = 1000000 etc.
Please just use standard suffices
2. Don't double print the data, if the user asks for human
format, only show the human format.
^ permalink raw reply
* Re: [PATCH iproute2] ss: Identify a lot of netlink protocol names
From: Stephen Hemminger @ 2014-10-30 5:49 UTC (permalink / raw)
To: Vadim Kochan; +Cc: netdev
In-Reply-To: <1413478018-12373-1-git-send-email-vadim4j@gmail.com>
On Thu, 16 Oct 2014 19:46:58 +0300
Vadim Kochan <vadim4j@gmail.com> wrote:
> There were only few Netlink protocol names:
>
> rtnl, fw, tcpdiag
>
> which were printed on output.
> So added the other ones.
>
> Signed-off-by: Vadim Kochan <vadim4j@gmail.com>
Please make this driven off of a file in /etc/iproute2/ rather than
hard coding a big switch in the code.
^ permalink raw reply
* Re: [PATCH iproute2] xfrm: add support of ESN and anti-replay window
From: Stephen Hemminger @ 2014-10-30 5:51 UTC (permalink / raw)
To: Nicolas Dichtel; +Cc: shemminger, netdev, dingzhi, Adrien Mazarguil
In-Reply-To: <1413796984-9867-1-git-send-email-nicolas.dichtel@6wind.com>
On Mon, 20 Oct 2014 11:23:04 +0200
Nicolas Dichtel <nicolas.dichtel@6wind.com> wrote:
> From: dingzhi <zhi.ding@6wind.com>
>
> This patch allows to configure ESN and anti-replay window.
>
> Signed-off-by: dingzhi <zhi.ding@6wind.com>
> Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
> Signed-off-by: Nicolas Dichtel <nicolas.dichtel@6wind.com>
Applied, but please also send patch to manual.
^ permalink raw reply
* Re: [PATCH iproute2] netlink: extend buffers to 16K
From: Stephen Hemminger @ 2014-10-30 5:52 UTC (permalink / raw)
To: Eric Dumazet; +Cc: netdev
In-Reply-To: <1413045793.9362.48.camel@edumazet-glaptop2.roam.corp.google.com>
On Sat, 11 Oct 2014 09:43:13 -0700
Eric Dumazet <eric.dumazet@gmail.com> wrote:
> From: Eric Dumazet <edumazet@google.com>
>
> Starting from linux-3.15 (commit 9063e21fb026, "netlink: autosize skb
> lengths"), kernel is able to send up to 16K in netlink replies.
>
> This change enables iproute2 commands to get bigger chunks,
> without breaking compatibility with old kernels.
>
> Signed-off-by: Eric Dumazet <edumazet@google.com>
Applied.
^ permalink raw reply
* Re: [PATCH iproute2-next] ss: output dctcp diag information
From: Stephen Hemminger @ 2014-10-30 5:53 UTC (permalink / raw)
To: Daniel Borkmann; +Cc: netdev, Florian Westphal
In-Reply-To: <1411980452-4669-1-git-send-email-dborkman@redhat.com>
On Mon, 29 Sep 2014 10:47:32 +0200
Daniel Borkmann <dborkman@redhat.com> wrote:
> Dump useful DCTCP state/debug information gathered from diag.
>
> Signed-off-by: Daniel Borkmann <dborkman@redhat.com>
> Signed-off-by: Florian Westphal <fw@strlen.de>
Applied, I had already got the header files from regular kernel headers update.
^ permalink raw reply
* Re: [PATCH iproute2] xfrm: add support of ESN and anti-replay window
From: Stephen Hemminger @ 2014-10-30 5:54 UTC (permalink / raw)
To: Nicolas Dichtel; +Cc: shemminger, netdev, dingzhi, Adrien Mazarguil
In-Reply-To: <1413796984-9867-1-git-send-email-nicolas.dichtel@6wind.com>
On Mon, 20 Oct 2014 11:23:04 +0200
Nicolas Dichtel <nicolas.dichtel@6wind.com> wrote:
> From: dingzhi <zhi.ding@6wind.com>
>
> This patch allows to configure ESN and anti-replay window.
>
> Signed-off-by: dingzhi <zhi.ding@6wind.com>
> Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
> Signed-off-by: Nicolas Dichtel <nicolas.dichtel@6wind.com>
Applied, but please also send patch to ma
^ permalink raw reply
* [PATCH net-next] tipc: spelling errors
From: Stephen Hemminger @ 2014-10-30 5:58 UTC (permalink / raw)
To: Jon Maloy, Allan Stephens; +Cc: netdev
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
---
net/tipc/msg.c | 4 ++--
net/tipc/socket.c | 2 +-
2 files changed, 3 insertions(+), 3 deletions(-)
--- a/net/tipc/socket.c 2014-10-27 21:06:04.243288996 -0700
+++ b/net/tipc/socket.c 2014-10-27 21:06:04.239288981 -0700
@@ -1556,7 +1556,7 @@ static void tipc_data_ready(struct sock
* @tsk: TIPC socket
* @msg: message
*
- * Returns 0 (TIPC_OK) if everyting ok, -TIPC_ERR_NO_PORT otherwise
+ * Returns 0 (TIPC_OK) if everything ok, -TIPC_ERR_NO_PORT otherwise
*/
static int filter_connect(struct tipc_sock *tsk, struct sk_buff **buf)
{
--- a/net/tipc/msg.c 2014-10-27 21:06:04.243288996 -0700
+++ b/net/tipc/msg.c 2014-10-27 21:06:04.239288981 -0700
@@ -91,7 +91,7 @@ struct sk_buff *tipc_msg_create(uint use
* @*headbuf: in: NULL for first frag, otherwise value returned from prev call
* out: set when successful non-complete reassembly, otherwise NULL
* @*buf: in: the buffer to append. Always defined
- * out: head buf after sucessful complete reassembly, otherwise NULL
+ * out: head buf after successful complete reassembly, otherwise NULL
* Returns 1 when reassembly complete, otherwise 0
*/
int tipc_buf_append(struct sk_buff **headbuf, struct sk_buff **buf)
@@ -311,7 +311,7 @@ bool tipc_msg_bundle(struct sk_buff *bbu
* @mtu: max allowable size for the bundle buffer, inclusive header
* @dnode: destination node for message. (Not always present in header)
* Replaces buffer if successful
- * Returns true if sucess, otherwise false
+ * Returns true if success, otherwise false
*/
bool tipc_msg_make_bundle(struct sk_buff **buf, u32 mtu, u32 dnode)
{
^ permalink raw reply
* [PATCH v2] PPC: bpf_jit_comp: add SKF_AD_PKTTYPE instruction
From: Denis Kirjanov @ 2014-10-30 6:12 UTC (permalink / raw)
To: netdev
Cc: linuxppc-dev, Denis Kirjanov, Alexei Starovoitov,
Michael Ellerman, Matt Evans
Add BPF extension SKF_AD_PKTTYPE to ppc JIT to load
skb->pkt_type field.
Before:
[ 88.262622] test_bpf: #11 LD_IND_NET 86 97 99 PASS
[ 88.265740] test_bpf: #12 LD_PKTTYPE 109 107 PASS
After:
[ 80.605964] test_bpf: #11 LD_IND_NET 44 40 39 PASS
[ 80.607370] test_bpf: #12 LD_PKTTYPE 9 9 PASS
CC: Alexei Starovoitov<alexei.starovoitov@gmail.com>
CC: Michael Ellerman<mpe@ellerman.id.au>
Cc: Matt Evans <matt@ozlabs.org>
Signed-off-by: Denis Kirjanov <kda@linux-powerpc.org>
v2: Added test rusults
---
arch/powerpc/include/asm/ppc-opcode.h | 1 +
arch/powerpc/net/bpf_jit.h | 7 +++++++
arch/powerpc/net/bpf_jit_comp.c | 5 +++++
3 files changed, 13 insertions(+)
diff --git a/arch/powerpc/include/asm/ppc-opcode.h b/arch/powerpc/include/asm/ppc-opcode.h
index 6f85362..1a52877 100644
--- a/arch/powerpc/include/asm/ppc-opcode.h
+++ b/arch/powerpc/include/asm/ppc-opcode.h
@@ -204,6 +204,7 @@
#define PPC_INST_ERATSX_DOT 0x7c000127
/* Misc instructions for BPF compiler */
+#define PPC_INST_LBZ 0x88000000
#define PPC_INST_LD 0xe8000000
#define PPC_INST_LHZ 0xa0000000
#define PPC_INST_LHBRX 0x7c00062c
diff --git a/arch/powerpc/net/bpf_jit.h b/arch/powerpc/net/bpf_jit.h
index 9aee27c..c406aa9 100644
--- a/arch/powerpc/net/bpf_jit.h
+++ b/arch/powerpc/net/bpf_jit.h
@@ -87,6 +87,9 @@ DECLARE_LOAD_FUNC(sk_load_byte_msh);
#define PPC_STD(r, base, i) EMIT(PPC_INST_STD | ___PPC_RS(r) | \
___PPC_RA(base) | ((i) & 0xfffc))
+
+#define PPC_LBZ(r, base, i) EMIT(PPC_INST_LBZ | ___PPC_RT(r) | \
+ ___PPC_RA(base) | IMM_L(i))
#define PPC_LD(r, base, i) EMIT(PPC_INST_LD | ___PPC_RT(r) | \
___PPC_RA(base) | IMM_L(i))
#define PPC_LWZ(r, base, i) EMIT(PPC_INST_LWZ | ___PPC_RT(r) | \
@@ -96,6 +99,10 @@ DECLARE_LOAD_FUNC(sk_load_byte_msh);
#define PPC_LHBRX(r, base, b) EMIT(PPC_INST_LHBRX | ___PPC_RT(r) | \
___PPC_RA(base) | ___PPC_RB(b))
/* Convenience helpers for the above with 'far' offsets: */
+#define PPC_LBZ_OFFS(r, base, i) do { if ((i) < 32768) PPC_LBZ(r, base, i); \
+ else { PPC_ADDIS(r, base, IMM_HA(i)); \
+ PPC_LBZ(r, r, IMM_L(i)); } } while(0)
+
#define PPC_LD_OFFS(r, base, i) do { if ((i) < 32768) PPC_LD(r, base, i); \
else { PPC_ADDIS(r, base, IMM_HA(i)); \
PPC_LD(r, r, IMM_L(i)); } } while(0)
diff --git a/arch/powerpc/net/bpf_jit_comp.c b/arch/powerpc/net/bpf_jit_comp.c
index cbae2df..d110e28 100644
--- a/arch/powerpc/net/bpf_jit_comp.c
+++ b/arch/powerpc/net/bpf_jit_comp.c
@@ -407,6 +407,11 @@ static int bpf_jit_build_body(struct bpf_prog *fp, u32 *image,
PPC_LHZ_OFFS(r_A, r_skb, offsetof(struct sk_buff,
queue_mapping));
break;
+ case BPF_ANC | SKF_AD_PKTTYPE:
+ PPC_LBZ_OFFS(r_A, r_skb, PKT_TYPE_OFFSET());
+ PPC_ANDI(r_A, r_A, PKT_TYPE_MAX);
+ PPC_SRWI(r_A, r_A, 5);
+ break;
case BPF_ANC | SKF_AD_CPU:
#ifdef CONFIG_SMP
/*
--
2.1.0
^ permalink raw reply related
* Re: net: fec: fix regression on i.MX28 introduced by rx_copybreak support
From: Lothar Waßmann @ 2014-10-30 6:51 UTC (permalink / raw)
To: David Miller
Cc: netdev, rmk+kernel, Frank.Li, fabio.estevam, linux-kernel,
linux-arm-kernel
In-Reply-To: <20141029.153430.1036004676442879956.davem@davemloft.net>
Hi,
David Miller wrote:
> From: Lothar Waßmann <LW@KARO-electronics.de>
> Date: Tue, 28 Oct 2014 14:22:55 +0100
>
> > Changes wrt. v1:
> > - added some cleanup patches
> > - simplify handling of 'quirks' flags as suggested by Russell King.
> > - remove DIV_ROUND_UP() from byte swapping loop as suggested by
> > Eric Dumazet
> >
> > Changes wrt. v2:
> > - rebased against next-20141028
> > - added some more cleanups in fec.h
> > - removed unused return value from swap_buffer()
> > - fixed messed swab32s() call in swap_buffer2()
> > - fixed messed up setup of fep->quirks
> >
>
> It is not appropriate to mix cleanups and bonafide bug fixes.
>
> I want to see only bug fixes targetted at 'net'. You can later
> submit the cleanups to 'net-next'.
>
OK.
> Also, I don't thnk your DIV_ROUND_UP() eliminate for the loop
> in swap_buffer() is valid. The whole point is that the current
> code handles buffers which have a length which is not a multiple
> of 4 properly, after your change it will no longer do so.
>
Do you really think so?
Lothar Waßmann
--
___________________________________________________________
Ka-Ro electronics GmbH | Pascalstraße 22 | D - 52076 Aachen
Phone: +49 2408 1402-0 | Fax: +49 2408 1402-10
Geschäftsführer: Matthias Kaussen
Handelsregistereintrag: Amtsgericht Aachen, HRB 4996
www.karo-electronics.de | info@karo-electronics.de
___________________________________________________________
^ permalink raw reply
* Re: [PATCH net-next] mlx4: use napi_schedule_irqoff()
From: Amir Vadai @ 2014-10-30 7:30 UTC (permalink / raw)
To: Eric Dumazet, David Miller; +Cc: netdev
In-Reply-To: <1414626885.631.102.camel@edumazet-glaptop2.roam.corp.google.com>
On 10/30/2014 1:54 AM, Eric Dumazet wrote:
> From: Eric Dumazet <edumazet@google.com>
>
> mlx4_en_rx_irq() and mlx4_en_tx_irq() run from hard interrupt context.
>
> They can use napi_schedule_irqoff() instead of napi_schedule()
>
> Signed-off-by: Eric Dumazet <edumazet@google.com>
> ---
> drivers/net/ethernet/mellanox/mlx4/en_rx.c | 4 ++--
> drivers/net/ethernet/mellanox/mlx4/en_tx.c | 4 ++--
> 2 files changed, 4 insertions(+), 4 deletions(-)
>
Acked-By: Amir Vadai <amirv@mellanox.com>
Thanks,
Amir
^ permalink raw reply
* Re: [patch] Bluetooth: 6lowpan: use after free in disconnect_devices()
From: Jukka Rissanen @ 2014-10-30 7:54 UTC (permalink / raw)
To: Dan Carpenter
Cc: Marcel Holtmann, Gustavo Padovan, Johan Hedberg, David S. Miller,
linux-bluetooth, netdev, linux-kernel, kernel-janitors
In-Reply-To: <20141029161057.GF5290@mwanda>
Hi Dan,
On ke, 2014-10-29 at 19:10 +0300, Dan Carpenter wrote:
> This was accidentally changed from list_for_each_entry_safe() to
> list_for_each_entry() so now it has a use after free bug. I've changed
> it back.
Good catch! Thanks for the patch.
Acked-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
>
> Fixes: 90305829635d ('Bluetooth: 6lowpan: Converting rwlocks to use RCU')
> Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
>
> diff --git a/net/bluetooth/6lowpan.c b/net/bluetooth/6lowpan.c
> index 7254bdd..eef298d 100644
> --- a/net/bluetooth/6lowpan.c
> +++ b/net/bluetooth/6lowpan.c
> @@ -1383,7 +1383,7 @@ static const struct file_operations lowpan_control_fops = {
>
> static void disconnect_devices(void)
> {
> - struct lowpan_dev *entry, *new_dev;
> + struct lowpan_dev *entry, *tmp, *new_dev;
> struct list_head devices;
>
> INIT_LIST_HEAD(&devices);
> @@ -1408,7 +1408,7 @@ static void disconnect_devices(void)
>
> rcu_read_unlock();
>
> - list_for_each_entry(entry, &devices, list) {
> + list_for_each_entry_safe(entry, tmp, &devices, list) {
> ifdown(entry->netdev);
> BT_DBG("Unregistering netdev %s %p",
> entry->netdev->name, entry->netdev);
> --
> To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
Cheers,
Jukka
^ permalink raw reply
* Re: [PATCH 2/5] stmmac: pci: use managed resources
From: Andy Shevchenko @ 2014-10-30 8:05 UTC (permalink / raw)
To: Giuseppe CAVALLARO
Cc: Sergei Shtylyov, netdev, Kweh Hock Leong, David S. Miller,
Vince Bridgers, Rayagond K
In-Reply-To: <544E6486.6040502@st.com>
On Mon, 2014-10-27 at 16:28 +0100, Giuseppe CAVALLARO wrote:
> On 10/22/2014 10:36 AM, Andy Shevchenko wrote:
> > So, I was trying to find any specification on public regarding to boards
> > that have this IP, no luck so far. I guess that that code was created
> > due to XILINX FPGA usage which probably can provide any BAR user wants
> > to. Thus, I imply that in real applications the BAR most probably will
> > be 0. However, I left variable which can be overridden in future
> > (regarding to PCI ID).
> >
> > It would be nice to hear someone from ST about this. Giuseppe?
>
> Hello Andy
>
> this chip is on ST SoCs since long time but embedded. I have no PCI
> card. Added Rayagond on copy too
Rayagond, what do you think about changing an approach that is used to
get resources from PCI?
--
Andy Shevchenko <andriy.shevchenko@intel.com>
Intel Finland Oy
^ permalink raw reply
* Re: [PATCH 0/5] stmmac: pci: various cleanups and fixes
From: Giuseppe CAVALLARO @ 2014-10-30 8:13 UTC (permalink / raw)
To: Andy Shevchenko, netdev, Kweh Hock Leong, David S. Miller,
Vince Bridgers
In-Reply-To: <1413909333-16380-1-git-send-email-andriy.shevchenko@linux.intel.com>
On 10/21/2014 6:35 PM, Andy Shevchenko wrote:
> There are few cleanups and fixes regarding to stmmac PCI driver.
> This has been tested on Intel Galileo board with 3.18-rc1 kernel.
Hello Andy,
for your next version I think that the patches should be for net-next
tree.
Maybe the following for net.git: "stmmac: pci: set default filter bins"
I kindly ask you to detail fix and cleanup.
peppe
>
> Andy Shevchenko (5):
> stmmac: pci: convert to use dev_pm_ops
> stmmac: pci: use managed resources
> stmmac: pci: convert to use dev_* macros
> stmmac: pci: set default filter bins
> stmmac: pci: remove FSF address
>
> drivers/net/ethernet/stmicro/stmmac/stmmac_pci.c | 92 ++++++++----------------
> 1 file changed, 30 insertions(+), 62 deletions(-)
>
^ permalink raw reply
* [PATCH iproute2] man: update doc after support of ESN and anti-replay window
From: Nicolas Dichtel @ 2014-10-30 8:18 UTC (permalink / raw)
To: shemminger; +Cc: netdev, Nicolas Dichtel
Signed-off-by: Nicolas Dichtel <nicolas.dichtel@6wind.com>
---
man/man8/ip-xfrm.8 | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/man/man8/ip-xfrm.8 b/man/man8/ip-xfrm.8
index 2d31b4d9c5a2..c9d2a2e17c35 100644
--- a/man/man8/ip-xfrm.8
+++ b/man/man8/ip-xfrm.8
@@ -43,6 +43,10 @@ ip-xfrm \- transform configuration
.IR SEQ " ]"
.RB "[ " replay-oseq
.IR SEQ " ]"
+.RB "[ " replay-seq-hi
+.IR SEQ " ]"
+.RB "[ " replay-oseq-hi
+.IR SEQ " ]"
.RB "[ " flag
.IR FLAG-LIST " ]"
.RB "[ " sel
@@ -138,7 +142,8 @@ ip-xfrm \- transform configuration
.ti -8
.IR FLAG " :="
-.BR noecn " | " decap-dscp " | " nopmtudisc " | " wildrecv " | " icmp " | " af-unspec " | " align4
+.BR noecn " | " decap-dscp " | " nopmtudisc " | " wildrecv " | " icmp " | "
+.BR af-unspec " | " align4 " | " esn
.ti -8
.IR SELECTOR " :="
@@ -470,7 +475,7 @@ and inbound trigger
.I FLAG-LIST
contains one or more of the following optional flags:
.BR noecn ", " decap-dscp ", " nopmtudisc ", " wildrecv ", " icmp ", "
-.BR af-unspec ", or " align4 "."
+.BR af-unspec ", " align4 ", or " esn "."
.TP
.IR SELECTOR
--
2.1.0
^ permalink raw reply related
page: next (older) | prev (newer) | latest
- recent:[subjects (threaded)|topics (new)|topics (active)]
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox