* RE: [PATCH] ks8851: Cancel any pending IRQ work
From: Matt Renzelmann @ 2012-04-12 20:34 UTC (permalink / raw)
To: 'Stephen Boyd'; +Cc: davem, ben, netdev, Matt Renzelmann
In-Reply-To: <4F8738EB.2060806@codeaurora.org>
>
> Is this actually solving anything? Presumably cancel_work_sync() could
> run and then another spurious interrupt could come in after that
> function returns and we would have the same problem again. We should
> probably free the irq before unregistering the netdev so that
> ks8851_net_stop() would run after the interrupt is no longer registered,
> and the flush_work() in there would finish the last work. But then we
> have a problem where we're enabling the irq in the irq_work callback
> after the irq has been freed. Ugh.
>
> I also see a potential deadlock in ks8851_net_stop(). ks8851_net_stop()
> holds the ks->lock while calling flush_work() which could deadlock if an
> interrupt comes and schedules an irq_work between the time
> ks8851_net_stop() grabs the mutex and calls flush_work().
>
I agree on all counts -- the patch is buggy, though it does at least "shrink"
the window of vulnerability. Frankly, I don't believe I'm qualified to write an
appropriate patch for this driver, at least without spending considerably more
time on it.
FWIW, I found this problem with a new driver-testing tool we've developed called
SymDrive, and my goal is primarily to determine if the bug is real or not. The
tool is imperfect and we are trying to validate its operation.
That said, if there is an issue here, and we can come up with an appropriate
fix, then I'd be happy to write a patch for it.
^ permalink raw reply
* [PATCH net-next] net: vxge: Add MODULE_FIRMWARE
From: Tim Gardner @ 2012-04-12 20:34 UTC (permalink / raw)
To: linux-kernel; +Cc: Tim Gardner, Jon Mason, netdev
Cc: Jon Mason <jdmason@kudzu.us>
Cc: netdev@vger.kernel.org
Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
---
drivers/net/ethernet/neterion/vxge/vxge-main.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/net/ethernet/neterion/vxge/vxge-main.c b/drivers/net/ethernet/neterion/vxge/vxge-main.c
index 51387c3..dcef72d 100644
--- a/drivers/net/ethernet/neterion/vxge/vxge-main.c
+++ b/drivers/net/ethernet/neterion/vxge/vxge-main.c
@@ -4856,3 +4856,5 @@ vxge_closer(void)
}
module_init(vxge_starter);
module_exit(vxge_closer);
+MODULE_FIRMWARE("vxge/X3fw-pxe.ncf");
+MODULE_FIRMWARE("vxge/X3fw.ncf");
--
1.7.9.5
^ permalink raw reply related
* Re: [PATCH] ks8851: Fix missing mutex_lock/unlock
From: Stephen Boyd @ 2012-04-12 20:34 UTC (permalink / raw)
To: mjr; +Cc: fbl, davem, ben, netdev
In-Reply-To: <1334261204-8554-1-git-send-email-mjr@cs.wisc.edu>
On 04/12/12 13:06, mjr@cs.wisc.edu wrote:
> From: Matt Renzelmann <mjr@cs.wisc.edu>
>
> All calls to ks8851_rdreg* and ks8851_wrreg* should be protected with
> the driver's lock mutex. A spurious interrupt may otherwise cause a
> crash.
>
> Signed-off-by: Matt Renzelmann <mjr@cs.wisc.edu>
> ---
>
> Thank you, Mr. Leitner, for providing feedback. I agree with your
> changes and have updated the patch to reflect them. I apologize for
> missing the driver name in the title -- I've updated the patch with
> that information as well. Please let me know if there is anything
> else I should fix/change.
>
> drivers/net/ethernet/micrel/ks8851.c | 8 ++++++--
> 1 files changed, 6 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/net/ethernet/micrel/ks8851.c b/drivers/net/ethernet/micrel/ks8851.c
> index c722aa6..20237dc 100644
> --- a/drivers/net/ethernet/micrel/ks8851.c
> +++ b/drivers/net/ethernet/micrel/ks8851.c
> @@ -1417,6 +1417,7 @@ static int __devinit ks8851_probe(struct spi_device *spi)
> {
> struct net_device *ndev;
> struct ks8851_net *ks;
> + int result;
> int ret;
>
> ndev = alloc_etherdev(sizeof(struct ks8851_net));
> @@ -1515,9 +1516,12 @@ static int __devinit ks8851_probe(struct spi_device *spi)
> goto err_netdev;
> }
>
> + mutex_lock(&ks->lock);
> + result = CIDER_REV_GET(ks8851_rdreg16(ks, KS_CIDER));
> + mutex_unlock(&ks->lock);
> +
> netdev_info(ndev, "revision %d, MAC %pM, IRQ %d, %s EEPROM\n",
> - CIDER_REV_GET(ks8851_rdreg16(ks, KS_CIDER)),
> - ndev->dev_addr, ndev->irq,
> + result, ndev->dev_addr, ndev->irq,
> ks->rc_ccr & CCR_EEPROM ? "has" : "no");
>
> return 0;
This register is already read in the probe function and the lock is not
held there so you seem to have missed a couple. I would guess it doesn't
really matter tha we don't grab the lock though because the device isn't
actively sending/receiving packets. How about this instead?
diff --git a/drivers/net/ethernet/micrel/ks8851.c b/drivers/net/ethernet/micrel/ks8851.c
index c722aa60..6f21fcd 100644
--- a/drivers/net/ethernet/micrel/ks8851.c
+++ b/drivers/net/ethernet/micrel/ks8851.c
@@ -1418,6 +1418,7 @@ static int __devinit ks8851_probe(struct spi_device *spi)
struct net_device *ndev;
struct ks8851_net *ks;
int ret;
+ unsigned cider;
ndev = alloc_etherdev(sizeof(struct ks8851_net));
if (!ndev)
@@ -1484,8 +1485,9 @@ static int __devinit ks8851_probe(struct spi_device *spi)
ks8851_soft_reset(ks, GRR_GSR);
/* simple check for a valid chip being connected to the bus */
-
- if ((ks8851_rdreg16(ks, KS_CIDER) & ~CIDER_REV_MASK) != CIDER_ID) {
+ mutex_lock(&ks->lock);
+ cider = ks8851_rdreg16(ks, KS_CIDER);
+ if ((cider & ~CIDER_REV_MASK) != CIDER_ID) {
dev_err(&spi->dev, "failed to read device ID\n");
ret = -ENODEV;
goto err_id;
@@ -1493,6 +1495,7 @@ static int __devinit ks8851_probe(struct spi_device *spi)
/* cache the contents of the CCR register for EEPROM, etc. */
ks->rc_ccr = ks8851_rdreg16(ks, KS_CCR);
+ mutex_unlock(&ks->lock);
if (ks->rc_ccr & CCR_EEPROM)
ks->eeprom_size = 128;
@@ -1516,8 +1519,7 @@ static int __devinit ks8851_probe(struct spi_device *spi)
}
netdev_info(ndev, "revision %d, MAC %pM, IRQ %d, %s EEPROM\n",
- CIDER_REV_GET(ks8851_rdreg16(ks, KS_CIDER)),
- ndev->dev_addr, ndev->irq,
+ CIDER_REV_GET(cider), ndev->dev_addr, ndev->irq,
ks->rc_ccr & CCR_EEPROM ? "has" : "no");
return 0;
--
Sent by an employee of the Qualcomm Innovation Center, Inc.
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum.
^ permalink raw reply related
* Re: [net-next 3/4 (V3)] stmmac: add the Energy Efficient Ethernet support
From: David Miller @ 2012-04-12 20:32 UTC (permalink / raw)
To: peppe.cavallaro; +Cc: netdev, bhutchings, rayagond
In-Reply-To: <1333704559-11251-4-git-send-email-peppe.cavallaro@st.com>
From: Giuseppe CAVALLARO <peppe.cavallaro@st.com>
Date: Fri, 6 Apr 2012 11:29:17 +0200
> +static int stmmac_ethtool_op_set_eee(struct net_device *dev,
> + struct ethtool_value *eee)
> +{
> + struct stmmac_priv *priv = netdev_priv(dev);
> +
> + if ((!eee->data) && (priv->eee_enabled)) {
> + stmmac_disable_eee_mode(priv);
> + priv->eee_enabled = eee->data;
> + } else if ((eee->data) && (!priv->eee_enabled))
> + /* We are asking for enabling the EEE but this
> + * has to be verified by invoking the eee_init function.
> + * For this reason we cannot set eee_enabled to
> + * eee->data, directly. */
> + priv->eee_enabled = stmmac_eee_init(priv);
> +
> + return 0;
If stmmac_eee_init() determines that it cannot enable eee, you should
return an appropriate error code here so that ethtool can report that
fact.
^ permalink raw reply
* Re: [net-next PATCH v3 1/8] net: add generic PF_BRIDGE:RTM_ FDB hooks
From: Ben Hutchings @ 2012-04-12 20:27 UTC (permalink / raw)
To: John Fastabend
Cc: shemminger, mst, davem, sri, hadi, jeffrey.t.kirsher, netdev,
gregory.v.rose, krkumar2
In-Reply-To: <20120412170650.2717.56467.stgit@jf-dev1-dcblab>
On Thu, 2012-04-12 at 10:06 -0700, John Fastabend wrote:
[...]
> There is a slight complication in the case with both flags set
> when an error occurs. To resolve this the rtnl handler clears
> the NTF_ flag in the netlink ack to indicate which sets completed
> successfully. The add/del handlers will abort as soon as any
> error occurs.
[...]
Yes, this should work nicely. Presumably these new flags are completely
ignored by the current implementation of PF_BRIDGE, and new userland
will also be able to use the flags in the response to detect the old
implementation.
Ben.
--
Ben Hutchings, Staff Engineer, Solarflare
Not speaking for my employer; that's the marketing department's job.
They asked us to note that Solarflare product names are trademarked.
^ permalink raw reply
* Re: [net-next PATCH v3 3/8] net: add fdb generic dump routine
From: Ben Hutchings @ 2012-04-12 20:20 UTC (permalink / raw)
To: John Fastabend
Cc: shemminger, mst, davem, sri, hadi, jeffrey.t.kirsher, netdev,
gregory.v.rose, krkumar2
In-Reply-To: <20120412170702.2717.81539.stgit@jf-dev1-dcblab>
On Thu, 2012-04-12 at 10:07 -0700, John Fastabend wrote:
> This adds a generic dump routine drivers can call. It
> should be sufficient to handle any bridging model that
> uses the unicast address list. This should be most SR-IOV
> enabled NICs.
>
> v2: return error on nlmsg_put and use -EMSGSIZE instead
> of -ENOMEM this is inline other usages
It's still not propagated up to ndo_dflt_fdb_dump() though:
[...]
> +static int nlmsg_populate_fdb(struct sk_buff *skb,
> + struct netlink_callback *cb,
> + struct net_device *dev,
> + int *idx,
> + struct netdev_hw_addr_list *list)
> +{
> + struct netdev_hw_addr *ha;
> + int err;
> + u32 pid, seq;
> +
> + pid = NETLINK_CB(cb->skb).pid;
> + seq = cb->nlh->nlmsg_seq;
> +
> + list_for_each_entry(ha, &list->list, list) {
> + if (*idx < cb->args[0])
> + goto skip;
> +
> + err = nlmsg_populate_fdb_fill(skb, dev, ha->addr,
> + pid, seq, 0, NTF_SELF);
> + if (err < 0)
> + break;
return err;
> +skip:
> + *idx += 1;
> + }
> + return 0;
> +}
[...]
--
Ben Hutchings, Staff Engineer, Solarflare
Not speaking for my employer; that's the marketing department's job.
They asked us to note that Solarflare product names are trademarked.
^ permalink raw reply
* Re: [PATCH] ks8851: Cancel any pending IRQ work
From: Stephen Boyd @ 2012-04-12 20:19 UTC (permalink / raw)
To: mjr; +Cc: davem, ben, netdev
In-Reply-To: <1334249091-7605-1-git-send-email-mjr@cs.wisc.edu>
On 04/12/12 09:44, mjr@cs.wisc.edu wrote:
> From: Matt Renzelmann <mjr@cs.wisc.edu>
>
> An unexpected/spurious interrupt may cause the irq_work queue to
> execute during or after module unload, which can cause a crash. It
> should be canceled.
>
> Signed-off-by: Matt Renzelmann <mjr@cs.wisc.edu>
> ---
> drivers/net/ethernet/micrel/ks8851.c | 1 +
> 1 files changed, 1 insertions(+), 0 deletions(-)
>
> diff --git a/drivers/net/ethernet/micrel/ks8851.c b/drivers/net/ethernet/micrel/ks8851.c
> index c722aa6..ab46953 100644
> --- a/drivers/net/ethernet/micrel/ks8851.c
> +++ b/drivers/net/ethernet/micrel/ks8851.c
> @@ -1540,6 +1540,7 @@ static int __devexit ks8851_remove(struct spi_device *spi)
> dev_info(&spi->dev, "remove\n");
>
> unregister_netdev(priv->netdev);
> + cancel_work_sync(&priv->irq_work);
> free_irq(spi->irq, priv);
> free_netdev(priv->netdev);
>
Is this actually solving anything? Presumably cancel_work_sync() could
run and then another spurious interrupt could come in after that
function returns and we would have the same problem again. We should
probably free the irq before unregistering the netdev so that
ks8851_net_stop() would run after the interrupt is no longer registered,
and the flush_work() in there would finish the last work. But then we
have a problem where we're enabling the irq in the irq_work callback
after the irq has been freed. Ugh.
I also see a potential deadlock in ks8851_net_stop(). ks8851_net_stop()
holds the ks->lock while calling flush_work() which could deadlock if an
interrupt comes and schedules an irq_work between the time
ks8851_net_stop() grabs the mutex and calls flush_work().
--
Sent by an employee of the Qualcomm Innovation Center, Inc.
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum.
^ permalink raw reply
* Re: [PATCH] net/ipv6/ipv6_sockglue.c: Removed redundant extern
From: David Miller @ 2012-04-12 20:15 UTC (permalink / raw)
To: eldad; +Cc: kuznet, jmorris, kaber, netdev, linux-kernel
In-Reply-To: <1334083887-5375-1-git-send-email-eldad@fogrefinery.com>
From: Eldad Zack <eldad@fogrefinery.com>
Date: Tue, 10 Apr 2012 20:51:27 +0200
> extern int sysctl_mld_max_msf is already defined in linux/ipv6.h.
>
> Signed-off-by: Eldad Zack <eldad@fogrefinery.com>
Applied, thanks.
^ permalink raw reply
* [PATCH] ks8851: Fix missing mutex_lock/unlock
From: mjr @ 2012-04-12 20:06 UTC (permalink / raw)
To: fbl; +Cc: davem, sboyd, ben, netdev, Matt Renzelmann
From: Matt Renzelmann <mjr@cs.wisc.edu>
All calls to ks8851_rdreg* and ks8851_wrreg* should be protected with
the driver's lock mutex. A spurious interrupt may otherwise cause a
crash.
Signed-off-by: Matt Renzelmann <mjr@cs.wisc.edu>
---
Thank you, Mr. Leitner, for providing feedback. I agree with your
changes and have updated the patch to reflect them. I apologize for
missing the driver name in the title -- I've updated the patch with
that information as well. Please let me know if there is anything
else I should fix/change.
drivers/net/ethernet/micrel/ks8851.c | 8 ++++++--
1 files changed, 6 insertions(+), 2 deletions(-)
diff --git a/drivers/net/ethernet/micrel/ks8851.c b/drivers/net/ethernet/micrel/ks8851.c
index c722aa6..20237dc 100644
--- a/drivers/net/ethernet/micrel/ks8851.c
+++ b/drivers/net/ethernet/micrel/ks8851.c
@@ -1417,6 +1417,7 @@ static int __devinit ks8851_probe(struct spi_device *spi)
{
struct net_device *ndev;
struct ks8851_net *ks;
+ int result;
int ret;
ndev = alloc_etherdev(sizeof(struct ks8851_net));
@@ -1515,9 +1516,12 @@ static int __devinit ks8851_probe(struct spi_device *spi)
goto err_netdev;
}
+ mutex_lock(&ks->lock);
+ result = CIDER_REV_GET(ks8851_rdreg16(ks, KS_CIDER));
+ mutex_unlock(&ks->lock);
+
netdev_info(ndev, "revision %d, MAC %pM, IRQ %d, %s EEPROM\n",
- CIDER_REV_GET(ks8851_rdreg16(ks, KS_CIDER)),
- ndev->dev_addr, ndev->irq,
+ result, ndev->dev_addr, ndev->irq,
ks->rc_ccr & CCR_EEPROM ? "has" : "no");
return 0;
--
1.7.5.4
^ permalink raw reply related
* Re: [PATCH] net/core: simple_strtoul cleanup
From: David Miller @ 2012-04-12 20:09 UTC (permalink / raw)
To: shuahkhan; +Cc: netdev, linux-kernel
In-Reply-To: <1334258893.3022.7.camel@lorien2>
From: Shuah Khan <shuahkhan@gmail.com>
Date: Thu, 12 Apr 2012 13:28:13 -0600
> Changed net/core/net-sysfs.c: netdev_store() to use kstrtoul()
> instead of obsolete simple_strtoul().
>
>>From 84371b0ed8b277ec8005fd0efbc73165a8bd72b9 Mon Sep 17 00:00:00 2001
> From: Shuah Khan <shuahkhan@gmail.com>
> Date: Thu, 12 Apr 2012 10:36:10 -0600
> Subject: [PATCH] net/core: simple_strtoul cleanup
>
>
> Signed-off-by: Shuah Khan <shuahkhan@gmail.com>
Applied, thanks.
^ permalink raw reply
* Re: [PATCH 0/8] r6040: misc cleanups
From: David Miller @ 2012-04-12 20:07 UTC (permalink / raw)
To: florian; +Cc: netdev
In-Reply-To: <1334164723-9627-1-git-send-email-florian@openwrt.org>
From: Florian Fainelli <florian@openwrt.org>
Date: Wed, 11 Apr 2012 19:18:35 +0200
> This series contains some cleanups and one small fix, they are targetted
> at net-next.
All applied, thanks Florian.
^ permalink raw reply
* Re: [PATCH 1/2] qlcnic: Add default swtich case in 'qlcnic_can_start_firmware()'
From: David Miller @ 2012-04-12 20:02 UTC (permalink / raw)
To: santoshprasadnayak
Cc: anirban.chakraborty, rajesh.borundia, sony.chacko, linux-driver,
netdev, kernel-janitors
In-Reply-To: <1333951187-4395-1-git-send-email-santoshprasadnayak@gmail.com>
You haven't told me what tree these two patches should be applied to,
so I am dropping them both.
Resubmit with a proper destination tree indication.
Thanks.
^ permalink raw reply
* pull request: wireless-next 2012-04-12
From: John W. Linville @ 2012-04-12 19:55 UTC (permalink / raw)
To: davem; +Cc: linux-wireless, netdev
[-- Attachment #1: Type: text/plain, Size: 21692 bytes --]
commit 7eab0f64a9eba5405222fdef0ede2468bf495efd
Dave,
Welcome to the first wireless pull request for the 3.5 era! :-)
Highlights of this batch include some mac80211 refactoring and
enhancements, a number of iwlwifi updates, some ath9k updates
(including a DFS pattern detector), and various other updates to
rtlwifi, mwifiex, and various other drivers. Overall, nothing too
unusual...
Please let me know if there are problems!
Thanks,
John
P.S. This also includes a pull from the wireless tree, to provide
a prerequisite fix for the NFC updates.
---
The following changes since commit cade455596504fae8e134a27189713ddf7c6d04d:
team: add missed "statics" (2012-04-11 10:03:52 -0400)
are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next.git for-davem
AceLan Kao (1):
Bluetooth: Add support for Atheros [04ca:3005]
Amitkumar Karwar (5):
mwifiex: update signal strength in mBm units
mwifiex: add cfg80211 dump_station handler
mwifiex: remove redundant signal handling code
mwifiex: support STATION_INFO_SIGNAL_AVG
mwifiex: add set_cqm_rssi_config handler support
Andrei Emeltchenko (3):
Bluetooth: Fix memory leaks due to chan refcnt
Bluetooth: mgmt: Add missing endian conversion
Bluetooth: mgmt: Fix timeout type
Antonio Quartulli (1):
b43: claim support for IBSS RSN
Ashok Nagarajan (4):
mac80211: Use mandatory rates as basic rates when starting mesh
mac80211: Indicate basic rates when adding rate IEs
mac80211: Modify sta_get_rates to give basic rates
mac80211: Check basic rates when peering
Ben Greear (3):
mac80211: Add iface name when calling WARN-ON.
ath9k: Add tx-failed counter.
ath9k: Add more recv stats.
Brian Gix (1):
Bluetooth: mgmt: Fix corruption of device_connected pkt
Chen, Chien-Chia (1):
rt2x00: Fix rfkill_polling register function.
Cho, Yu-Chen (1):
Bluetooth: Add Atheros maryann PIDVID support
Christian Lamparter (1):
p54: only unregister ieee80211_hw when it has been registered
Chun-Yeow Yeoh (2):
mac80211: fix the sparse warnings on endian handling in RANN propagation
mac80211: fix the RANN propagation issues
David Spinadel (1):
iwlwifi: phy_db structure
Don Fry (2):
iwlwifi: move FW_ERROR to priv
iwlwifi: split POWER_PMI status bit
Don Zickus (1):
Bluetooth: btusb: typo in Broadcom SoftSailing id
Felix Fietkau (3):
cfg80211: use compare_ether_addr on MAC addresses instead of memcmp
mac80211: reduce code duplication in debugfs code
mac80211: optimize aggregation session timeout handling
Gustavo Padovan (1):
Bluetooth: Fix userspace compatibility issue with mgmt interface
Hemant Gupta (1):
Bluetooth: Use correct flags for checking HCI_SSP_ENABLED bit
Jakub Kicinski (1):
rt2x00: increase led's name buffer length
Javier Cardona (4):
mac80211_hwsim: Fill timestamp beacon at the time it is transmitted
mac80211: Allow tsf increments via debugfs
mac80211: Implement mesh synchronization framework
{nl,cfg}80211: Support for mesh synchronization
Joe Perches (6):
rtlwifi: Use is_zero_ether_addr, remove line continuation
rtlwifi: Simplify rtl_get/set inline functions
ath: Add and use pr_fmt, convert printks to pr_<level>
ath5k: Introduce _ath5k_printk to reduce code/text
iwlwifi: Add pr_fmt
wireless: Remove unnecessary ; from while (0) macros
Johan Hedberg (2):
Bluetooth: Don't increment twice in eir_has_data_type()
Bluetooth: Check for minimum data length in eir_has_data_type()
Johan Hovold (2):
Bluetooth: hci_ldisc: fix NULL-pointer dereference on tty_close
Bluetooth: hci_core: fix NULL-pointer dereference at unregister
Johannes Berg (37):
mac80211: fix association beacon wait timeout
nl80211: ensure interface is up in various APIs
wireless: rename ht_info to ht_operation
iwlwifi: process multiple frames per RXB
iwlwifi: extend notification wait
iwlwifi: simplify calibration collection
iwlwifi: add trailing newline to various messages
iwlwifi: clarify config struct comments
iwlwifi: remove support_wimax_coexist
iwlwifi: remove iq_invert config param
iwlwifi: remove scan_rx_antennas
iwlwifi: use scan while idle
iwlwifi: move queue mapping out of transport
iwlwifi: move valid_contexts to priv
mac80211: don't always advertise remain-on-channel
mwifiex: don't use IEEE80211_MAX_QUEUES
mac80211: fix mesh TX coding style
mac80211: clean up uAPSD TX code
mac80211: make ieee80211_downgrade_queue static
mac80211: inline ieee80211_add_pending_skbs
mac80211: use AC constants
mac80211: set HT channel before association
mac80211: remove channel type argument from rate_update
mac80211: remove queue stop on rate control update
mac80211: notify driver of rate control updates
mac80211: remove antenna_sel_tx TX info field
cfg80211/nl80211: clarify TX queue API
mac80211: refuse TX queue configuration on non-QoS HW
mac80211: decouple # of netdev queues from HW queues
mac80211: debounce queue stop/wake
mac80211: lazily stop queues in add_pending
mac80211: use IEEE80211_NUM_ACS
mac80211: manage AP netdev carrier state
mac80211: add explicit monitor interface if needed
mac80211: add improved HW queue control
mac80211: clean up an ieee80211_do_open error path
cfg80211/mac80211: enable proper device_set_wakeup_enable handling
John W. Linville (3):
Merge branch 'master' of git://git.kernel.org/.../bluetooth/bluetooth
Merge branch 'master' of git://git.kernel.org/.../linville/wireless
Merge branch 'master' into for-davem
João Paulo Rechi Vita (1):
Bluetooth: btusb: Add USB device ID "0a5c 21e8"
Julia Lawall (1):
net/wireless/wext-core.c: add missing kfree
Larry Finger (8):
rtlwifi: rtl8192de: Fix firmware initialization
mac80211: Convert WARN_ON to WARN_ON_ONCE
rtlwifi: Fix oops on rate-control failure
p54usb: Load firmware asynchronously
rtlwifi: Preallocate USB read buffers and eliminate kalloc in read routine
rtlwifi: Add missing DMA buffer unmapping for PCI drivers
rtlwifi: Preallocate USB read buffers and eliminate kalloc in read routine
rtlwifi: Add missing DMA buffer unmapping for PCI drivers
Luis R. Rodriguez (1):
cfg80211: warn if db.txt is empty with CONFIG_CFG80211_INTERNAL_REGDB
Marcel Holtmann (1):
MAINTAINERS: update Bluetooth tree locations
Marco Porsch (1):
mac80211: end service period only after sending last buffered frame
Meenakshi Venkataraman (11):
iwlwifi: use iwlagn_fw_error instead of iwl_nic_error
iwlwifi: make iwl_nic_error static
iwlwifi: move ucode error log reporting to op_mode
iwlwifi: move ucode_type from shared to op_mode
iwlwifi: move iwl_init_geos to iwl-agn.c
iwlwifi: Move iwl_send_rxon_timing and make it static
iwlwifi: move iwl_set_rxon_hwcrypto and mark it static
iwlwifi: move iwl_check_rxon_cmd and mark it static
iwlwifi: move iwl_full_rxon_required and mark it static
iwlwifi: move iwl_get_single_channel_number and mark it static
iwlwifi: remove firmware info from iwl_shared
Oliver Hartkopp (1):
iwlwifi: fix unused variable warning
Paul Gortmaker (1):
bcma: fix build error on MIPS; implicit pcibios_enable_device
Qasim Javed (1):
ath5k: Remove extraneous statements from ath5k_hw_proc_4word_tx_status and ath5k_hw_proc_2word_status.
Rajkumar Manoharan (5):
ath9k_hw: improve ANI processing and rx desensitizing parameters
ath9k: recover ar9380 chips from rare stuck state
mac80211: do not send pspoll when powersave is disabled
mac80211: flush to get the tx status of nullfunc frame immediately
ath9k_hw: Update rx gain initval to improve rx sensitivity
Ronald Wahl (1):
mac80211: when receiving DTIM disable power-save mode only if it was enabled
Samuel Ortiz (1):
NFC: Fix the LLCP Tx fragmentation loop
Santosh Nayak (1):
Bluetooth: Fix Endian Bug.
Stanislav Yakovlev (2):
net/wireless: ipw2x00: remove unused libipw_measurement_report struct
net/wireless: ipw2x00: remove ssid_context struct
Stanislaw Gruszka (3):
mac80211: sanity check for null SSID
rt2x00: configure different txdesc parameters for non HT channel
rt2x00: do not generate seqno in h/w if QOS is disabled
Sujith Manoharan (1):
Revert "ath9k: fix going to full-sleep on PS idle"
Thomas Pedersen (1):
cfg80211: add channel switch notify event
Wey-Yi Guy (1):
iwlwifi: remove un-needed parameter
Zefir Kurtisi (3):
ath9k: add DFS pattern detector
ath9k: add DFS pattern detector instance to ath_softc
ath9k: update to DFS pattern detector interface
Documentation/DocBook/80211.tmpl | 2 +-
.../networking/mac80211-auth-assoc-deauth.txt | 10 +-
MAINTAINERS | 8 +-
drivers/bcma/Kconfig | 2 +-
drivers/bcma/driver_pci_host.c | 1 +
drivers/bluetooth/ath3k.c | 4 +
drivers/bluetooth/btusb.c | 5 +-
drivers/bluetooth/hci_ldisc.c | 2 +-
drivers/net/wireless/ath/ath5k/ani.c | 44 +-
drivers/net/wireless/ath/ath5k/ath5k.h | 29 +-
drivers/net/wireless/ath/ath5k/attach.c | 2 +
drivers/net/wireless/ath/ath5k/base.c | 22 +
drivers/net/wireless/ath/ath5k/debug.c | 17 +-
drivers/net/wireless/ath/ath5k/desc.c | 6 +-
drivers/net/wireless/ath/ath5k/dma.c | 2 +
drivers/net/wireless/ath/ath5k/eeprom.c | 2 +
drivers/net/wireless/ath/ath5k/initvals.c | 5 +-
drivers/net/wireless/ath/ath5k/led.c | 2 +
drivers/net/wireless/ath/ath5k/mac80211-ops.c | 2 +
drivers/net/wireless/ath/ath5k/pci.c | 4 +-
drivers/net/wireless/ath/ath5k/phy.c | 2 +
drivers/net/wireless/ath/ath5k/qcu.c | 2 +
drivers/net/wireless/ath/ath5k/reset.c | 2 +
drivers/net/wireless/ath/ath5k/sysfs.c | 2 +
drivers/net/wireless/ath/ath6kl/cfg80211.c | 2 +
drivers/net/wireless/ath/ath6kl/init.c | 2 +
drivers/net/wireless/ath/ath6kl/main.c | 2 +
drivers/net/wireless/ath/ath6kl/txrx.c | 2 +
drivers/net/wireless/ath/ath9k/Makefile | 5 +-
drivers/net/wireless/ath/ath9k/ani.c | 49 +-
drivers/net/wireless/ath/ath9k/ani.h | 6 +-
drivers/net/wireless/ath/ath9k/ar5008_phy.c | 38 -
.../net/wireless/ath/ath9k/ar9003_2p2_initvals.h | 10 +-
drivers/net/wireless/ath/ath9k/ar9003_phy.c | 49 --
drivers/net/wireless/ath/ath9k/ath9k.h | 5 +
drivers/net/wireless/ath/ath9k/debug.c | 24 +-
drivers/net/wireless/ath/ath9k/debug.h | 21 +
drivers/net/wireless/ath/ath9k/dfs.c | 80 +--
drivers/net/wireless/ath/ath9k/dfs.h | 8 +-
.../net/wireless/ath/ath9k/dfs_pattern_detector.c | 300 ++++++++
.../net/wireless/ath/ath9k/dfs_pattern_detector.h | 104 +++
drivers/net/wireless/ath/ath9k/dfs_pri_detector.c | 390 ++++++++++
drivers/net/wireless/ath/ath9k/dfs_pri_detector.h | 52 ++
drivers/net/wireless/ath/ath9k/htc_drv_init.c | 11 +-
drivers/net/wireless/ath/ath9k/htc_hst.c | 4 +-
drivers/net/wireless/ath/ath9k/hw.c | 73 ++
drivers/net/wireless/ath/ath9k/init.c | 19 +-
drivers/net/wireless/ath/ath9k/main.c | 57 ++-
drivers/net/wireless/ath/ath9k/pci.c | 9 +-
drivers/net/wireless/ath/ath9k/rc.c | 7 +-
drivers/net/wireless/ath/ath9k/recv.c | 39 +-
drivers/net/wireless/ath/carl9170/cmd.h | 6 +-
drivers/net/wireless/ath/carl9170/fw.c | 2 +
drivers/net/wireless/ath/main.c | 4 +-
drivers/net/wireless/ath/regd.c | 4 +-
drivers/net/wireless/b43/main.c | 16 +
drivers/net/wireless/b43/xmit.c | 2 +-
drivers/net/wireless/b43legacy/xmit.c | 14 +-
drivers/net/wireless/brcm80211/brcmsmac/d11.h | 2 +-
drivers/net/wireless/ipw2x00/ipw2100.h | 9 -
drivers/net/wireless/ipw2x00/libipw.h | 55 --
drivers/net/wireless/iwlegacy/4965-mac.c | 4 +-
drivers/net/wireless/iwlegacy/4965-rs.c | 2 +-
drivers/net/wireless/iwlwifi/Kconfig | 8 +
drivers/net/wireless/iwlwifi/Makefile | 2 +
drivers/net/wireless/iwlwifi/iwl-1000.c | 1 -
drivers/net/wireless/iwlwifi/iwl-2000.c | 19 +-
drivers/net/wireless/iwlwifi/iwl-5000.c | 1 -
drivers/net/wireless/iwlwifi/iwl-6000.c | 3 -
drivers/net/wireless/iwlwifi/iwl-agn-hw.h | 3 -
drivers/net/wireless/iwlwifi/iwl-agn-lib.c | 24 +-
drivers/net/wireless/iwlwifi/iwl-agn-rs.c | 4 +-
drivers/net/wireless/iwlwifi/iwl-agn-rx.c | 7 +-
drivers/net/wireless/iwlwifi/iwl-agn-rxon.c | 261 +++++++-
drivers/net/wireless/iwlwifi/iwl-agn-tx.c | 144 +++-
drivers/net/wireless/iwlwifi/iwl-agn.c | 786 +++++++++++++++++++-
drivers/net/wireless/iwlwifi/iwl-agn.h | 23 +-
drivers/net/wireless/iwlwifi/iwl-core.c | 484 +------------
drivers/net/wireless/iwlwifi/iwl-core.h | 15 -
drivers/net/wireless/iwlwifi/iwl-debugfs.c | 58 ++-
drivers/net/wireless/iwlwifi/iwl-dev.h | 24 +-
drivers/net/wireless/iwlwifi/iwl-mac80211.c | 14 +-
drivers/net/wireless/iwlwifi/iwl-notif-wait.c | 44 +-
drivers/net/wireless/iwlwifi/iwl-notif-wait.h | 21 +-
drivers/net/wireless/iwlwifi/iwl-op-mode.h | 17 +-
drivers/net/wireless/iwlwifi/iwl-pci.c | 3 +
drivers/net/wireless/iwlwifi/iwl-phy-db.c | 273 +++++++
drivers/net/wireless/iwlwifi/iwl-phy-db.h | 123 +++
drivers/net/wireless/iwlwifi/iwl-power.c | 4 +-
drivers/net/wireless/iwlwifi/iwl-scan.c | 53 ++-
drivers/net/wireless/iwlwifi/iwl-shared.h | 32 +-
drivers/net/wireless/iwlwifi/iwl-testmode.c | 9 +-
drivers/net/wireless/iwlwifi/iwl-trans-pcie-int.h | 148 +----
drivers/net/wireless/iwlwifi/iwl-trans-pcie-rx.c | 514 ++-----------
drivers/net/wireless/iwlwifi/iwl-trans-pcie-tx.c | 218 +-----
drivers/net/wireless/iwlwifi/iwl-trans-pcie.c | 270 ++------
drivers/net/wireless/iwlwifi/iwl-trans.h | 95 ++--
drivers/net/wireless/iwlwifi/iwl-ucode.c | 133 ++--
drivers/net/wireless/mac80211_hwsim.c | 32 +-
drivers/net/wireless/mwifiex/11n.c | 17 +-
drivers/net/wireless/mwifiex/cfg80211.c | 81 ++-
drivers/net/wireless/mwifiex/fw.h | 23 +-
drivers/net/wireless/mwifiex/ioctl.h | 49 +-
drivers/net/wireless/mwifiex/join.c | 14 +-
drivers/net/wireless/mwifiex/main.h | 14 +-
drivers/net/wireless/mwifiex/scan.c | 17 +-
drivers/net/wireless/mwifiex/sdio.h | 8 +-
drivers/net/wireless/mwifiex/sta_cmd.c | 98 +++
drivers/net/wireless/mwifiex/sta_cmdresp.c | 80 ++-
drivers/net/wireless/mwifiex/sta_event.c | 15 +-
drivers/net/wireless/mwifiex/sta_ioctl.c | 33 -
drivers/net/wireless/p54/main.c | 11 +-
drivers/net/wireless/p54/p54.h | 1 +
drivers/net/wireless/p54/p54usb.c | 195 ++++--
drivers/net/wireless/p54/p54usb.h | 3 +
drivers/net/wireless/p54/txrx.c | 3 +-
drivers/net/wireless/rt2x00/rt2x00.h | 2 +
drivers/net/wireless/rt2x00/rt2x00config.c | 5 +
drivers/net/wireless/rt2x00/rt2x00dev.c | 6 +-
drivers/net/wireless/rt2x00/rt2x00leds.c | 16 +-
drivers/net/wireless/rt2x00/rt2x00mac.c | 10 +
drivers/net/wireless/rt2x00/rt2x00queue.c | 41 +-
drivers/net/wireless/rtlwifi/base.c | 5 +-
drivers/net/wireless/rtlwifi/cam.c | 5 +-
drivers/net/wireless/rtlwifi/pci.c | 7 +-
drivers/net/wireless/rtlwifi/rc.c | 3 +-
drivers/net/wireless/rtlwifi/rtl8192ce/trx.h | 7 +-
drivers/net/wireless/rtlwifi/rtl8192de/sw.c | 6 -
drivers/net/wireless/rtlwifi/rtl8192de/trx.h | 8 +-
drivers/net/wireless/rtlwifi/rtl8192se/def.h | 7 +-
drivers/net/wireless/rtlwifi/rtl8192se/fw.h | 6 +-
drivers/net/wireless/rtlwifi/usb.c | 34 +-
drivers/net/wireless/rtlwifi/wifi.h | 30 +-
drivers/net/wireless/wl12xx/main.c | 5 +-
include/linux/ieee80211.h | 32 +-
include/linux/nl80211.h | 41 +-
include/net/bluetooth/hci.h | 3 +-
include/net/bluetooth/hci_core.h | 12 +-
include/net/bluetooth/mgmt.h | 2 +-
include/net/cfg80211.h | 33 +-
include/net/mac80211.h | 144 +++-
net/bluetooth/hci_core.c | 7 +
net/bluetooth/l2cap_core.c | 3 +
net/bluetooth/l2cap_sock.c | 5 +-
net/bluetooth/mgmt.c | 13 +-
net/mac80211/Kconfig | 11 +
net/mac80211/Makefile | 3 +-
net/mac80211/agg-rx.c | 18 +-
net/mac80211/agg-tx.c | 57 +-
net/mac80211/cfg.c | 60 ++-
net/mac80211/chan.c | 26 -
net/mac80211/debugfs_netdev.c | 83 +--
net/mac80211/debugfs_sta.c | 5 +-
net/mac80211/driver-ops.h | 41 +-
net/mac80211/driver-trace.h | 55 ++-
net/mac80211/ht.c | 9 -
net/mac80211/ibss.c | 22 +-
net/mac80211/ieee80211_i.h | 66 ++-
net/mac80211/iface.c | 150 ++++-
net/mac80211/main.c | 12 +-
net/mac80211/mesh.c | 53 +-
net/mac80211/mesh.h | 25 +-
net/mac80211/mesh_hwmp.c | 28 +-
net/mac80211/mesh_plink.c | 17 +-
net/mac80211/mesh_sync.c | 296 ++++++++
net/mac80211/mlme.c | 306 ++++----
net/mac80211/pm.c | 4 +
net/mac80211/rate.h | 7 +-
net/mac80211/rc80211_minstrel_ht.c | 15 +-
net/mac80211/rx.c | 10 +-
net/mac80211/sta_info.c | 16 +-
net/mac80211/sta_info.h | 11 +
net/mac80211/tx.c | 79 ++-
net/mac80211/util.c | 193 ++++--
net/mac80211/wme.c | 46 +-
net/mac80211/wme.h | 3 -
net/nfc/llcp/commands.c | 4 +-
net/wireless/core.c | 5 +-
net/wireless/mesh.c | 3 +
net/wireless/mlme.c | 59 ++-
net/wireless/nl80211.c | 92 ++-
net/wireless/nl80211.h | 4 +
net/wireless/reg.c | 10 +
net/wireless/scan.c | 2 +-
net/wireless/wext-core.c | 6 +-
185 files changed, 5524 insertions(+), 3085 deletions(-)
create mode 100644 drivers/net/wireless/ath/ath9k/dfs_pattern_detector.c
create mode 100644 drivers/net/wireless/ath/ath9k/dfs_pattern_detector.h
create mode 100644 drivers/net/wireless/ath/ath9k/dfs_pri_detector.c
create mode 100644 drivers/net/wireless/ath/ath9k/dfs_pri_detector.h
create mode 100644 drivers/net/wireless/iwlwifi/iwl-phy-db.c
create mode 100644 drivers/net/wireless/iwlwifi/iwl-phy-db.h
create mode 100644 net/mac80211/mesh_sync.c
--
John W. Linville Someday the world will need a hero, and you
linville@tuxdriver.com might be all we have. Be ready.
[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]
^ permalink raw reply
* [PATCH] bonding: start slaves with link down for ARP monitor
From: Michal Kubecek @ 2012-04-12 18:38 UTC (permalink / raw)
To: netdev; +Cc: Jay Vosburgh, Andy Gospodarek
Initialize slave device link state as down if ARP monitor
is active. Also shift initial value of its last_arp_tx so that
it doesn't immediately cause fake detection of "up" state.
When ARP monitoring is used, initializing the slave device with
up link state can cause ARP monitor to detect link failure
before the device is really up (with igb driver, this can take
more than two seconds).
Signed-off-by: Michal Kubecek <mkubecek@suse.cz>
---
When MII monitoring is active for a bond, initial link state of slaves
is set according to real link state of the corresponding device,
otherwise it is always set to UP. This makes sense if no monitoring is
active but with ARP monitoring, it can lead to situations like this:
[ 1280.431383] bonding: bond0: setting mode to active-backup (1).
[ 1280.443305] bonding: bond0: adding ARP target 10.11.0.8.
[ 1280.454079] bonding: bond0: setting arp_validate to all (3).
[ 1280.465561] bonding: bond0: Setting ARP monitoring interval to 500.
[ 1280.480366] ADDRCONF(NETDEV_UP): bond0: link is not ready
[ 1280.491471] bonding: bond0: Adding slave eth1.
[ 1280.584158] bonding: bond0: making interface eth1 the new active one.
[ 1280.597274] bonding: bond0: first active interface up!
[ 1280.607675] bonding: bond0: enslaving eth1 as an active interface with an up link.
[ 1280.623567] ADDRCONF(NETDEV_CHANGE): bond0: link becomes ready
[ 1280.635511] bonding: bond0: Adding slave eth2.
[ 1280.726423] bonding: bond0: enslaving eth2 as a backup interface with an up link.
[ 1281.976030] bonding: bond0: link status definitely down for interface eth1, disabling it
[ 1281.992350] bonding: bond0: making interface eth2 the new active one.
[ 1282.639276] igb: eth1 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: RX
[ 1283.002282] bonding: bond0: link status definitely down for interface eth2, disabling it
[ 1283.018713] bonding: bond0: now running without any active interface !
[ 1283.529415] bonding: bond0: link status definitely up for interface eth1.
[ 1283.543075] bonding: bond0: making interface eth1 the new active one.
[ 1283.556614] bonding: bond0: first active interface up!
Here eth1 is enslaved with link state UP but before the device is really
UP, ARP monitor detects it is actually down (it takes more than two
seconds and arp_interval was set to 500). This causes a spurious failure
in logs and in statistics.
I propose to initialize slaves with DOWN link state if ARP monitor is
active so that the ARP monitor can switch it to UP when appropriate.
This also requires adjusting the initial value of last_arp_rx as setting
it to current jiffies would pretend a packet arrived when slave was
initialized, leading to DOWN -> UP -> DOWN -> UP sequence.
---
drivers/net/bonding/bond_main.c | 36 ++++++++++++++++++++++--------------
1 files changed, 22 insertions(+), 14 deletions(-)
diff --git a/drivers/net/bonding/bond_main.c b/drivers/net/bonding/bond_main.c
index 62d2409..c1eda74 100644
--- a/drivers/net/bonding/bond_main.c
+++ b/drivers/net/bonding/bond_main.c
@@ -1727,6 +1727,9 @@ int bond_enslave(struct net_device *bond_dev, struct net_device *slave_dev)
read_lock(&bond->lock);
new_slave->last_arp_rx = jiffies;
+ if (bond->params.arp_interval)
+ new_slave->last_arp_rx -=
+ (msecs_to_jiffies(bond->params.arp_interval) + 1);
if (bond->params.miimon && !bond->params.use_carrier) {
link_reporting = bond_check_dev_link(bond, slave_dev, 1);
@@ -1751,21 +1754,26 @@ int bond_enslave(struct net_device *bond_dev, struct net_device *slave_dev)
}
/* check for initial state */
- if (!bond->params.miimon ||
- (bond_check_dev_link(bond, slave_dev, 0) == BMSR_LSTATUS)) {
- if (bond->params.updelay) {
- pr_debug("Initial state of slave_dev is BOND_LINK_BACK\n");
- new_slave->link = BOND_LINK_BACK;
- new_slave->delay = bond->params.updelay;
- } else {
- pr_debug("Initial state of slave_dev is BOND_LINK_UP\n");
- new_slave->link = BOND_LINK_UP;
- }
- new_slave->jiffies = jiffies;
- } else {
- pr_debug("Initial state of slave_dev is BOND_LINK_DOWN\n");
- new_slave->link = BOND_LINK_DOWN;
+ if (bond->params.miimon) {
+ if (bond_check_dev_link(bond, slave_dev, 0) == BMSR_LSTATUS) {
+ if (bond->params.updelay) {
+ new_slave->link = BOND_LINK_BACK;
+ new_slave->delay = bond->params.updelay;
+ } else
+ new_slave->link = BOND_LINK_UP;
+ } else
+ new_slave->link = BOND_LINK_DOWN;
}
+ else if (bond->params.arp_interval)
+ new_slave->link = BOND_LINK_DOWN;
+ else
+ new_slave->link = BOND_LINK_UP;
+
+ if (new_slave->link != BOND_LINK_DOWN)
+ new_slave->jiffies = jiffies;
+ pr_debug("Initial state of slave_dev is BOND_LINK_%s\n",
+ new_slave->link == BOND_LINK_DOWN ? "DOWN" :
+ (new_slave->link == BOND_LINK_UP ? "UP" : "BACK"));
bond_update_speed_duplex(new_slave);
--
1.7.7
^ permalink raw reply related
* Re: [PATCH net-next] ixp4xx_eth: Fix up the get_ts_info ethtool method.
From: David Miller @ 2012-04-12 20:01 UTC (permalink / raw)
To: richardcochran; +Cc: netdev
In-Reply-To: <1333814170-30940-1-git-send-email-richardcochran@gmail.com>
From: Richard Cochran <richardcochran@gmail.com>
Date: Sat, 7 Apr 2012 17:56:10 +0200
> Commit e77bd1ec121ee4163a6b42a44e87b2e382c39e04 added support for a
> new ethtool function, but that cannot compile due to a misnamed global
> variable. Not that it really matters (since the IXP4xx does compile
> either, as of about Linux 3.1) but just in case, this patch fixes the
> misnamed variable in the PHC driver.
>
> Signed-off-by: Richard Cochran <richardcochran@gmail.com>
Applied, thanks Richard.
^ permalink raw reply
* Re: [PATCH] net/ipv6/exthdrs.c et al: Optional strict PadN option checking
From: David Miller @ 2012-04-12 20:00 UTC (permalink / raw)
To: eldad; +Cc: kuznet, jmorris, yoshfuji, kaber, netdev, linux-kernel
In-Reply-To: <1333811774-3219-1-git-send-email-eldad@fogrefinery.com>
From: Eldad Zack <eldad@fogrefinery.com>
Date: Sat, 7 Apr 2012 17:16:14 +0200
> Added strict checking of PadN. PadN can be used to increase header
> size and thus push the protocol header into the 2nd fragment.
>
> PadN is used to align the options within the Hop-by-Hop or
> Destination Options header to 64-bit boundaries. The maximum valid
> size is thus 7 bytes.
> RFC 4942 recommends to actively check the "payload" itself and
> ensure that it contains only zeroes.
>
> See also RFC 4942 section 2.1.9.5.
>
> Signed-off-by: Eldad Zack <eldad@fogrefinery.com>
I think you should do away with the sysctl and always perform these
checks.
At the very leat, the optlen > 7 check should always be performed.
And frankly the pad byte being zero check makes sense to do all the
time as far as I can tell too.
^ permalink raw reply
* Re: [PATCH] [IPv6]: Treat ND option 31 as userland (DNSSL support)
From: David Miller @ 2012-04-12 19:57 UTC (permalink / raw)
To: raorn; +Cc: netdev
In-Reply-To: <1333727458-28438-1-git-send-email-raorn@raorn.name>
From: "Alexey I. Froloff" <raorn@raorn.name>
Date: Fri, 6 Apr 2012 19:50:58 +0400
> As specified in RFC6106, DNSSL option contains one or more domain names
> of DNS suffixes. 8-bit identifier of the DNSSL option type as assigned
> by the IANA is 31. This option should also be treated as userland.
>
> Signed-off-by: Alexey I. Froloff <raorn@raorn.name>
Applied to net-next, thanks.
^ permalink raw reply
* Re: [PATCH 4/5] mac80211: Add more ethtools stats: survey, rates, etc
From: Georgiewskiy Yuriy @ 2012-04-12 19:53 UTC (permalink / raw)
To: Ben Greear
Cc: Florian Fainelli, linux-wireless-u79uwXL29TY76Z2rM5mHXA,
netdev-u79uwXL29TY76Z2rM5mHXA
In-Reply-To: <4F870828.4020708-my8/4N5VtI7c+919tysfdA@public.gmane.org>
[-- Attachment #1: Type: TEXT/PLAIN, Size: 2181 bytes --]
On 2012-04-12 09:51 -0700, Ben Greear wrote Florian Fainelli:
BG>On 04/12/2012 09:42 AM, Florian Fainelli wrote:
BG>> Hi,
BG>>
BG>> Le 04/12/12 18:32, greearb-my8/4N5VtI7c+919tysfdA@public.gmane.org a ?crit :
BG>> > From: Ben Greear<greearb-my8/4N5VtI7c+919tysfdA@public.gmane.org>
BG>> >
BG>> > The signal and noise are forced to be positive since ethtool
BG>> > deals in unsigned 64-bit values and this number should be human
BG>> > readable. This gives easy access to some of the data formerly
BG>> > exposed in the deprecated /proc/net/wireless file.
BG>>
BG>> Uh, that's misleading, the signal and noise values are typically negative,
BG>> so one needs to think about mentally adding a minus sign if he/she wants to
BG>> understand it. Does not ethtool know about 32-bits signed integers?
BG>
BG>Ethtool stats only supports u64. I think it's easy enough for
BG>humans or programs to add the negative sign. Can signal or noise
BG>ever be > 0? If so, that could actually break something that depends
BG>on flipping the value to negative....
Don't know is this is a bug or it's reaaly can be positive, but:
iw dev mp0 station dump
Station 00:02:6f:b8:94:d3 (on mp0)
inactive time: 49 ms
rx bytes: 36318341
rx packets: 271741
tx bytes: 4180152
tx packets: 35445
tx retries: 7724
tx failed: 123
signal: 1 dBm
signal avg: -2 dBm
tx bitrate: 240.0 MBit/s MCS 13 40Mhz short GI
rx bitrate: 180.0 MBit/s MCS 12 40Mhz short GI
mesh llid: 8349
mesh plid: 49801
mesh plink: ESTAB
authorized: yes
authenticated: yes
preamble: long
WMM/WME: yes
FP: no
TDLS peer: no
C уважением With Best Regards
Георгиевский Юрий. Georgiewskiy Yuriy
+7 4872 711666 +7 4872 711666
факс +7 4872 711143 fax +7 4872 711143
Компания ООО "Ай Ти Сервис" IT Service Ltd
http://nkoort.ru http://nkoort.ru
JID: GHhost-k/kvQgNDeKovJsYlp49lxw@public.gmane.org JID: GHhost-k/kvQgNDeKovJsYlp49lxw@public.gmane.org
YG129-RIPE YG129-RIPE
^ permalink raw reply
* Re: [PATCH] wiznet: Add missing #include <linux/irq.h>
From: David Miller @ 2012-04-12 19:46 UTC (permalink / raw)
To: geert; +Cc: msink, paul.gortmaker, netdev, linux-kernel
In-Reply-To: <1334258363-17617-1-git-send-email-geert@linux-m68k.org>
From: Geert Uytterhoeven <geert@linux-m68k.org>
Date: Thu, 12 Apr 2012 21:19:23 +0200
> m68k/allmodconfig:
>
> drivers/net/ethernet/wiznet/w5100.c: In function ‘w5100_hw_probe’:
> drivers/net/ethernet/wiznet/w5100.c:680: error: ‘IRQ_TYPE_LEVEL_LOW’ undeclared (first use in this function)
> drivers/net/ethernet/wiznet/w5300.c: In function ‘w5300_hw_probe’:
> drivers/net/ethernet/wiznet/w5300.c:594: error: ‘IRQ_TYPE_LEVEL_LOW’ undeclared (first use in this function)
>
> Include <linux/irq.h>, which provides the declaration for IRQ_TYPE_LEVEL_LOW.
>
> Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Applied.
^ permalink raw reply
* Re: [PATCH] drivers/net: Remove CONFIG_WIZNET_TX_FLOW option
From: David Miller @ 2012-04-12 19:46 UTC (permalink / raw)
To: msink; +Cc: netdev, linux-kernel
In-Reply-To: <1334211288-7682-1-git-send-email-msink@permonline.ru>
From: Mike Sinkovsky <msink@permonline.ru>
Date: Thu, 12 Apr 2012 12:14:48 +0600
> This option was there for debugging race conditions,
> just remove it, and assume TX_FLOW is always enabled.
>
> Signed-off-by: Mike Sinkovsky <msink@permonline.ru>
Applied.
^ permalink raw reply
* [GIT] Networking
From: David Miller @ 2012-04-12 19:39 UTC (permalink / raw)
To: torvalds; +Cc: akpm, netdev, linux-kernel
1) Fix bluetooth userland regression reported by Keith Packard,
from Gustavo Padovan.
2) Revert ath9k PS idle change, from Sujith Manoharan.
3) Correct default TCP memory limits (again), from Eric
Dumazet.
4) Fix tcp_rcv_rtt_update() accidental use of unscaled RTT, from
Neal Cardwell.
5) We made a facility for layers like wireless to say how much
tailroom they need in the SKB for link layer stuff such as
wireless encryption etc., but TCP works hard to fill every SKB
out to the end defeating this specification.
This leads to every TCP packet getting reallocated by the wireless
code in order to have the right amount of tailroom available.
Fix TCP to only fill SKBs out to the real amount of data area it
asked for during the allocation, this way it won't eat into the
slack added for the device's tailroom needs.
Reported by Marc Merlin and fixed by Eric Dumazet.
6) Leaks, endian bugs, and new device IDs in bluetooth from Santosh
Nayak, João Paulo Rechi Vita, Cho, Yu-Chen, Andrei Emeltchenko,
AceLan Kao, and Andrei Emeltchenko.
7) OOPS on tty_close fix in bluetooth's hci_ldisc from Johan Hovold.
8) netfilter erroneously scales TCP window twice, fix from Changli Gao.
9) Memleak fix in wext-core from Julia Lawall.
10) Consistently handle invalid TCP packets in ipv4 vs. ipv6 conntrack,
from Jozsef Kadlecsik.
11) Validate IP header length properly in netfilter conntrack's
ipv4_get_l4proto().
Please pull, thanks a lot!
The following changes since commit f68e556e23d1a4176b563bcb25d8baf2c5313f91:
Make the "word-at-a-time" helper functions more commonly usable (2012-04-06 13:54:56 -0700)
are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/davem/net.git master
for you to fetch changes up to 5d949944229b0a08e218723be231731cd86b94f3:
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless into for-davem (2012-04-12 09:55:22 -0400)
----------------------------------------------------------------
AceLan Kao (1):
Bluetooth: Add support for Atheros [04ca:3005]
Andrei Emeltchenko (3):
Bluetooth: Fix memory leaks due to chan refcnt
Bluetooth: mgmt: Add missing endian conversion
Bluetooth: mgmt: Fix timeout type
Brian Gix (1):
Bluetooth: mgmt: Fix corruption of device_connected pkt
Changli Gao (1):
netfilter: nf_ct_tcp: don't scale the size of the window up twice
Chen, Chien-Chia (1):
rt2x00: Fix rfkill_polling register function.
Cho, Yu-Chen (1):
Bluetooth: Add Atheros maryann PIDVID support
David S. Miller (2):
Merge branch 'master' of git://1984.lsi.us.es/net
MAINTAINERS: Mark NATSEMI driver as orphan'd.
Don Zickus (1):
Bluetooth: btusb: typo in Broadcom SoftSailing id
Eric Dumazet (3):
tcp: restore correct limit
net: allow pskb_expand_head() to get maximum tailroom
tcp: avoid order-1 allocations on wifi and tx path
Gao feng (1):
netfilter: nf_conntrack: fix incorrect logic in nf_conntrack_init_net
Gustavo Padovan (1):
Bluetooth: Fix userspace compatibility issue with mgmt interface
Hemant Gupta (1):
Bluetooth: Use correct flags for checking HCI_SSP_ENABLED bit
Herbert Xu (1):
bridge: Do not send queries on multicast group leaves
Johan Hedberg (2):
Bluetooth: Don't increment twice in eir_has_data_type()
Bluetooth: Check for minimum data length in eir_has_data_type()
Johan Hovold (2):
Bluetooth: hci_ldisc: fix NULL-pointer dereference on tty_close
Bluetooth: hci_core: fix NULL-pointer dereference at unregister
Johannes Berg (2):
mac80211: fix association beacon wait timeout
nl80211: ensure interface is up in various APIs
John W. Linville (2):
Merge branch 'master' of git://git.kernel.org/.../bluetooth/bluetooth
Merge branch 'master' of git://git.kernel.org/.../linville/wireless into for-davem
Jozsef Kadlecsik (2):
netfilter: nf_ct_ipv4: handle invalid IPv4 and IPv6 packets consistently
netfilter: nf_ct_ipv4: packets with wrong ihl are invalid
João Paulo Rechi Vita (1):
Bluetooth: btusb: Add USB device ID "0a5c 21e8"
Julia Lawall (1):
net/wireless/wext-core.c: add missing kfree
Larry Finger (5):
rtlwifi: rtl8192de: Fix firmware initialization
mac80211: Convert WARN_ON to WARN_ON_ONCE
rtlwifi: Fix oops on rate-control failure
rtlwifi: Preallocate USB read buffers and eliminate kalloc in read routine
rtlwifi: Add missing DMA buffer unmapping for PCI drivers
Marcel Holtmann (1):
MAINTAINERS: update Bluetooth tree locations
Neal Cardwell (1):
tcp: fix tcp_rcv_rtt_update() use of an unscaled RTT sample
Pablo Neira Ayuso (1):
netfilter: ip6_tables: ip6t_ext_hdr is now static inline
Paul Gortmaker (1):
bcma: fix build error on MIPS; implicit pcibios_enable_device
Samuel Ortiz (1):
NFC: Fix the LLCP Tx fragmentation loop
Santosh Nayak (1):
Bluetooth: Fix Endian Bug.
Sujith Manoharan (1):
Revert "ath9k: fix going to full-sleep on PS idle"
MAINTAINERS | 11 ++++---
drivers/bcma/Kconfig | 2 +-
drivers/bcma/driver_pci_host.c | 1 +
drivers/bluetooth/ath3k.c | 4 +++
drivers/bluetooth/btusb.c | 5 +++-
drivers/bluetooth/hci_ldisc.c | 2 +-
drivers/net/wireless/ath/ath9k/main.c | 8 ++----
drivers/net/wireless/rt2x00/rt2x00dev.c | 6 +---
drivers/net/wireless/rtlwifi/base.c | 5 +++-
drivers/net/wireless/rtlwifi/pci.c | 7 ++++-
drivers/net/wireless/rtlwifi/rtl8192de/sw.c | 6 ----
drivers/net/wireless/rtlwifi/usb.c | 34 +++++++++++-----------
drivers/net/wireless/rtlwifi/wifi.h | 6 +++-
include/linux/netfilter_ipv6/ip6_tables.h | 12 +++++++-
include/linux/skbuff.h | 13 +++++++++
include/net/bluetooth/hci.h | 3 +-
include/net/bluetooth/hci_core.h | 12 ++++----
include/net/bluetooth/mgmt.h | 2 +-
include/net/mac80211.h | 2 +-
net/bluetooth/hci_core.c | 7 +++++
net/bluetooth/l2cap_core.c | 3 ++
net/bluetooth/l2cap_sock.c | 5 ++--
net/bluetooth/mgmt.c | 13 ++++++---
net/bridge/br_multicast.c | 81 ----------------------------------------------------
net/bridge/br_private.h | 4 ---
net/core/skbuff.c | 4 ++-
net/ipv4/netfilter/nf_conntrack_l3proto_ipv4.c | 12 ++++++--
net/ipv4/tcp.c | 11 ++++---
net/ipv4/tcp_input.c | 7 +++--
net/ipv4/tcp_output.c | 2 +-
net/ipv6/netfilter/ip6_tables.c | 14 ---------
net/mac80211/mlme.c | 3 +-
net/netfilter/nf_conntrack_core.c | 2 +-
net/netfilter/nf_conntrack_proto_tcp.c | 4 +--
net/nfc/llcp/commands.c | 4 +--
net/wireless/nl80211.c | 31 +++++++++++---------
net/wireless/wext-core.c | 6 ++--
37 files changed, 160 insertions(+), 194 deletions(-)
^ permalink raw reply
* Re: [PATCH 4/5] mac80211: Add more ethtools stats: survey, rates, etc
From: Ben Hutchings @ 2012-04-12 19:30 UTC (permalink / raw)
To: Ben Greear
Cc: Florian Fainelli, linux-wireless-u79uwXL29TY76Z2rM5mHXA,
netdev-u79uwXL29TY76Z2rM5mHXA
In-Reply-To: <4F870828.4020708-my8/4N5VtI7c+919tysfdA@public.gmane.org>
On Thu, 2012-04-12 at 09:51 -0700, Ben Greear wrote:
> On 04/12/2012 09:42 AM, Florian Fainelli wrote:
> > Hi,
> >
> > Le 04/12/12 18:32, greearb-my8/4N5VtI7c+919tysfdA@public.gmane.org a écrit :
> >> From: Ben Greear<greearb-my8/4N5VtI7c+919tysfdA@public.gmane.org>
> >>
> >> The signal and noise are forced to be positive since ethtool
> >> deals in unsigned 64-bit values and this number should be human
> >> readable. This gives easy access to some of the data formerly
> >> exposed in the deprecated /proc/net/wireless file.
> >
> > Uh, that's misleading, the signal and noise values are typically negative, so one needs to think about mentally adding a minus sign if he/she wants to
> > understand it. Does not ethtool know about 32-bits signed integers?
>
> Ethtool stats only supports u64. I think it's easy enough for
> humans or programs to add the negative sign. Can signal or noise
> ever be > 0? If so, that could actually break something that depends
> on flipping the value to negative....
So far as I can see, the ethtool stats were expected to be counters,
which obviously cannot become negative (or fractional). Maybe it's time
to define another command and string-set to cover other types of status
information. The ethtool utility could ask for those typed statistics
as well, so 'ethtool -S' would get all of them.
Ben.
--
Ben Hutchings, Staff Engineer, Solarflare
Not speaking for my employer; that's the marketing department's job.
They asked us to note that Solarflare product names are trademarked.
--
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
* [PATCH] net/core: simple_strtoul cleanup
From: Shuah Khan @ 2012-04-12 19:28 UTC (permalink / raw)
To: davem; +Cc: shuahkhan, netdev, LKML
Changed net/core/net-sysfs.c: netdev_store() to use kstrtoul()
instead of obsolete simple_strtoul().
>From 84371b0ed8b277ec8005fd0efbc73165a8bd72b9 Mon Sep 17 00:00:00 2001
From: Shuah Khan <shuahkhan@gmail.com>
Date: Thu, 12 Apr 2012 10:36:10 -0600
Subject: [PATCH] net/core: simple_strtoul cleanup
Signed-off-by: Shuah Khan <shuahkhan@gmail.com>
---
net/core/net-sysfs.c | 5 ++---
1 files changed, 2 insertions(+), 3 deletions(-)
diff --git a/net/core/net-sysfs.c b/net/core/net-sysfs.c
index 4955862..97d0f24 100644
--- a/net/core/net-sysfs.c
+++ b/net/core/net-sysfs.c
@@ -74,15 +74,14 @@ static ssize_t netdev_store(struct device *dev, struct device_attribute *attr,
int (*set)(struct net_device *, unsigned long))
{
struct net_device *net = to_net_dev(dev);
- char *endp;
unsigned long new;
int ret = -EINVAL;
if (!capable(CAP_NET_ADMIN))
return -EPERM;
- new = simple_strtoul(buf, &endp, 0);
- if (endp == buf)
+ ret = kstrtoul(buf, 0, &new);
+ if (ret)
goto err;
if (!rtnl_trylock())
--
1.7.5.4
^ permalink raw reply related
* Re: [PATCH] Fix missing mutex_lock/unlock
From: Flavio Leitner @ 2012-04-12 19:23 UTC (permalink / raw)
To: mjr; +Cc: davem, sboyd, ben, netdev
In-Reply-To: <1334244396-6978-1-git-send-email-mjr@cs.wisc.edu>
On Thu, 12 Apr 2012 10:26:36 -0500 mjr@cs.wisc.edu wrote:
> From: Matt Renzelmann <mjr@cs.wisc.edu>
>
> All calls to ks8851_rdreg* and ks8851_wrreg* should be protected
> with the driver's lock mutex. A spurious interrupt may otherwise cause a
> crash.
>
> Signed-off-by: Matt Renzelmann <mjr@cs.wisc.edu>
> ---
> Hello,
>
> I'm new to the kernel development process so I hope I've not screwed
> this up with this extra text. We found a potential issue using a new
> driver testing tool called SymDrive. It looks legitimate to me, so
> I'm reporting it. We hope to make this tool available in the future.
> Please let me know if I should modify the patch or re-send without
> this commentary. Thanks in advance for your patience.
>
It is recommended to put the driver name in the subject,
for instance:
[PATCH] ks8851: Fix missing mutex_lock/unlock
See the driver log for more examples.
> drivers/net/ethernet/micrel/ks8851.c | 4 ++++
> 1 files changed, 4 insertions(+), 0 deletions(-)
>
> diff --git a/drivers/net/ethernet/micrel/ks8851.c b/drivers/net/ethernet/micrel/ks8851.c
> index c722aa6..fa2001a 100644
> --- a/drivers/net/ethernet/micrel/ks8851.c
> +++ b/drivers/net/ethernet/micrel/ks8851.c
> @@ -1515,11 +1515,15 @@ static int __devinit ks8851_probe(struct spi_device *spi)
> goto err_netdev;
> }
>
> + mutex_lock(&ks->lock);
> +
> netdev_info(ndev, "revision %d, MAC %pM, IRQ %d, %s EEPROM\n",
> CIDER_REV_GET(ks8851_rdreg16(ks, KS_CIDER)),
> ndev->dev_addr, ndev->irq,
> ks->rc_ccr & CCR_EEPROM ? "has" : "no");
>
> + mutex_unlock(&ks->lock);
> +
> return 0;
It's weird to look a mutex being hold to call netdev_info().
Perhaps change it to look like below as the netdev_info()
does a lot more things and holding the lock during that
seems to be a waste.
diff --git a/drivers/net/ethernet/micrel/ks8851.c b/drivers/net/ethernet/micrel/ks8851.c
index c722aa6..20237dc 100644
--- a/drivers/net/ethernet/micrel/ks8851.c
+++ b/drivers/net/ethernet/micrel/ks8851.c
@@ -1417,6 +1417,7 @@ static int __devinit ks8851_probe(struct spi_device *spi)
{
struct net_device *ndev;
struct ks8851_net *ks;
+ int result;
int ret;
ndev = alloc_etherdev(sizeof(struct ks8851_net));
@@ -1515,9 +1516,12 @@ static int __devinit ks8851_probe(struct spi_device *spi)
goto err_netdev;
}
+ mutex_lock(&ks->lock);
+ result = CIDER_REV_GET(ks8851_rdreg16(ks, KS_CIDER));
+ mutex_unlock(&ks->lock);
+
netdev_info(ndev, "revision %d, MAC %pM, IRQ %d, %s EEPROM\n",
- CIDER_REV_GET(ks8851_rdreg16(ks, KS_CIDER)),
- ndev->dev_addr, ndev->irq,
+ result, ndev->dev_addr, ndev->irq,
ks->rc_ccr & CCR_EEPROM ? "has" : "no");
return 0;
fbl
^ permalink raw reply related
* [PATCH] wiznet: Add missing #include <linux/irq.h>
From: Geert Uytterhoeven @ 2012-04-12 19:19 UTC (permalink / raw)
To: Mike Sinkovsky, David S. Miller
Cc: Paul Gortmaker, netdev, linux-kernel, Geert Uytterhoeven
m68k/allmodconfig:
drivers/net/ethernet/wiznet/w5100.c: In function ‘w5100_hw_probe’:
drivers/net/ethernet/wiznet/w5100.c:680: error: ‘IRQ_TYPE_LEVEL_LOW’ undeclared (first use in this function)
drivers/net/ethernet/wiznet/w5300.c: In function ‘w5300_hw_probe’:
drivers/net/ethernet/wiznet/w5300.c:594: error: ‘IRQ_TYPE_LEVEL_LOW’ undeclared (first use in this function)
Include <linux/irq.h>, which provides the declaration for IRQ_TYPE_LEVEL_LOW.
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
--
Or should these drivers use IRQF_TRIGGER_LOW (from <linux/interrupt.h>)
instead?
http://kisskb.ellerman.id.au/kisskb/buildresult/6095757/
---
drivers/net/ethernet/wiznet/w5100.c | 1 +
drivers/net/ethernet/wiznet/w5300.c | 1 +
2 files changed, 2 insertions(+), 0 deletions(-)
diff --git a/drivers/net/ethernet/wiznet/w5100.c b/drivers/net/ethernet/wiznet/w5100.c
index c28e1d5..ecc6820 100644
--- a/drivers/net/ethernet/wiznet/w5100.c
+++ b/drivers/net/ethernet/wiznet/w5100.c
@@ -24,6 +24,7 @@
#include <linux/io.h>
#include <linux/ioport.h>
#include <linux/interrupt.h>
+#include <linux/irq.h>
#include <linux/gpio.h>
#define DRV_NAME "w5100"
diff --git a/drivers/net/ethernet/wiznet/w5300.c b/drivers/net/ethernet/wiznet/w5300.c
index 88afde9..0a20797 100644
--- a/drivers/net/ethernet/wiznet/w5300.c
+++ b/drivers/net/ethernet/wiznet/w5300.c
@@ -25,6 +25,7 @@
#include <linux/io.h>
#include <linux/ioport.h>
#include <linux/interrupt.h>
+#include <linux/irq.h>
#include <linux/gpio.h>
#define DRV_NAME "w5300"
--
1.7.0.4
^ 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