* [PATCH wireless-next 15/20] prism54: Use pr_<level>
From: Joe Perches @ 2012-06-15 5:53 UTC (permalink / raw)
To: Luis R. Rodriguez; +Cc: John W. Linville, linux-wireless, netdev, linux-kernel
In-Reply-To: <cover.1339739415.git.joe@perches.com>
Use a more current logging style.
Convert printks to pr_<level>.
Convert printk(KERN_DEBUG to pr_debug(.
Coalesce formats, align arguments.
Signed-off-by: Joe Perches <joe@perches.com>
---
drivers/net/wireless/prism54/isl_ioctl.c | 69 +++++++++++------------
drivers/net/wireless/prism54/islpci_dev.c | 57 +++++++++----------
drivers/net/wireless/prism54/islpci_eth.c | 25 +++-----
drivers/net/wireless/prism54/islpci_hotplug.c | 34 +++++------
drivers/net/wireless/prism54/islpci_mgt.c | 75 +++++++++---------------
drivers/net/wireless/prism54/islpci_mgt.h | 9 ++-
drivers/net/wireless/prism54/oid_mgt.c | 23 ++++----
7 files changed, 130 insertions(+), 162 deletions(-)
diff --git a/drivers/net/wireless/prism54/isl_ioctl.c b/drivers/net/wireless/prism54/isl_ioctl.c
index 4e44b1a..0e6cfc8 100644
--- a/drivers/net/wireless/prism54/isl_ioctl.c
+++ b/drivers/net/wireless/prism54/isl_ioctl.c
@@ -19,6 +19,8 @@
*
*/
+#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
+
#include <linux/capability.h>
#include <linux/module.h>
#include <linux/kernel.h>
@@ -71,9 +73,8 @@ prism54_mib_mode_helper(islpci_private *priv, u32 iw_mode)
/* For now, just catch early the Repeater and Secondary modes here */
if (iw_mode == IW_MODE_REPEAT || iw_mode == IW_MODE_SECOND) {
- printk(KERN_DEBUG
- "%s(): Sorry, Repeater mode and Secondary mode "
- "are not yet supported by this driver.\n", __func__);
+ pr_debug("%s(): Sorry, Repeater mode and Secondary mode are not yet supported by this driver\n",
+ __func__);
return -EINVAL;
}
@@ -331,9 +332,8 @@ prism54_set_mode(struct net_device *ndev, struct iw_request_info *info,
/* Let's see if the user passed a valid Linux Wireless mode */
if (*uwrq > IW_MODE_MONITOR || *uwrq < IW_MODE_AUTO) {
- printk(KERN_DEBUG
- "%s: %s() You passed a non-valid init_mode.\n",
- priv->ndev->name, __func__);
+ pr_debug("%s: %s() You passed a non-valid init_mode\n",
+ priv->ndev->name, __func__);
return -EINVAL;
}
@@ -1232,17 +1232,15 @@ prism54_set_txpower(struct net_device *ndev, struct iw_request_info *info,
u *= 4;
if (vwrq->disabled) {
/* don't know how to disable radio */
- printk(KERN_DEBUG
- "%s: %s() disabling radio is not yet supported.\n",
- priv->ndev->name, __func__);
+ pr_debug("%s: %s() disabling radio is not yet supported\n",
+ priv->ndev->name, __func__);
return -ENOTSUPP;
} else if (vwrq->fixed)
/* currently only fixed value is supported */
return mgt_set_request(priv, OID_INL_OUTPUTPOWER, 0, &u);
else {
- printk(KERN_DEBUG
- "%s: %s() auto power will be implemented later.\n",
- priv->ndev->name, __func__);
+ pr_debug("%s: %s() auto power will be implemented later\n",
+ priv->ndev->name, __func__);
return -ENOTSUPP;
}
}
@@ -1287,8 +1285,7 @@ static int prism54_set_genie(struct net_device *ndev,
ret = mgt_set_varlen(priv, DOT11_OID_ATTACHMENT, attach,
priv->wpa_ie_len);
if (ret == 0)
- printk(KERN_DEBUG "%s: WPA IE Attachment was set\n",
- ndev->name);
+ pr_debug("%s: WPA IE Attachment was set\n", ndev->name);
}
kfree(attach);
@@ -2151,8 +2148,7 @@ prism54_wpa_bss_ie_add(islpci_private *priv, u8 *bssid,
bss->wpa_ie_len = wpa_ie_len;
bss->last_update = jiffies;
} else {
- printk(KERN_DEBUG "Failed to add BSS WPA entry for "
- "%pM\n", bssid);
+ pr_debug("Failed to add BSS WPA entry for %pM\n", bssid);
}
/* expire old entries from WPA list */
@@ -2226,8 +2222,8 @@ prism54_process_bss_data(islpci_private *priv, u32 oid, u8 *addr,
end = payload + len;
while (pos < end) {
if (pos + 2 + pos[1] > end) {
- printk(KERN_DEBUG "Parsing Beacon/ProbeResp failed "
- "for %pM\n", addr);
+ pr_debug("Parsing Beacon/ProbeResp failed for %pM\n",
+ addr);
return;
}
if (pos[0] == WLAN_EID_GENERIC && pos[1] >= 4 &&
@@ -2354,8 +2350,7 @@ prism54_process_trap_helper(islpci_private *priv, enum oid_num_t oid,
break;
memcpy(&confirm->address, mlmeex->address, ETH_ALEN);
- printk(KERN_DEBUG "Authenticate from: address:\t%pM\n",
- mlmeex->address);
+ pr_debug("Authenticate from: address:\t%pM\n", mlmeex->address);
confirm->id = -1; /* or mlmeex->id ? */
confirm->state = 0; /* not used */
confirm->code = 0;
@@ -2400,8 +2395,8 @@ prism54_process_trap_helper(islpci_private *priv, enum oid_num_t oid,
wpa_ie_len = prism54_wpa_bss_ie_get(priv, mlmeex->address, wpa_ie);
if (!wpa_ie_len) {
- printk(KERN_DEBUG "No WPA IE found from address:\t%pM\n",
- mlmeex->address);
+ pr_debug("No WPA IE found from address:\t%pM\n",
+ mlmeex->address);
kfree(confirm);
break;
}
@@ -2437,8 +2432,8 @@ prism54_process_trap_helper(islpci_private *priv, enum oid_num_t oid,
wpa_ie_len = prism54_wpa_bss_ie_get(priv, mlmeex->address, wpa_ie);
if (!wpa_ie_len) {
- printk(KERN_DEBUG "No WPA IE found from address:\t%pM\n",
- mlmeex->address);
+ pr_debug("No WPA IE found from address:\t%pM\n",
+ mlmeex->address);
kfree(confirm);
break;
}
@@ -2521,11 +2516,11 @@ prism54_set_wpa(struct net_device *ndev, struct iw_request_info *info,
filter = 0; /* Do not filter un-encrypted data */
dot1x = 0;
mlme = DOT11_MLME_AUTO;
- printk("%s: Disabling WPA\n", ndev->name);
+ pr_info("%s: Disabling WPA\n", ndev->name);
break;
case 2:
case 1: /* WPA */
- printk("%s: Enabling WPA\n", ndev->name);
+ pr_info("%s: Enabling WPA\n", ndev->name);
break;
}
up_write(&priv->mib_sem);
@@ -2577,7 +2572,7 @@ prism54_debug_oid(struct net_device *ndev, struct iw_request_info *info,
islpci_private *priv = netdev_priv(ndev);
priv->priv_oid = *uwrq;
- printk("%s: oid 0x%08X\n", ndev->name, *uwrq);
+ pr_debug("%s: oid 0x%08X\n", ndev->name, *uwrq);
return 0;
}
@@ -2590,7 +2585,7 @@ prism54_debug_get_oid(struct net_device *ndev, struct iw_request_info *info,
struct islpci_mgmtframe *response;
int ret = -EIO;
- printk("%s: get_oid 0x%08X\n", ndev->name, priv->priv_oid);
+ pr_debug("%s: get_oid 0x%08X\n", ndev->name, priv->priv_oid);
data->length = 0;
if (islpci_get_state(priv) >= PRV_STATE_INIT) {
@@ -2598,20 +2593,20 @@ prism54_debug_get_oid(struct net_device *ndev, struct iw_request_info *info,
islpci_mgt_transaction(priv->ndev, PIMFOR_OP_GET,
priv->priv_oid, extra, 256,
&response);
- printk("%s: ret: %i\n", ndev->name, ret);
+ pr_debug("%s: ret: %i\n", ndev->name, ret);
if (ret || !response
|| response->header->operation == PIMFOR_OP_ERROR) {
if (response) {
islpci_mgt_release(response);
}
- printk("%s: EIO\n", ndev->name);
+ pr_debug("%s: EIO\n", ndev->name);
ret = -EIO;
}
if (!ret) {
data->length = response->header->length;
memcpy(extra, response->data, data->length);
islpci_mgt_release(response);
- printk("%s: len: %i\n", ndev->name, data->length);
+ pr_debug("%s: len: %i\n", ndev->name, data->length);
}
}
@@ -2626,27 +2621,27 @@ prism54_debug_set_oid(struct net_device *ndev, struct iw_request_info *info,
struct islpci_mgmtframe *response;
int ret = 0, response_op = PIMFOR_OP_ERROR;
- printk("%s: set_oid 0x%08X\tlen: %d\n", ndev->name, priv->priv_oid,
- data->length);
+ pr_debug("%s: set_oid 0x%08X\tlen: %d\n",
+ ndev->name, priv->priv_oid, data->length);
if (islpci_get_state(priv) >= PRV_STATE_INIT) {
ret =
islpci_mgt_transaction(priv->ndev, PIMFOR_OP_SET,
priv->priv_oid, extra, data->length,
&response);
- printk("%s: ret: %i\n", ndev->name, ret);
+ pr_debug("%s: ret: %i\n", ndev->name, ret);
if (ret || !response
|| response->header->operation == PIMFOR_OP_ERROR) {
if (response) {
islpci_mgt_release(response);
}
- printk("%s: EIO\n", ndev->name);
+ pr_debug("%s: EIO\n", ndev->name);
ret = -EIO;
}
if (!ret) {
response_op = response->header->operation;
- printk("%s: response_op: %i\n", ndev->name,
- response_op);
+ pr_debug("%s: response_op: %i\n",
+ ndev->name, response_op);
islpci_mgt_release(response);
}
}
diff --git a/drivers/net/wireless/prism54/islpci_dev.c b/drivers/net/wireless/prism54/islpci_dev.c
index 5970ff6..df7a164 100644
--- a/drivers/net/wireless/prism54/islpci_dev.c
+++ b/drivers/net/wireless/prism54/islpci_dev.c
@@ -18,6 +18,8 @@
*
*/
+#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
+
#include <linux/hardirq.h>
#include <linux/module.h>
#include <linux/slab.h>
@@ -94,9 +96,8 @@ isl_upload_firmware(islpci_private *priv)
rc = request_firmware(&fw_entry, priv->firmware, PRISM_FW_PDEV);
if (rc) {
- printk(KERN_ERR
- "%s: request_firmware() failed for '%s'\n",
- "prism54", priv->firmware);
+ pr_err("request_firmware() failed for '%s'\n",
+ priv->firmware);
return rc;
}
/* prepare the Direct Memory Base register */
@@ -106,9 +107,8 @@ isl_upload_firmware(islpci_private *priv)
fw_len = fw_entry->size;
if (fw_len % 4) {
- printk(KERN_ERR
- "%s: firmware '%s' size is not multiple of 32bit, aborting!\n",
- "prism54", priv->firmware);
+ pr_err("firmware '%s' size is not multiple of 32bit, aborting!\n",
+ priv->firmware);
release_firmware(fw_entry);
return -EILSEQ; /* Illegal byte sequence */;
}
@@ -148,8 +148,8 @@ isl_upload_firmware(islpci_private *priv)
BUG_ON(fw_len != 0);
/* Firmware version is at offset 40 (also for "newmac") */
- printk(KERN_DEBUG "%s: firmware version: %.8s\n",
- priv->ndev->name, fw_entry->data + 40);
+ pr_debug("%s: firmware version: %.8s\n",
+ priv->ndev->name, fw_entry->data + 40);
release_firmware(fw_entry);
}
@@ -411,7 +411,7 @@ islpci_close(struct net_device *ndev)
{
islpci_private *priv = netdev_priv(ndev);
- printk(KERN_DEBUG "%s: islpci_close ()\n", ndev->name);
+ pr_debug("%s: islpci_close ()\n", ndev->name);
netif_stop_queue(ndev);
@@ -465,20 +465,19 @@ islpci_upload_fw(islpci_private *priv)
old_state = islpci_set_state(priv, PRV_STATE_BOOT);
- printk(KERN_DEBUG "%s: uploading firmware...\n", priv->ndev->name);
+ pr_debug("%s: uploading firmware...\n", priv->ndev->name);
rc = isl_upload_firmware(priv);
if (rc) {
/* error uploading the firmware */
- printk(KERN_ERR "%s: could not upload firmware ('%s')\n",
+ pr_err("%s: could not upload firmware ('%s')\n",
priv->ndev->name, priv->firmware);
islpci_set_state(priv, old_state);
return rc;
}
- printk(KERN_DEBUG "%s: firmware upload complete\n",
- priv->ndev->name);
+ pr_debug("%s: firmware upload complete\n", priv->ndev->name);
islpci_set_state(priv, PRV_STATE_POSTBOOT);
@@ -513,14 +512,14 @@ islpci_reset_if(islpci_private *priv)
/* If we're here it's because our IRQ hasn't yet gone through.
* Retry a bit more...
*/
- printk(KERN_ERR "%s: no 'reset complete' IRQ seen - retrying\n",
- priv->ndev->name);
+ pr_err("%s: no 'reset complete' IRQ seen - retrying\n",
+ priv->ndev->name);
}
finish_wait(&priv->reset_done, &wait);
if (result) {
- printk(KERN_ERR "%s: interface reset failure\n", priv->ndev->name);
+ pr_err("%s: interface reset failure\n", priv->ndev->name);
return result;
}
@@ -536,7 +535,7 @@ islpci_reset_if(islpci_private *priv)
down_write(&priv->mib_sem);
result = mgt_commit(priv);
if (result) {
- printk(KERN_ERR "%s: interface reset failure\n", priv->ndev->name);
+ pr_err("%s: interface reset failure\n", priv->ndev->name);
up_write(&priv->mib_sem);
return result;
}
@@ -544,7 +543,7 @@ islpci_reset_if(islpci_private *priv)
islpci_set_state(priv, PRV_STATE_READY);
- printk(KERN_DEBUG "%s: interface reset complete\n", priv->ndev->name);
+ pr_debug("%s: interface reset complete\n", priv->ndev->name);
return 0;
}
@@ -561,7 +560,7 @@ islpci_reset(islpci_private *priv, int reload_firmware)
else
islpci_set_state(priv, PRV_STATE_POSTBOOT);
- printk(KERN_DEBUG "%s: resetting device...\n", priv->ndev->name);
+ pr_debug("%s: resetting device...\n", priv->ndev->name);
/* disable all device interrupts in case they weren't */
isl38xx_disable_interrupts(priv->device_base);
@@ -606,8 +605,7 @@ islpci_reset(islpci_private *priv, int reload_firmware)
* firmware and reset interface */
rc = islpci_upload_fw(priv);
if (rc) {
- printk(KERN_ERR "%s: islpci_reset: failure\n",
- priv->ndev->name);
+ pr_err("%s: islpci_reset: failure\n", priv->ndev->name);
return rc;
}
}
@@ -615,7 +613,7 @@ islpci_reset(islpci_private *priv, int reload_firmware)
/* finally reset interface */
rc = islpci_reset_if(priv);
if (rc)
- printk(KERN_ERR "prism54: Your card/socket may be faulty, or IRQ line too busy :(\n");
+ pr_err("Your card/socket may be faulty, or IRQ line too busy :(\n");
return rc;
}
@@ -628,7 +626,7 @@ islpci_alloc_memory(islpci_private *priv)
int counter;
#if VERBOSE > SHOW_ERROR_MESSAGES
- printk(KERN_DEBUG "islpci_alloc_memory\n");
+ pr_debug("islpci_alloc_memory\n");
#endif
/* remap the PCI device base address to accessible */
@@ -636,7 +634,7 @@ islpci_alloc_memory(islpci_private *priv)
ioremap(pci_resource_start(priv->pdev, 0),
ISL38XX_PCI_MEM_SIZE))) {
/* error in remapping the PCI device memory address range */
- printk(KERN_ERR "PCI memory remapping failed\n");
+ pr_err("PCI memory remapping failed\n");
return -1;
}
@@ -656,8 +654,7 @@ islpci_alloc_memory(islpci_private *priv)
if (!priv->driver_mem_address) {
/* error allocating the block of PCI memory */
- printk(KERN_ERR "%s: could not allocate DMA memory, aborting!",
- "prism54");
+ pr_err("could not allocate DMA memory, aborting!\n");
return -1;
}
@@ -695,7 +692,7 @@ islpci_alloc_memory(islpci_private *priv)
* include any required allignment operations */
if (!(skb = dev_alloc_skb(MAX_FRAGMENT_SIZE_RX + 2))) {
/* error allocating an sk_buff structure elements */
- printk(KERN_ERR "Error allocating skb.\n");
+ pr_err("Error allocating skb\n");
skb = NULL;
goto out_free;
}
@@ -711,7 +708,7 @@ islpci_alloc_memory(islpci_private *priv)
if (!priv->pci_map_rx_address[counter]) {
/* error mapping the buffer to device
accessible memory address */
- printk(KERN_ERR "failed to map skb DMA'able\n");
+ pr_err("failed to map skb DMA'able\n");
goto out_free;
}
}
@@ -948,8 +945,8 @@ islpci_set_state(islpci_private *priv, islpci_state_t new_state)
break;
}
#if 0
- printk(KERN_DEBUG "%s: state transition %d -> %d (off#%d)\n",
- priv->ndev->name, old_state, new_state, priv->state_off);
+ pr_debug("%s: state transition %d -> %d (off#%d)\n",
+ priv->ndev->name, old_state, new_state, priv->state_off);
#endif
/* invariants */
diff --git a/drivers/net/wireless/prism54/islpci_eth.c b/drivers/net/wireless/prism54/islpci_eth.c
index 266d45b..1539077 100644
--- a/drivers/net/wireless/prism54/islpci_eth.c
+++ b/drivers/net/wireless/prism54/islpci_eth.c
@@ -16,6 +16,8 @@
*
*/
+#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
+
#include <linux/module.h>
#include <linux/gfp.h>
@@ -99,7 +101,7 @@ islpci_eth_transmit(struct sk_buff *skb, struct net_device *ndev)
/* check whether the destination queue has enough fragments for the frame */
curr_frag = le32_to_cpu(cb->driver_curr_frag[ISL38XX_CB_TX_DATA_LQ]);
if (unlikely(curr_frag - priv->free_data_tx >= ISL38XX_CB_TX_QSIZE)) {
- printk(KERN_ERR "%s: transmit device queue full when awake\n",
+ pr_err("%s: transmit device queue full when awake\n",
ndev->name);
netif_stop_queue(ndev);
@@ -132,7 +134,7 @@ islpci_eth_transmit(struct sk_buff *skb, struct net_device *ndev)
/* wds requires an additional address field of 6 bytes */
skb_put(skb, 6);
#ifdef ISLPCI_ETH_DEBUG
- printk("islpci_eth_transmit:wds_mac\n");
+ pr_debug("%s:wds_mac\n", __func__);
#endif
memmove(skb->data + 6, src, skb->len);
skb_copy_to_linear_data(skb, wds_mac, 6);
@@ -148,8 +150,7 @@ islpci_eth_transmit(struct sk_buff *skb, struct net_device *ndev)
newskb =
dev_alloc_skb(init_wds ? skb->len + 6 : skb->len);
if (unlikely(newskb == NULL)) {
- printk(KERN_ERR "%s: Cannot allocate skb\n",
- ndev->name);
+ pr_err("%s: Cannot allocate skb\n", ndev->name);
goto drop_free;
}
newskb_offset = (4 - (long) newskb->data) & 0x03;
@@ -165,7 +166,7 @@ islpci_eth_transmit(struct sk_buff *skb, struct net_device *ndev)
skb->len);
skb_copy_to_linear_data(newskb, wds_mac, 6);
#ifdef ISLPCI_ETH_DEBUG
- printk("islpci_eth_transmit:wds_mac\n");
+ pr_debug("%s:wds_mac\n", __func__);
#endif
} else
skb_copy_from_linear_data(skb, newskb->data,
@@ -192,8 +193,7 @@ islpci_eth_transmit(struct sk_buff *skb, struct net_device *ndev)
(void *) skb->data, skb->len,
PCI_DMA_TODEVICE);
if (unlikely(pci_map_address == 0)) {
- printk(KERN_WARNING "%s: cannot map buffer to PCI\n",
- ndev->name);
+ pr_warn("%s: cannot map buffer to PCI\n", ndev->name);
goto drop_free;
}
/* Place the fragment in the control block structure. */
@@ -406,10 +406,7 @@ islpci_eth_receive(islpci_private *priv)
/* deliver the skb to the network layer */
#ifdef ISLPCI_ETH_DEBUG
- printk
- ("islpci_eth_receive:netif_rx %2.2X %2.2X %2.2X %2.2X %2.2X %2.2X\n",
- skb->data[0], skb->data[1], skb->data[2], skb->data[3],
- skb->data[4], skb->data[5]);
+ pr_debug("%s:netif_rx %pM\n", __func__, skb->data);
#endif
if (unlikely(discard)) {
dev_kfree_skb_irq(skb);
@@ -495,13 +492,11 @@ islpci_eth_tx_timeout(struct net_device *ndev)
ndev->stats.tx_errors++;
if (!priv->reset_task_pending) {
- printk(KERN_WARNING
- "%s: tx_timeout, scheduling reset", ndev->name);
+ pr_warn("%s: tx_timeout, scheduling reset", ndev->name);
netif_stop_queue(ndev);
priv->reset_task_pending = 1;
schedule_work(&priv->reset_task);
} else {
- printk(KERN_WARNING
- "%s: tx_timeout, waiting for reset", ndev->name);
+ pr_warn("%s: tx_timeout, waiting for reset", ndev->name);
}
}
diff --git a/drivers/net/wireless/prism54/islpci_hotplug.c b/drivers/net/wireless/prism54/islpci_hotplug.c
index 9e68e0c..5336b9a 100644
--- a/drivers/net/wireless/prism54/islpci_hotplug.c
+++ b/drivers/net/wireless/prism54/islpci_hotplug.c
@@ -17,6 +17,8 @@
*
*/
+#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
+
#include <linux/interrupt.h>
#include <linux/module.h>
#include <linux/pci.h>
@@ -103,7 +105,7 @@ prism54_probe(struct pci_dev *pdev, const struct pci_device_id *id)
/* Enable the pci device */
if (pci_enable_device(pdev)) {
- printk(KERN_ERR "%s: pci_enable_device() failed.\n", DRV_NAME);
+ pr_err("pci_enable_device() failed\n");
return -ENODEV;
}
@@ -120,7 +122,7 @@ prism54_probe(struct pci_dev *pdev, const struct pci_device_id *id)
/* enable PCI DMA */
if (pci_set_dma_mask(pdev, DMA_BIT_MASK(32))) {
- printk(KERN_ERR "%s: 32-bit PCI DMA not supported", DRV_NAME);
+ pr_err("32-bit PCI DMA not supported\n");
goto do_pci_disable_device;
}
@@ -141,22 +143,20 @@ prism54_probe(struct pci_dev *pdev, const struct pci_device_id *id)
pci_write_config_byte(pdev, 0x40, (u8)init_pcitm);
pci_write_config_byte(pdev, 0x41, (u8)init_pcitm);
} else {
- printk(KERN_INFO "PCI TRDY/RETRY unchanged\n");
+ pr_info("PCI TRDY/RETRY unchanged\n");
}
/* request the pci device I/O regions */
rvalue = pci_request_regions(pdev, DRV_NAME);
if (rvalue) {
- printk(KERN_ERR "%s: pci_request_regions failure (rc=%d)\n",
- DRV_NAME, rvalue);
+ pr_err("pci_request_regions failure (rc=%d)\n", rvalue);
goto do_pci_disable_device;
}
/* check if the memory window is indeed set */
rvalue = pci_read_config_dword(pdev, PCI_BASE_ADDRESS_0, &mem_addr);
if (rvalue || !mem_addr) {
- printk(KERN_ERR "%s: PCI device memory region not configured; fix your BIOS or CardBus bridge/drivers\n",
- DRV_NAME);
+ pr_err("PCI device memory region not configured; fix your BIOS or CardBus bridge/drivers\n");
goto do_pci_release_regions;
}
@@ -170,8 +170,7 @@ prism54_probe(struct pci_dev *pdev, const struct pci_device_id *id)
/* setup the network device interface and its structure */
if (!(ndev = islpci_setup(pdev))) {
/* error configuring the driver as a network device */
- printk(KERN_ERR "%s: could not configure network device\n",
- DRV_NAME);
+ pr_err("could not configure network device\n");
goto do_pci_clear_mwi;
}
@@ -187,8 +186,7 @@ prism54_probe(struct pci_dev *pdev, const struct pci_device_id *id)
if (rvalue) {
/* error, could not hook the handler to the irq */
- printk(KERN_ERR "%s: could not install IRQ handler\n",
- ndev->name);
+ pr_err("%s: could not install IRQ handler\n", ndev->name);
goto do_unregister_netdev;
}
@@ -223,11 +221,11 @@ prism54_remove(struct pci_dev *pdev)
BUG_ON(!priv);
if (!__in_cleanup_module) {
- printk(KERN_DEBUG "%s: hot unplug detected\n", ndev->name);
+ pr_debug("%s: hot unplug detected\n", ndev->name);
islpci_set_state(priv, PRV_STATE_OFF);
}
- printk(KERN_DEBUG "%s: removing device\n", ndev->name);
+ pr_debug("%s: removing device\n", ndev->name);
unregister_netdev(ndev);
@@ -290,12 +288,11 @@ prism54_resume(struct pci_dev *pdev)
BUG_ON(!priv);
- printk(KERN_NOTICE "%s: got resume request\n", ndev->name);
+ pr_notice("%s: got resume request\n", ndev->name);
err = pci_enable_device(pdev);
if (err) {
- printk(KERN_ERR "%s: pci_enable_device failed on resume\n",
- ndev->name);
+ pr_err("%s: pci_enable_device failed on resume\n", ndev->name);
return err;
}
@@ -313,8 +310,7 @@ prism54_resume(struct pci_dev *pdev)
static int __init
prism54_module_init(void)
{
- printk(KERN_INFO "Loaded %s driver, version %s\n",
- DRV_NAME, DRV_VERSION);
+ pr_info("Loaded %s driver, version %s\n", DRV_NAME, DRV_VERSION);
__bug_on_wrong_struct_sizes ();
@@ -331,7 +327,7 @@ prism54_module_exit(void)
pci_unregister_driver(&prism54_driver);
- printk(KERN_INFO "Unloaded %s driver\n", DRV_NAME);
+ pr_info("Unloaded %s driver\n", DRV_NAME);
__in_cleanup_module = 0;
}
diff --git a/drivers/net/wireless/prism54/islpci_mgt.c b/drivers/net/wireless/prism54/islpci_mgt.c
index c5404cb..ef4fe3a 100644
--- a/drivers/net/wireless/prism54/islpci_mgt.c
+++ b/drivers/net/wireless/prism54/islpci_mgt.c
@@ -17,6 +17,8 @@
*
*/
+#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
+
#include <linux/netdevice.h>
#include <linux/module.h>
#include <linux/pci.h>
@@ -50,13 +52,7 @@ display_buffer(char *buffer, int length)
if ((pc_debug & SHOW_BUFFER_CONTENTS) == 0)
return;
- while (length > 0) {
- printk("[%02x]", *buffer & 255);
- length--;
- buffer++;
- }
-
- printk("\n");
+ print_hex_dump_bytes("", DUMP_PREFIX_OFFSET, buffer, length);
}
#endif
@@ -124,8 +120,7 @@ islpci_mgmt_rx_fill(struct net_device *ndev)
if (buf->mem == NULL) {
buf->mem = kmalloc(MGMT_FRAME_SIZE, GFP_ATOMIC);
if (!buf->mem) {
- printk(KERN_WARNING
- "Error allocating management frame.\n");
+ pr_warn("Error allocating management frame\n");
return -ENOMEM;
}
buf->size = MGMT_FRAME_SIZE;
@@ -135,8 +130,7 @@ islpci_mgmt_rx_fill(struct net_device *ndev)
MGMT_FRAME_SIZE,
PCI_DMA_FROMDEVICE);
if (!buf->pci_addr) {
- printk(KERN_WARNING
- "Failed to make memory DMA'able.\n");
+ pr_warn("Failed to make memory DMA'able\n");
return -ENOMEM;
}
}
@@ -184,8 +178,7 @@ islpci_mgt_transmit(struct net_device *ndev, int operation, unsigned long oid,
#endif
if (frag_len > MGMT_FRAME_SIZE) {
- printk(KERN_DEBUG "%s: mgmt frame too large %d\n",
- ndev->name, frag_len);
+ pr_debug("%s: mgmt frame too large %d\n", ndev->name, frag_len);
goto error;
}
@@ -222,8 +215,7 @@ islpci_mgt_transmit(struct net_device *ndev, int operation, unsigned long oid,
buf.pci_addr = pci_map_single(priv->pdev, buf.mem, frag_len,
PCI_DMA_TODEVICE);
if (!buf.pci_addr) {
- printk(KERN_WARNING "%s: cannot map PCI memory for mgmt\n",
- ndev->name);
+ pr_warn("%s: cannot map PCI memory for mgmt\n", ndev->name);
goto error_free;
}
@@ -231,8 +223,7 @@ islpci_mgt_transmit(struct net_device *ndev, int operation, unsigned long oid,
spin_lock_irqsave(&priv->slock, flags);
curr_frag = le32_to_cpu(cb->driver_curr_frag[ISL38XX_CB_TX_MGMTQ]);
if (curr_frag - priv->index_mgmt_tx >= ISL38XX_CB_MGMT_QSIZE) {
- printk(KERN_WARNING "%s: mgmt tx queue is still full\n",
- ndev->name);
+ pr_warn("%s: mgmt tx queue is still full\n", ndev->name);
goto error_unlock;
}
@@ -297,9 +288,9 @@ islpci_mgt_receive(struct net_device *ndev)
/* I have no idea (and no documentation) if flags != 0
* is possible. Drop the frame, reuse the buffer. */
if (le16_to_cpu(cb->rx_data_mgmt[index].flags) != 0) {
- printk(KERN_WARNING "%s: unknown flags 0x%04x\n",
- ndev->name,
- le16_to_cpu(cb->rx_data_mgmt[index].flags));
+ pr_warn("%s: unknown flags 0x%04x\n",
+ ndev->name,
+ le16_to_cpu(cb->rx_data_mgmt[index].flags));
continue;
}
@@ -311,8 +302,7 @@ islpci_mgt_receive(struct net_device *ndev)
* size of a receive buffer. Thus, if this check
* triggers, we likely have kernel heap corruption. */
if (frag_len > MGMT_FRAME_SIZE) {
- printk(KERN_WARNING
- "%s: Bogus packet size of %d (%#x).\n",
+ pr_warn("%s: Bogus packet size of %d (%#x)\n",
ndev->name, frag_len, frag_len);
frag_len = MGMT_FRAME_SIZE;
}
@@ -324,8 +314,7 @@ islpci_mgt_receive(struct net_device *ndev)
/* Perform endianess conversion for PIMFOR header in-place. */
header = pimfor_decode_header(buf->mem, frag_len);
if (!header) {
- printk(KERN_WARNING "%s: no PIMFOR header found\n",
- ndev->name);
+ pr_warn("%s: no PIMFOR header found\n", ndev->name);
continue;
}
@@ -348,9 +337,8 @@ islpci_mgt_receive(struct net_device *ndev)
/* nobody sends these */
if (header->flags & PIMFOR_FLAG_APPLIC_ORIGIN) {
- printk(KERN_DEBUG
- "%s: errant PIMFOR application frame\n",
- ndev->name);
+ pr_debug("%s: errant PIMFOR application frame\n",
+ ndev->name);
continue;
}
@@ -359,9 +347,8 @@ islpci_mgt_receive(struct net_device *ndev)
frame = kmalloc(sizeof (struct islpci_mgmtframe) + size,
GFP_ATOMIC);
if (!frame) {
- printk(KERN_WARNING
- "%s: Out of memory, cannot handle oid 0x%08x\n",
- ndev->name, header->oid);
+ pr_warn("%s: Out of memory, cannot handle oid 0x%08x\n",
+ ndev->name, header->oid);
continue;
}
frame->ndev = ndev;
@@ -377,10 +364,9 @@ islpci_mgt_receive(struct net_device *ndev)
if (header->operation == PIMFOR_OP_TRAP) {
#if VERBOSE > SHOW_ERROR_MESSAGES
- printk(KERN_DEBUG
- "TRAP: oid 0x%x, device %i, flags 0x%x length %i\n",
- header->oid, header->device_id, header->flags,
- header->length);
+ pr_debug("TRAP: oid 0x%x, device %i, flags 0x%x length %i\n",
+ header->oid, header->device_id, header->flags,
+ header->length);
#endif
/* Create work to handle trap out of interrupt
@@ -392,9 +378,8 @@ islpci_mgt_receive(struct net_device *ndev)
/* Signal the one waiting process that a response
* has been received. */
if ((frame = xchg(&priv->mgmt_received, frame)) != NULL) {
- printk(KERN_WARNING
- "%s: mgmt response not collected\n",
- ndev->name);
+ pr_warn("%s: mgmt response not collected\n",
+ ndev->name);
kfree(frame);
}
#if VERBOSE > SHOW_ERROR_MESSAGES
@@ -480,25 +465,21 @@ islpci_mgt_transaction(struct net_device *ndev,
err = 0;
goto out;
} else {
- printk(KERN_DEBUG
- "%s: expecting oid 0x%x, received 0x%x.\n",
- ndev->name, (unsigned int) oid,
- frame->header->oid);
+ pr_debug("%s: expecting oid 0x%x, received 0x%x\n",
+ ndev->name, (unsigned int)oid,
+ frame->header->oid);
kfree(frame);
frame = NULL;
}
}
if (timeleft == 0) {
- printk(KERN_DEBUG
- "%s: timeout waiting for mgmt response %lu, "
- "triggering device\n",
- ndev->name, timeout_left);
+ pr_debug("%s: timeout waiting for mgmt response %lu, triggering device\n",
+ ndev->name, timeout_left);
islpci_trigger(priv);
}
timeout_left += timeleft - wait_cycle_jiffies;
}
- printk(KERN_WARNING "%s: timeout waiting for mgmt response\n",
- ndev->name);
+ pr_warn("%s: timeout waiting for mgmt response\n", ndev->name);
/* TODO: we should reset the device here */
out:
diff --git a/drivers/net/wireless/prism54/islpci_mgt.h b/drivers/net/wireless/prism54/islpci_mgt.h
index 0db93db..4f129c5 100644
--- a/drivers/net/wireless/prism54/islpci_mgt.h
+++ b/drivers/net/wireless/prism54/islpci_mgt.h
@@ -28,8 +28,13 @@
* Function definitions
*/
-#define K_DEBUG(f, m, args...) do { if(f & m) printk(KERN_DEBUG args); } while(0)
-#define DEBUG(f, args...) K_DEBUG(f, pc_debug, args)
+#define K_DEBUG(f, m, fmt, ...) \
+do { \
+ if (f & m) \
+ pr_debug(fmt, ##__VA_ARGS__); \
+} while (0)
+#define DEBUG(f, fmt, ...) \
+ K_DEBUG(f, pc_debug, fmt, ##__VA_ARGS__)
extern int pc_debug;
#define init_wds 0 /* help compiler optimize away dead code */
diff --git a/drivers/net/wireless/prism54/oid_mgt.c b/drivers/net/wireless/prism54/oid_mgt.c
index a01606b..094baed 100644
--- a/drivers/net/wireless/prism54/oid_mgt.c
+++ b/drivers/net/wireless/prism54/oid_mgt.c
@@ -16,6 +16,8 @@
*
*/
+#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
+
#include <linux/kernel.h>
#include <linux/slab.h>
@@ -580,10 +582,8 @@ mgt_get_request(islpci_private *priv, enum oid_num_t n, int extra, void *data,
islpci_mgt_release(response);
if (reslen > isl_oid[n].size)
- printk(KERN_DEBUG
- "mgt_get_request(0x%x): received data length was bigger "
- "than expected (%d > %d). Memory is probably corrupted...",
- oid, reslen, isl_oid[n].size);
+ pr_debug("mgt_get_request(0x%x): received data length was bigger than expected (%d > %d). Memory is probably corrupted...\n",
+ oid, reslen, isl_oid[n].size);
return ret;
}
@@ -610,9 +610,8 @@ mgt_commit_list(islpci_private *priv, enum oid_num_t *l, int n)
islpci_mgt_release(response);
}
if (r)
- printk(KERN_ERR "%s: mgt_commit_list: failure. "
- "oid=%08x err=%d\n",
- priv->ndev->name, oid, r);
+ pr_err("%s: mgt_commit_list: failure. oid=%08x err=%d\n",
+ priv->ndev->name, oid, r);
ret |= r;
j++;
oid++;
@@ -689,7 +688,7 @@ mgt_update_addr(islpci_private *priv)
islpci_mgt_release(res);
if (ret)
- printk(KERN_ERR "%s: mgt_update_addr: failure\n", priv->ndev->name);
+ pr_err("%s: mgt_update_addr: failure\n", priv->ndev->name);
return ret;
}
@@ -714,7 +713,7 @@ mgt_commit(islpci_private *priv)
if (rvalue) {
/* some request have failed. The device might be in an
incoherent state. We should reset it ! */
- printk(KERN_DEBUG "%s: mgt_commit: failure\n", priv->ndev->name);
+ pr_debug("%s: mgt_commit: failure\n", priv->ndev->name);
}
return rvalue;
}
@@ -751,7 +750,7 @@ mgt_unlatch_all(islpci_private *priv)
#endif
if (rvalue)
- printk(KERN_DEBUG "%s: Unlatching OIDs failed\n", priv->ndev->name);
+ pr_debug("%s: Unlatching OIDs failed\n", priv->ndev->name);
}
#endif
@@ -783,7 +782,7 @@ mgt_oidtonum(u32 oid)
if (isl_oid[i].oid == oid)
return i;
- printk(KERN_DEBUG "looking for an unknown oid 0x%x", oid);
+ pr_debug("looking for an unknown oid 0x%x\n", oid);
return OID_NUM_LAST;
}
@@ -832,7 +831,7 @@ mgt_response_to_str(enum oid_num_t n, union oid_res_t *r, char *str)
case OID_TYPE_FREQUENCIES:{
struct obj_frequencies *freq = r->ptr;
int i, t;
- printk("nr : %u\n", freq->nr);
+ pr_debug("nr : %u\n", freq->nr);
t = snprintf(str, PRIV_STR_SIZE, "nr=%u\n", freq->nr);
for (i = 0; i < freq->nr; i++)
t += snprintf(str + t, PRIV_STR_SIZE - t,
--
1.7.8.111.gad25c.dirty
^ permalink raw reply related
* [PATCH wireless-next 16/20] ray_cs: Use pr_<level>
From: Joe Perches @ 2012-06-15 5:53 UTC (permalink / raw)
To: John W. Linville; +Cc: linux-wireless, netdev, linux-kernel
In-Reply-To: <cover.1339739415.git.joe@perches.com>
Use a more current logging style.
Convert printks to pr_<level>.
Coalesce formats, align arguments.
Signed-off-by: Joe Perches <joe@perches.com>
---
drivers/net/wireless/ray_cs.c | 147 +++++++++++++++++++----------------------
1 files changed, 69 insertions(+), 78 deletions(-)
diff --git a/drivers/net/wireless/ray_cs.c b/drivers/net/wireless/ray_cs.c
index 86a738b..fc8c59a 100644
--- a/drivers/net/wireless/ray_cs.c
+++ b/drivers/net/wireless/ray_cs.c
@@ -30,6 +30,8 @@
*
=============================================================================*/
+#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
+
#include <linux/module.h>
#include <linux/kernel.h>
#include <linux/proc_fs.h>
@@ -364,11 +366,11 @@ static int ray_config(struct pcmcia_device *link)
dev_dbg(&link->dev, "ray_config\n");
/* Determine card type and firmware version */
- printk(KERN_INFO "ray_cs Detected: %s%s%s%s\n",
- link->prod_id[0] ? link->prod_id[0] : " ",
- link->prod_id[1] ? link->prod_id[1] : " ",
- link->prod_id[2] ? link->prod_id[2] : " ",
- link->prod_id[3] ? link->prod_id[3] : " ");
+ pr_info("Detected: %s%s%s%s\n",
+ link->prod_id[0] ? link->prod_id[0] : " ",
+ link->prod_id[1] ? link->prod_id[1] : " ",
+ link->prod_id[2] ? link->prod_id[2] : " ",
+ link->prod_id[3] ? link->prod_id[3] : " ");
/* Now allocate an interrupt line. Note that this does not
actually assign a handler to the interrupt.
@@ -439,8 +441,8 @@ static int ray_config(struct pcmcia_device *link)
return i;
}
- printk(KERN_INFO "%s: RayLink, irq %d, hw_addr %pM\n",
- dev->name, dev->irq, dev->dev_addr);
+ pr_info("%s: RayLink, irq %d, hw_addr %pM\n",
+ dev->name, dev->irq, dev->dev_addr);
return 0;
@@ -489,8 +491,8 @@ static int ray_init(struct net_device *dev)
/* Check Power up test status and get mac address from card */
if (local->startup_res.startup_word != 0x80) {
- printk(KERN_INFO "ray_init ERROR card status = %2x\n",
- local->startup_res.startup_word);
+ pr_info("%s: ERROR card status = %2x\n",
+ __func__, local->startup_res.startup_word);
local->card_status = CARD_INIT_ERROR;
return -1;
}
@@ -560,8 +562,7 @@ static int dl_startup_params(struct net_device *dev)
local->dl_param_ccs);
/* Interrupt the firmware to process the command */
if (interrupt_ecf(local, ccsindex)) {
- printk(KERN_INFO "ray dl_startup_params failed - "
- "ECF not ready for intr\n");
+ pr_info("%s: failed - ECF not ready for intr\n", __func__);
local->card_status = CARD_DL_PARAM_ERROR;
writeb(CCS_BUFFER_FREE, &(pccs++)->buffer_status);
return -2;
@@ -668,9 +669,8 @@ static void verify_dl_startup(u_long data)
status = readb(&pccs->buffer_status);
if (status != CCS_BUFFER_FREE) {
- printk(KERN_INFO
- "Download startup params failed. Status = %d\n",
- status);
+ pr_info("Download startup params failed. Status = %d\n",
+ status);
local->card_status = CARD_DL_PARAM_ERROR;
return;
}
@@ -794,8 +794,8 @@ static int ray_dev_init(struct net_device *dev)
#ifdef RAY_IMMEDIATE_INIT
/* Download startup parameters */
if ((i = dl_startup_params(dev)) < 0) {
- printk(KERN_INFO "ray_dev_init dl_startup_params failed - "
- "returns 0x%x\n", i);
+ pr_info("%s: dl_startup_params failed - returns 0x%x\n",
+ __func__, i);
return -1;
}
#else /* RAY_IMMEDIATE_INIT */
@@ -885,17 +885,17 @@ static int ray_hw_xmit(unsigned char *data, int len, struct net_device *dev,
struct tx_msg __iomem *ptx; /* Address of xmit buffer in PC space */
short int addr; /* Address of xmit buffer in card space */
- pr_debug("ray_hw_xmit(data=%p, len=%d, dev=%p)\n", data, len, dev);
+ pr_debug("%s: (data=%p, len=%d, dev=%p)\n", __func__, data, len, dev);
if (len + TX_HEADER_LENGTH > TX_BUF_SIZE) {
- printk(KERN_INFO "ray_hw_xmit packet too large: %d bytes\n",
+ pr_info("ray_hw_xmit packet too large: %d bytes\n",
len);
return XMIT_MSG_BAD;
}
switch (ccsindex = get_free_tx_ccs(local)) {
case ECCSBUSY:
- pr_debug("ray_hw_xmit tx_ccs table busy\n");
+ pr_debug("%s: tx_ccs table busy\n", __func__);
case ECCSFULL:
- pr_debug("ray_hw_xmit No free tx ccs\n");
+ pr_debug("%s: No free tx ccs\n", __func__);
case ECARDGONE:
netif_stop_queue(dev);
return XMIT_NO_CCS;
@@ -932,12 +932,12 @@ static int ray_hw_xmit(unsigned char *data, int len, struct net_device *dev,
writeb(PSM_CAM, &pccs->var.tx_request.pow_sav_mode);
writeb(local->net_default_tx_rate, &pccs->var.tx_request.tx_rate);
writeb(0, &pccs->var.tx_request.antenna);
- pr_debug("ray_hw_xmit default_tx_rate = 0x%x\n",
- local->net_default_tx_rate);
+ pr_debug("%s: default_tx_rate = 0x%x\n",
+ __func__, local->net_default_tx_rate);
/* Interrupt the firmware to process the command */
if (interrupt_ecf(local, ccsindex)) {
- pr_debug("ray_hw_xmit failed - ECF not ready for intr\n");
+ pr_debug("%s: failed - ECF not ready for intr\n", __func__);
/* TBD very inefficient to copy packet to buffer, and then not
send it, but the alternative is to queue the messages and that
won't be done for a while. Maybe set tbusy until a CCS is free?
@@ -954,7 +954,7 @@ static int translate_frame(ray_dev_t *local, struct tx_msg __iomem *ptx,
{
__be16 proto = ((struct ethhdr *)data)->h_proto;
if (ntohs(proto) >= 1536) { /* DIX II ethernet frame */
- pr_debug("ray_cs translate_frame DIX II\n");
+ pr_debug("%s: DIX II\n", __func__);
/* Copy LLC header to card buffer */
memcpy_toio(&ptx->var, eth2_llc, sizeof(eth2_llc));
memcpy_toio(((void __iomem *)&ptx->var) + sizeof(eth2_llc),
@@ -970,9 +970,9 @@ static int translate_frame(ray_dev_t *local, struct tx_msg __iomem *ptx,
len - ETH_HLEN);
return (int)sizeof(struct snaphdr_t) - ETH_HLEN;
} else { /* already 802 type, and proto is length */
- pr_debug("ray_cs translate_frame 802\n");
+ pr_debug("%s: 802\n", __func__);
if (proto == htons(0xffff)) { /* evil netware IPX 802.3 without LLC */
- pr_debug("ray_cs translate_frame evil IPX\n");
+ pr_debug("%s: evil IPX\n", __func__);
memcpy_toio(&ptx->var, data + ETH_HLEN, len - ETH_HLEN);
return 0 - ETH_HLEN;
}
@@ -1501,9 +1501,8 @@ static int ray_open(struct net_device *dev)
/* Download startup parameters */
if ((i = dl_startup_params(dev)) < 0) {
- printk(KERN_INFO
- "ray_dev_init dl_startup_params failed - "
- "returns 0x%x\n", i);
+ pr_info("ray_dev_init dl_startup_params failed - returns 0x%x\n",
+ i);
return -1;
}
}
@@ -1540,7 +1539,7 @@ static int ray_dev_close(struct net_device *dev)
/*===========================================================================*/
static void ray_reset(struct net_device *dev)
{
- pr_debug("ray_reset entered\n");
+ pr_debug("%s: entered\n", __func__);
}
/*===========================================================================*/
@@ -1639,8 +1638,7 @@ static void authenticate_timeout(u_long data)
{
ray_dev_t *local = (ray_dev_t *) data;
del_timer(&local->timer);
- printk(KERN_INFO "ray_cs Authentication with access point failed"
- " - timeout\n");
+ pr_info("Authentication with access point failed - timeout\n");
join_net((u_long) local);
}
@@ -1800,11 +1798,11 @@ static void set_multicast_list(struct net_device *dev)
ray_dev_t *local = netdev_priv(dev);
UCHAR promisc;
- pr_debug("ray_cs set_multicast_list(%p)\n", dev);
+ pr_debug("%s: (%p)\n", __func__, dev);
if (dev->flags & IFF_PROMISC) {
if (local->sparm.b5.a_promiscuous_mode == 0) {
- pr_debug("ray_cs set_multicast_list promisc on\n");
+ pr_debug("%s: promisc on\n", __func__);
local->sparm.b5.a_promiscuous_mode = 1;
promisc = 1;
ray_update_parm(dev, OBJID_promiscuous_mode,
@@ -1812,7 +1810,7 @@ static void set_multicast_list(struct net_device *dev)
}
} else {
if (local->sparm.b5.a_promiscuous_mode == 1) {
- pr_debug("ray_cs set_multicast_list promisc off\n");
+ pr_debug("%s: promisc off\n", __func__);
local->sparm.b5.a_promiscuous_mode = 0;
promisc = 0;
ray_update_parm(dev, OBJID_promiscuous_mode,
@@ -1846,13 +1844,12 @@ static irqreturn_t ray_interrupt(int irq, void *dev_id)
if (dev == NULL) /* Note that we want interrupts with dev->start == 0 */
return IRQ_NONE;
- pr_debug("ray_cs: interrupt for *dev=%p\n", dev);
+ pr_debug("interrupt for *dev=%p\n", dev);
local = netdev_priv(dev);
link = (struct pcmcia_device *)local->finder;
if (!pcmcia_dev_present(link)) {
- pr_debug(
- "ray_cs interrupt from device not present or suspended.\n");
+ pr_debug("interrupt from device not present or suspended\n");
return IRQ_NONE;
}
rcsindex = readb(&((struct scb __iomem *)(local->sram))->rcs_index);
@@ -2045,7 +2042,7 @@ static void ray_rx(struct net_device *dev, ray_dev_t *local,
int rx_len;
unsigned int pkt_addr;
void __iomem *pmsg;
- pr_debug("ray_rx process rx packet\n");
+ pr_debug("%s: process rx packet\n", __func__);
/* Calculate address of packet within Rx buffer */
pkt_addr = ((readb(&prcs->var.rx_packet.rx_data_ptr[0]) << 8)
@@ -2058,28 +2055,28 @@ static void ray_rx(struct net_device *dev, ray_dev_t *local,
pmsg = local->rmem + pkt_addr;
switch (readb(pmsg)) {
case DATA_TYPE:
- pr_debug("ray_rx data type\n");
+ pr_debug("%s: data type\n", __func__);
rx_data(dev, prcs, pkt_addr, rx_len);
break;
case AUTHENTIC_TYPE:
- pr_debug("ray_rx authentic type\n");
+ pr_debug("%s: authentic type\n", __func__);
if (sniffer)
rx_data(dev, prcs, pkt_addr, rx_len);
else
rx_authenticate(local, prcs, pkt_addr, rx_len);
break;
case DEAUTHENTIC_TYPE:
- pr_debug("ray_rx deauth type\n");
+ pr_debug("%s: deauth type\n", __func__);
if (sniffer)
rx_data(dev, prcs, pkt_addr, rx_len);
else
rx_deauthenticate(local, prcs, pkt_addr, rx_len);
break;
case NULL_MSG_TYPE:
- pr_debug("ray_cs rx NULL msg\n");
+ pr_debug("%s: rx NULL msg\n", __func__);
break;
case BEACON_TYPE:
- pr_debug("ray_rx beacon type\n");
+ pr_debug("%s: beacon type\n", __func__);
if (sniffer)
rx_data(dev, prcs, pkt_addr, rx_len);
@@ -2092,8 +2089,8 @@ static void ray_rx(struct net_device *dev, ray_dev_t *local,
ray_get_stats(dev);
break;
default:
- pr_debug("ray_cs unknown pkt type %2x\n",
- (unsigned int)readb(pmsg));
+ pr_debug("%s: unknown pkt type %2x\n",
+ __func__, (unsigned int)readb(pmsg));
break;
}
@@ -2121,9 +2118,8 @@ static void rx_data(struct net_device *dev, struct rcs __iomem *prcs,
rx_len >
(dev->mtu + RX_MAC_HEADER_LENGTH + ETH_HLEN +
FCS_LEN)) {
- pr_debug(
- "ray_cs invalid packet length %d received\n",
- rx_len);
+ pr_debug("invalid packet length %d received\n",
+ rx_len);
return;
}
} else { /* encapsulated ethernet */
@@ -2132,17 +2128,16 @@ static void rx_data(struct net_device *dev, struct rcs __iomem *prcs,
rx_len >
(dev->mtu + RX_MAC_HEADER_LENGTH + ETH_HLEN +
FCS_LEN)) {
- pr_debug(
- "ray_cs invalid packet length %d received\n",
- rx_len);
+ pr_debug("invalid packet length %d received\n",
+ rx_len);
return;
}
}
}
- pr_debug("ray_cs rx_data packet\n");
+ pr_debug("rx_data packet\n");
/* If fragmented packet, verify sizes of fragments add up */
if (readb(&prcs->var.rx_packet.next_frag_rcs_index) != 0xFF) {
- pr_debug("ray_cs rx'ed fragment\n");
+ pr_debug("rx'ed fragment\n");
tmp = (readb(&prcs->var.rx_packet.totalpacketlength[0]) << 8)
+ readb(&prcs->var.rx_packet.totalpacketlength[1]);
total_len = tmp;
@@ -2160,8 +2155,7 @@ static void rx_data(struct net_device *dev, struct rcs __iomem *prcs,
} while (1);
if (tmp < 0) {
- pr_debug(
- "ray_cs rx_data fragment lengths don't add up\n");
+ pr_debug("rx_data fragment lengths don't add up\n");
local->stats.rx_dropped++;
release_frag_chain(local, prcs);
return;
@@ -2172,7 +2166,7 @@ static void rx_data(struct net_device *dev, struct rcs __iomem *prcs,
skb = dev_alloc_skb(total_len + 5);
if (skb == NULL) {
- pr_debug("ray_cs rx_data could not allocate skb\n");
+ pr_debug("rx_data could not allocate skb\n");
local->stats.rx_dropped++;
if (readb(&prcs->var.rx_packet.next_frag_rcs_index) != 0xFF)
release_frag_chain(local, prcs);
@@ -2180,8 +2174,7 @@ static void rx_data(struct net_device *dev, struct rcs __iomem *prcs,
}
skb_reserve(skb, 2); /* Align IP on 16 byte (TBD check this) */
- pr_debug("ray_cs rx_data total_len = %x, rx_len = %x\n", total_len,
- rx_len);
+ pr_debug("rx_data total_len = %x, rx_len = %x\n", total_len, rx_len);
/************************/
/* Reserve enough room for the whole damn packet. */
@@ -2213,7 +2206,7 @@ static void rx_data(struct net_device *dev, struct rcs __iomem *prcs,
tmp = 17;
if (readb(&prcs->var.rx_packet.next_frag_rcs_index) != 0xFF) {
prcslink = prcs;
- pr_debug("ray_cs rx_data in fragment loop\n");
+ pr_debug("rx_data in fragment loop\n");
do {
prcslink = rcs_base(local)
+
@@ -2300,8 +2293,8 @@ static void untranslate(ray_dev_t *local, struct sk_buff *skb, int len)
if (psnap->dsap != 0xaa || psnap->ssap != 0xaa || psnap->ctrl != 3) {
/* not a snap type so leave it alone */
- pr_debug("ray_cs untranslate NOT SNAP %02x %02x %02x\n",
- psnap->dsap, psnap->ssap, psnap->ctrl);
+ pr_debug("untranslate NOT SNAP %02x %02x %02x\n",
+ psnap->dsap, psnap->ssap, psnap->ctrl);
delta = RX_MAC_HEADER_LENGTH - ETH_HLEN;
peth = (struct ethhdr *)(skb->data + delta);
@@ -2309,7 +2302,7 @@ static void untranslate(ray_dev_t *local, struct sk_buff *skb, int len)
} else { /* Its a SNAP */
if (memcmp(psnap->org, org_bridge, 3) == 0) {
/* EtherII and nuke the LLC */
- pr_debug("ray_cs untranslate Bridge encap\n");
+ pr_debug("untranslate Bridge encap\n");
delta = RX_MAC_HEADER_LENGTH
+ sizeof(struct snaphdr_t) - ETH_HLEN;
peth = (struct ethhdr *)(skb->data + delta);
@@ -2318,14 +2311,14 @@ static void untranslate(ray_dev_t *local, struct sk_buff *skb, int len)
switch (ntohs(type)) {
case ETH_P_IPX:
case ETH_P_AARP:
- pr_debug("ray_cs untranslate RFC IPX/AARP\n");
+ pr_debug("untranslate RFC IPX/AARP\n");
delta = RX_MAC_HEADER_LENGTH - ETH_HLEN;
peth = (struct ethhdr *)(skb->data + delta);
peth->h_proto =
htons(len - RX_MAC_HEADER_LENGTH);
break;
default:
- pr_debug("ray_cs untranslate RFC default\n");
+ pr_debug("untranslate RFC default\n");
delta = RX_MAC_HEADER_LENGTH +
sizeof(struct snaphdr_t) - ETH_HLEN;
peth = (struct ethhdr *)(skb->data + delta);
@@ -2341,8 +2334,8 @@ static void untranslate(ray_dev_t *local, struct sk_buff *skb, int len)
}
/* TBD reserve skb_reserve(skb, delta); */
skb_pull(skb, delta);
- pr_debug("untranslate after skb_pull(%d), skb->data = %p\n", delta,
- skb->data);
+ pr_debug("untranslate after skb_pull(%d), skb->data = %p\n",
+ delta, skb->data);
memcpy(peth->h_dest, destaddr, ADDRLEN);
memcpy(peth->h_source, srcaddr, ADDRLEN);
#if 0
@@ -2388,8 +2381,7 @@ static void release_frag_chain(ray_dev_t *local, struct rcs __iomem *prcs)
while (tmp--) {
writeb(CCS_BUFFER_FREE, &prcslink->buffer_status);
if (rcsindex >= (NUMBER_OF_CCS + NUMBER_OF_RCS)) {
- pr_debug("ray_cs interrupt bad rcsindex = 0x%x\n",
- rcsindex);
+ pr_debug("interrupt bad rcsindex = 0x%x\n", rcsindex);
break;
}
prcslink = rcs_base(local) + rcsindex;
@@ -2432,11 +2424,11 @@ static void rx_authenticate(ray_dev_t *local, struct rcs __iomem *prcs,
copy_from_rx_buff(local, buff, pkt_addr, rx_len & 0xff);
/* if we are trying to get authenticated */
if (local->sparm.b4.a_network_type == ADHOC) {
- pr_debug("ray_cs rx_auth var= %02x %02x %02x %02x %02x %02x\n",
- msg->var[0], msg->var[1], msg->var[2], msg->var[3],
- msg->var[4], msg->var[5]);
+ pr_debug("rx_auth var= %02x %02x %02x %02x %02x %02x\n",
+ msg->var[0], msg->var[1], msg->var[2], msg->var[3],
+ msg->var[4], msg->var[5]);
if (msg->var[2] == 1) {
- pr_debug("ray_cs Sending authentication response.\n");
+ pr_debug("Sending authentication response\n");
if (!build_auth_frame
(local, msg->mac.addr_2, OPEN_AUTH_RESPONSE)) {
local->authentication_state = NEED_TO_AUTH;
@@ -2682,7 +2674,7 @@ static int build_auth_frame(ray_dev_t *local, UCHAR *dest, int auth_type)
/* If no tx buffers available, return */
if ((ccsindex = get_free_tx_ccs(local)) < 0) {
- pr_debug("ray_cs send authenticate - No free tx ccs\n");
+ pr_debug("send authenticate - No free tx ccs\n");
return -1;
}
@@ -2714,8 +2706,7 @@ static int build_auth_frame(ray_dev_t *local, UCHAR *dest, int auth_type)
/* Interrupt the firmware to process the command */
if (interrupt_ecf(local, ccsindex)) {
- pr_debug(
- "ray_cs send authentication request failed - ECF not ready for intr\n");
+ pr_debug("send authentication request failed - ECF not ready for intr\n");
writeb(CCS_BUFFER_FREE, &(pccs++)->buffer_status);
return -1;
}
@@ -2804,7 +2795,7 @@ static int __init init_ray_cs(void)
pr_debug("%s\n", rcsid);
rc = pcmcia_register_driver(&ray_driver);
pr_debug("raylink init_module register_pcmcia_driver returns 0x%x\n",
- rc);
+ rc);
#ifdef CONFIG_PROC_FS
proc_mkdir("driver/ray_cs", NULL);
@@ -2823,7 +2814,7 @@ static int __init init_ray_cs(void)
static void __exit exit_ray_cs(void)
{
- pr_debug("ray_cs: cleanup_module\n");
+ pr_debug("cleanup_module\n");
#ifdef CONFIG_PROC_FS
remove_proc_entry("driver/ray_cs/ray_cs", NULL);
--
1.7.8.111.gad25c.dirty
^ permalink raw reply related
* [PATCH wireless-next 18/20] ti: Use pr_<level>
From: Joe Perches @ 2012-06-15 5:53 UTC (permalink / raw)
To: linux-kernel; +Cc: Luciano Coelho, John W. Linville, linux-wireless, netdev
In-Reply-To: <cover.1339739415.git.joe@perches.com>
Use a more current logging style.
Convert printks to pr_<level>.
Coalesce formats, align arguments.
Add newlines to calls, remove from macros.
Remove unnecessary duplicate newlines from calls.
Remove spaces before newlines.
Signed-off-by: Joe Perches <joe@perches.com>
---
drivers/net/wireless/ti/wl1251/acx.c | 151 ++++++++--------
drivers/net/wireless/ti/wl1251/boot.c | 51 +++---
drivers/net/wireless/ti/wl1251/cmd.c | 76 ++++----
drivers/net/wireless/ti/wl1251/init.c | 16 +-
drivers/net/wireless/ti/wl1251/io.c | 27 ++--
drivers/net/wireless/ti/wl1251/main.c | 103 ++++++------
drivers/net/wireless/ti/wl1251/ps.c | 16 +-
drivers/net/wireless/ti/wl1251/rx.c | 8 +-
drivers/net/wireless/ti/wl1251/sdio.c | 20 +-
drivers/net/wireless/ti/wl1251/spi.c | 20 +-
drivers/net/wireless/ti/wl1251/tx.c | 21 +--
drivers/net/wireless/ti/wl1251/wl1251.h | 20 +-
drivers/net/wireless/ti/wl12xx/acx.c | 2 +-
drivers/net/wireless/ti/wl12xx/cmd.c | 18 +-
drivers/net/wireless/ti/wl12xx/main.c | 39 ++--
drivers/net/wireless/ti/wl18xx/acx.c | 12 +-
drivers/net/wireless/ti/wl18xx/main.c | 54 +++---
drivers/net/wireless/ti/wl18xx/tx.c | 10 +-
drivers/net/wireless/ti/wlcore/acx.c | 229 ++++++++++++------------
drivers/net/wireless/ti/wlcore/boot.c | 56 +++---
drivers/net/wireless/ti/wlcore/cmd.c | 164 +++++++++---------
drivers/net/wireless/ti/wlcore/debug.h | 22 ++--
drivers/net/wireless/ti/wlcore/debugfs.c | 42 +++---
drivers/net/wireless/ti/wlcore/event.c | 16 +-
drivers/net/wireless/ti/wlcore/main.c | 281 ++++++++++++++---------------
drivers/net/wireless/ti/wlcore/ps.c | 34 ++--
drivers/net/wireless/ti/wlcore/rx.c | 33 ++--
drivers/net/wireless/ti/wlcore/scan.c | 68 ++++----
drivers/net/wireless/ti/wlcore/sdio.c | 3 +-
drivers/net/wireless/ti/wlcore/testmode.c | 16 +-
drivers/net/wireless/ti/wlcore/tx.c | 23 ++--
31 files changed, 816 insertions(+), 835 deletions(-)
diff --git a/drivers/net/wireless/ti/wl1251/acx.c b/drivers/net/wireless/ti/wl1251/acx.c
index ad87a1a..15f8f6e 100644
--- a/drivers/net/wireless/ti/wl1251/acx.c
+++ b/drivers/net/wireless/ti/wl1251/acx.c
@@ -15,7 +15,7 @@ int wl1251_acx_frame_rates(struct wl1251 *wl, u8 ctrl_rate, u8 ctrl_mod,
struct acx_fw_gen_frame_rates *rates;
int ret;
- wl1251_debug(DEBUG_ACX, "acx frame rates");
+ wl1251_debug(DEBUG_ACX, "acx frame rates\n");
rates = kzalloc(sizeof(*rates), GFP_KERNEL);
if (!rates) {
@@ -31,7 +31,7 @@ int wl1251_acx_frame_rates(struct wl1251 *wl, u8 ctrl_rate, u8 ctrl_mod,
ret = wl1251_cmd_configure(wl, ACX_FW_GEN_FRAME_RATES,
rates, sizeof(*rates));
if (ret < 0) {
- wl1251_error("Failed to set FW rates and modulation");
+ wl1251_err("Failed to set FW rates and modulation\n");
goto out;
}
@@ -46,7 +46,7 @@ int wl1251_acx_station_id(struct wl1251 *wl)
struct acx_dot11_station_id *mac;
int ret, i;
- wl1251_debug(DEBUG_ACX, "acx dot11_station_id");
+ wl1251_debug(DEBUG_ACX, "acx dot11_station_id\n");
mac = kzalloc(sizeof(*mac), GFP_KERNEL);
if (!mac) {
@@ -71,7 +71,7 @@ int wl1251_acx_default_key(struct wl1251 *wl, u8 key_id)
struct acx_dot11_default_key *default_key;
int ret;
- wl1251_debug(DEBUG_ACX, "acx dot11_default_key (%d)", key_id);
+ wl1251_debug(DEBUG_ACX, "acx dot11_default_key (%d)\n", key_id);
default_key = kzalloc(sizeof(*default_key), GFP_KERNEL);
if (!default_key) {
@@ -84,7 +84,7 @@ int wl1251_acx_default_key(struct wl1251 *wl, u8 key_id)
ret = wl1251_cmd_configure(wl, DOT11_DEFAULT_KEY,
default_key, sizeof(*default_key));
if (ret < 0) {
- wl1251_error("Couldn't set default key");
+ wl1251_err("Couldn't set default key\n");
goto out;
}
@@ -101,7 +101,7 @@ int wl1251_acx_wake_up_conditions(struct wl1251 *wl, u8 wake_up_event,
struct acx_wake_up_condition *wake_up;
int ret;
- wl1251_debug(DEBUG_ACX, "acx wake up conditions");
+ wl1251_debug(DEBUG_ACX, "acx wake up conditions\n");
wake_up = kzalloc(sizeof(*wake_up), GFP_KERNEL);
if (!wake_up) {
@@ -115,7 +115,7 @@ int wl1251_acx_wake_up_conditions(struct wl1251 *wl, u8 wake_up_event,
ret = wl1251_cmd_configure(wl, ACX_WAKE_UP_CONDITIONS,
wake_up, sizeof(*wake_up));
if (ret < 0) {
- wl1251_warning("could not set wake up conditions: %d", ret);
+ wl1251_warn("could not set wake up conditions: %d\n", ret);
goto out;
}
@@ -129,7 +129,7 @@ int wl1251_acx_sleep_auth(struct wl1251 *wl, u8 sleep_auth)
struct acx_sleep_auth *auth;
int ret;
- wl1251_debug(DEBUG_ACX, "acx sleep auth");
+ wl1251_debug(DEBUG_ACX, "acx sleep auth\n");
auth = kzalloc(sizeof(*auth), GFP_KERNEL);
if (!auth) {
@@ -151,7 +151,7 @@ int wl1251_acx_fw_version(struct wl1251 *wl, char *buf, size_t len)
struct acx_revision *rev;
int ret;
- wl1251_debug(DEBUG_ACX, "acx fw rev");
+ wl1251_debug(DEBUG_ACX, "acx fw rev\n");
rev = kzalloc(sizeof(*rev), GFP_KERNEL);
if (!rev) {
@@ -161,7 +161,7 @@ int wl1251_acx_fw_version(struct wl1251 *wl, char *buf, size_t len)
ret = wl1251_cmd_interrogate(wl, ACX_FW_REV, rev, sizeof(*rev));
if (ret < 0) {
- wl1251_warning("ACX_FW_REV interrogate failed");
+ wl1251_warn("ACX_FW_REV interrogate failed\n");
goto out;
}
@@ -185,7 +185,7 @@ int wl1251_acx_tx_power(struct wl1251 *wl, int power)
struct acx_current_tx_power *acx;
int ret;
- wl1251_debug(DEBUG_ACX, "acx dot11_cur_tx_pwr");
+ wl1251_debug(DEBUG_ACX, "acx dot11_cur_tx_pwr\n");
if (power < 0 || power > 25)
return -EINVAL;
@@ -200,7 +200,7 @@ int wl1251_acx_tx_power(struct wl1251 *wl, int power)
ret = wl1251_cmd_configure(wl, DOT11_CUR_TX_PWR, acx, sizeof(*acx));
if (ret < 0) {
- wl1251_warning("configure of tx power failed: %d", ret);
+ wl1251_warn("configure of tx power failed: %d\n", ret);
goto out;
}
@@ -214,7 +214,7 @@ int wl1251_acx_feature_cfg(struct wl1251 *wl)
struct acx_feature_config *feature;
int ret;
- wl1251_debug(DEBUG_ACX, "acx feature cfg");
+ wl1251_debug(DEBUG_ACX, "acx feature cfg\n");
feature = kzalloc(sizeof(*feature), GFP_KERNEL);
if (!feature) {
@@ -229,7 +229,7 @@ int wl1251_acx_feature_cfg(struct wl1251 *wl)
ret = wl1251_cmd_configure(wl, ACX_FEATURE_CFG,
feature, sizeof(*feature));
if (ret < 0) {
- wl1251_error("Couldn't set HW encryption");
+ wl1251_err("Couldn't set HW encryption\n");
goto out;
}
@@ -243,7 +243,7 @@ int wl1251_acx_mem_map(struct wl1251 *wl, struct acx_header *mem_map,
{
int ret;
- wl1251_debug(DEBUG_ACX, "acx mem map");
+ wl1251_debug(DEBUG_ACX, "acx mem map\n");
ret = wl1251_cmd_interrogate(wl, ACX_MEM_MAP, mem_map, len);
if (ret < 0)
@@ -258,7 +258,7 @@ int wl1251_acx_data_path_params(struct wl1251 *wl,
struct acx_data_path_params *params;
int ret;
- wl1251_debug(DEBUG_ACX, "acx data path params");
+ wl1251_debug(DEBUG_ACX, "acx data path params\n");
params = kzalloc(sizeof(*params), GFP_KERNEL);
if (!params) {
@@ -288,10 +288,10 @@ int wl1251_acx_data_path_params(struct wl1251 *wl,
resp, sizeof(*resp));
if (ret < 0) {
- wl1251_warning("failed to read data path parameters: %d", ret);
+ wl1251_warn("failed to read data path parameters: %d\n", ret);
goto out;
} else if (resp->header.cmd.status != CMD_STATUS_SUCCESS) {
- wl1251_warning("data path parameter acx status failed");
+ wl1251_warn("data path parameter acx status failed\n");
ret = -EIO;
goto out;
}
@@ -306,7 +306,7 @@ int wl1251_acx_rx_msdu_life_time(struct wl1251 *wl, u32 life_time)
struct acx_rx_msdu_lifetime *acx;
int ret;
- wl1251_debug(DEBUG_ACX, "acx rx msdu life time");
+ wl1251_debug(DEBUG_ACX, "acx rx msdu life time\n");
acx = kzalloc(sizeof(*acx), GFP_KERNEL);
if (!acx) {
@@ -318,7 +318,7 @@ int wl1251_acx_rx_msdu_life_time(struct wl1251 *wl, u32 life_time)
ret = wl1251_cmd_configure(wl, DOT11_RX_MSDU_LIFE_TIME,
acx, sizeof(*acx));
if (ret < 0) {
- wl1251_warning("failed to set rx msdu life time: %d", ret);
+ wl1251_warn("failed to set rx msdu life time: %d\n", ret);
goto out;
}
@@ -332,7 +332,7 @@ int wl1251_acx_rx_config(struct wl1251 *wl, u32 config, u32 filter)
struct acx_rx_config *rx_config;
int ret;
- wl1251_debug(DEBUG_ACX, "acx rx config");
+ wl1251_debug(DEBUG_ACX, "acx rx config\n");
rx_config = kzalloc(sizeof(*rx_config), GFP_KERNEL);
if (!rx_config) {
@@ -346,7 +346,7 @@ int wl1251_acx_rx_config(struct wl1251 *wl, u32 config, u32 filter)
ret = wl1251_cmd_configure(wl, ACX_RX_CFG,
rx_config, sizeof(*rx_config));
if (ret < 0) {
- wl1251_warning("failed to set rx config: %d", ret);
+ wl1251_warn("failed to set rx config: %d\n", ret);
goto out;
}
@@ -360,7 +360,7 @@ int wl1251_acx_pd_threshold(struct wl1251 *wl)
struct acx_packet_detection *pd;
int ret;
- wl1251_debug(DEBUG_ACX, "acx data pd threshold");
+ wl1251_debug(DEBUG_ACX, "acx data pd threshold\n");
pd = kzalloc(sizeof(*pd), GFP_KERNEL);
if (!pd) {
@@ -372,7 +372,7 @@ int wl1251_acx_pd_threshold(struct wl1251 *wl)
ret = wl1251_cmd_configure(wl, ACX_PD_THRESHOLD, pd, sizeof(*pd));
if (ret < 0) {
- wl1251_warning("failed to set pd threshold: %d", ret);
+ wl1251_warn("failed to set pd threshold: %d\n", ret);
goto out;
}
@@ -386,7 +386,7 @@ int wl1251_acx_slot(struct wl1251 *wl, enum acx_slot_type slot_time)
struct acx_slot *slot;
int ret;
- wl1251_debug(DEBUG_ACX, "acx slot");
+ wl1251_debug(DEBUG_ACX, "acx slot\n");
slot = kzalloc(sizeof(*slot), GFP_KERNEL);
if (!slot) {
@@ -399,7 +399,7 @@ int wl1251_acx_slot(struct wl1251 *wl, enum acx_slot_type slot_time)
ret = wl1251_cmd_configure(wl, ACX_SLOT, slot, sizeof(*slot));
if (ret < 0) {
- wl1251_warning("failed to set slot time: %d", ret);
+ wl1251_warn("failed to set slot time: %d\n", ret);
goto out;
}
@@ -413,7 +413,7 @@ int wl1251_acx_group_address_tbl(struct wl1251 *wl)
struct acx_dot11_grp_addr_tbl *acx;
int ret;
- wl1251_debug(DEBUG_ACX, "acx group address tbl");
+ wl1251_debug(DEBUG_ACX, "acx group address tbl\n");
acx = kzalloc(sizeof(*acx), GFP_KERNEL);
if (!acx) {
@@ -429,7 +429,7 @@ int wl1251_acx_group_address_tbl(struct wl1251 *wl)
ret = wl1251_cmd_configure(wl, DOT11_GROUP_ADDRESS_TBL,
acx, sizeof(*acx));
if (ret < 0) {
- wl1251_warning("failed to set group addr table: %d", ret);
+ wl1251_warn("failed to set group addr table: %d\n", ret);
goto out;
}
@@ -449,7 +449,7 @@ int wl1251_acx_service_period_timeout(struct wl1251 *wl)
goto out;
}
- wl1251_debug(DEBUG_ACX, "acx service period timeout");
+ wl1251_debug(DEBUG_ACX, "acx service period timeout\n");
rx_timeout->ps_poll_timeout = RX_TIMEOUT_PS_POLL_DEF;
rx_timeout->upsd_timeout = RX_TIMEOUT_UPSD_DEF;
@@ -457,8 +457,8 @@ int wl1251_acx_service_period_timeout(struct wl1251 *wl)
ret = wl1251_cmd_configure(wl, ACX_SERVICE_PERIOD_TIMEOUT,
rx_timeout, sizeof(*rx_timeout));
if (ret < 0) {
- wl1251_warning("failed to set service period timeout: %d",
- ret);
+ wl1251_warn("failed to set service period timeout: %d\n",
+ ret);
goto out;
}
@@ -472,7 +472,7 @@ int wl1251_acx_rts_threshold(struct wl1251 *wl, u16 rts_threshold)
struct acx_rts_threshold *rts;
int ret;
- wl1251_debug(DEBUG_ACX, "acx rts threshold");
+ wl1251_debug(DEBUG_ACX, "acx rts threshold\n");
rts = kzalloc(sizeof(*rts), GFP_KERNEL);
if (!rts) {
@@ -484,7 +484,7 @@ int wl1251_acx_rts_threshold(struct wl1251 *wl, u16 rts_threshold)
ret = wl1251_cmd_configure(wl, DOT11_RTS_THRESHOLD, rts, sizeof(*rts));
if (ret < 0) {
- wl1251_warning("failed to set rts threshold: %d", ret);
+ wl1251_warn("failed to set rts threshold: %d\n", ret);
goto out;
}
@@ -498,7 +498,7 @@ int wl1251_acx_beacon_filter_opt(struct wl1251 *wl, bool enable_filter)
struct acx_beacon_filter_option *beacon_filter;
int ret;
- wl1251_debug(DEBUG_ACX, "acx beacon filter opt");
+ wl1251_debug(DEBUG_ACX, "acx beacon filter opt\n");
beacon_filter = kzalloc(sizeof(*beacon_filter), GFP_KERNEL);
if (!beacon_filter) {
@@ -512,7 +512,7 @@ int wl1251_acx_beacon_filter_opt(struct wl1251 *wl, bool enable_filter)
ret = wl1251_cmd_configure(wl, ACX_BEACON_FILTER_OPT,
beacon_filter, sizeof(*beacon_filter));
if (ret < 0) {
- wl1251_warning("failed to set beacon filter opt: %d", ret);
+ wl1251_warn("failed to set beacon filter opt: %d\n", ret);
goto out;
}
@@ -527,7 +527,7 @@ int wl1251_acx_beacon_filter_table(struct wl1251 *wl)
int idx = 0;
int ret;
- wl1251_debug(DEBUG_ACX, "acx beacon filter table");
+ wl1251_debug(DEBUG_ACX, "acx beacon filter table\n");
ie_table = kzalloc(sizeof(*ie_table), GFP_KERNEL);
if (!ie_table) {
@@ -543,7 +543,7 @@ int wl1251_acx_beacon_filter_table(struct wl1251 *wl)
ret = wl1251_cmd_configure(wl, ACX_BEACON_FILTER_TABLE,
ie_table, sizeof(*ie_table));
if (ret < 0) {
- wl1251_warning("failed to set beacon filter table: %d", ret);
+ wl1251_warn("failed to set beacon filter table: %d\n", ret);
goto out;
}
@@ -557,7 +557,7 @@ int wl1251_acx_conn_monit_params(struct wl1251 *wl)
struct acx_conn_monit_params *acx;
int ret;
- wl1251_debug(DEBUG_ACX, "acx connection monitor parameters");
+ wl1251_debug(DEBUG_ACX, "acx connection monitor parameters\n");
acx = kzalloc(sizeof(*acx), GFP_KERNEL);
if (!acx) {
@@ -571,8 +571,8 @@ int wl1251_acx_conn_monit_params(struct wl1251 *wl)
ret = wl1251_cmd_configure(wl, ACX_CONN_MONIT_PARAMS,
acx, sizeof(*acx));
if (ret < 0) {
- wl1251_warning("failed to set connection monitor "
- "parameters: %d", ret);
+ wl1251_warn("failed to set connection monitor parameters: %d\n",
+ ret);
goto out;
}
@@ -586,7 +586,7 @@ int wl1251_acx_sg_enable(struct wl1251 *wl)
struct acx_bt_wlan_coex *pta;
int ret;
- wl1251_debug(DEBUG_ACX, "acx sg enable");
+ wl1251_debug(DEBUG_ACX, "acx sg enable\n");
pta = kzalloc(sizeof(*pta), GFP_KERNEL);
if (!pta) {
@@ -598,7 +598,7 @@ int wl1251_acx_sg_enable(struct wl1251 *wl)
ret = wl1251_cmd_configure(wl, ACX_SG_ENABLE, pta, sizeof(*pta));
if (ret < 0) {
- wl1251_warning("failed to set softgemini enable: %d", ret);
+ wl1251_warn("failed to set softgemini enable: %d\n", ret);
goto out;
}
@@ -612,7 +612,7 @@ int wl1251_acx_sg_cfg(struct wl1251 *wl)
struct acx_bt_wlan_coex_param *param;
int ret;
- wl1251_debug(DEBUG_ACX, "acx sg cfg");
+ wl1251_debug(DEBUG_ACX, "acx sg cfg\n");
param = kzalloc(sizeof(*param), GFP_KERNEL);
if (!param) {
@@ -652,7 +652,7 @@ int wl1251_acx_sg_cfg(struct wl1251 *wl)
ret = wl1251_cmd_configure(wl, ACX_SG_CFG, param, sizeof(*param));
if (ret < 0) {
- wl1251_warning("failed to set sg config: %d", ret);
+ wl1251_warn("failed to set sg config: %d\n", ret);
goto out;
}
@@ -666,7 +666,7 @@ int wl1251_acx_cca_threshold(struct wl1251 *wl)
struct acx_energy_detection *detection;
int ret;
- wl1251_debug(DEBUG_ACX, "acx cca threshold");
+ wl1251_debug(DEBUG_ACX, "acx cca threshold\n");
detection = kzalloc(sizeof(*detection), GFP_KERNEL);
if (!detection) {
@@ -680,7 +680,7 @@ int wl1251_acx_cca_threshold(struct wl1251 *wl)
ret = wl1251_cmd_configure(wl, ACX_CCA_THRESHOLD,
detection, sizeof(*detection));
if (ret < 0)
- wl1251_warning("failed to set cca threshold: %d", ret);
+ wl1251_warn("failed to set cca threshold: %d\n", ret);
out:
kfree(detection);
@@ -692,7 +692,7 @@ int wl1251_acx_bcn_dtim_options(struct wl1251 *wl)
struct acx_beacon_broadcast *bb;
int ret;
- wl1251_debug(DEBUG_ACX, "acx bcn dtim options");
+ wl1251_debug(DEBUG_ACX, "acx bcn dtim options\n");
bb = kzalloc(sizeof(*bb), GFP_KERNEL);
if (!bb) {
@@ -707,7 +707,7 @@ int wl1251_acx_bcn_dtim_options(struct wl1251 *wl)
ret = wl1251_cmd_configure(wl, ACX_BCN_DTIM_OPTIONS, bb, sizeof(*bb));
if (ret < 0) {
- wl1251_warning("failed to set rx config: %d", ret);
+ wl1251_warn("failed to set rx config: %d\n", ret);
goto out;
}
@@ -721,7 +721,7 @@ int wl1251_acx_aid(struct wl1251 *wl, u16 aid)
struct acx_aid *acx_aid;
int ret;
- wl1251_debug(DEBUG_ACX, "acx aid");
+ wl1251_debug(DEBUG_ACX, "acx aid\n");
acx_aid = kzalloc(sizeof(*acx_aid), GFP_KERNEL);
if (!acx_aid) {
@@ -733,7 +733,7 @@ int wl1251_acx_aid(struct wl1251 *wl, u16 aid)
ret = wl1251_cmd_configure(wl, ACX_AID, acx_aid, sizeof(*acx_aid));
if (ret < 0) {
- wl1251_warning("failed to set aid: %d", ret);
+ wl1251_warn("failed to set aid: %d\n", ret);
goto out;
}
@@ -747,7 +747,7 @@ int wl1251_acx_event_mbox_mask(struct wl1251 *wl, u32 event_mask)
struct acx_event_mask *mask;
int ret;
- wl1251_debug(DEBUG_ACX, "acx event mbox mask");
+ wl1251_debug(DEBUG_ACX, "acx event mbox mask\n");
mask = kzalloc(sizeof(*mask), GFP_KERNEL);
if (!mask) {
@@ -763,7 +763,7 @@ int wl1251_acx_event_mbox_mask(struct wl1251 *wl, u32 event_mask)
ret = wl1251_cmd_configure(wl, ACX_EVENT_MBOX_MASK,
mask, sizeof(*mask));
if (ret < 0) {
- wl1251_warning("failed to set acx_event_mbox_mask: %d", ret);
+ wl1251_warn("failed to set acx_event_mbox_mask: %d\n", ret);
goto out;
}
@@ -778,7 +778,7 @@ int wl1251_acx_low_rssi(struct wl1251 *wl, s8 threshold, u8 weight,
struct acx_low_rssi *rssi;
int ret;
- wl1251_debug(DEBUG_ACX, "acx low rssi");
+ wl1251_debug(DEBUG_ACX, "acx low rssi\n");
rssi = kzalloc(sizeof(*rssi), GFP_KERNEL);
if (!rssi)
@@ -791,7 +791,7 @@ int wl1251_acx_low_rssi(struct wl1251 *wl, s8 threshold, u8 weight,
ret = wl1251_cmd_configure(wl, ACX_LOW_RSSI, rssi, sizeof(*rssi));
if (ret < 0)
- wl1251_warning("failed to set low rssi threshold: %d", ret);
+ wl1251_warn("failed to set low rssi threshold: %d\n", ret);
kfree(rssi);
return ret;
@@ -802,7 +802,7 @@ int wl1251_acx_set_preamble(struct wl1251 *wl, enum acx_preamble_type preamble)
struct acx_preamble *acx;
int ret;
- wl1251_debug(DEBUG_ACX, "acx_set_preamble");
+ wl1251_debug(DEBUG_ACX, "acx_set_preamble\n");
acx = kzalloc(sizeof(*acx), GFP_KERNEL);
if (!acx) {
@@ -814,7 +814,7 @@ int wl1251_acx_set_preamble(struct wl1251 *wl, enum acx_preamble_type preamble)
ret = wl1251_cmd_configure(wl, ACX_PREAMBLE_TYPE, acx, sizeof(*acx));
if (ret < 0) {
- wl1251_warning("Setting of preamble failed: %d", ret);
+ wl1251_warn("Setting of preamble failed: %d\n", ret);
goto out;
}
@@ -829,7 +829,7 @@ int wl1251_acx_cts_protect(struct wl1251 *wl,
struct acx_ctsprotect *acx;
int ret;
- wl1251_debug(DEBUG_ACX, "acx_set_ctsprotect");
+ wl1251_debug(DEBUG_ACX, "acx_set_ctsprotect\n");
acx = kzalloc(sizeof(*acx), GFP_KERNEL);
if (!acx) {
@@ -841,7 +841,7 @@ int wl1251_acx_cts_protect(struct wl1251 *wl,
ret = wl1251_cmd_configure(wl, ACX_CTS_PROTECTION, acx, sizeof(*acx));
if (ret < 0) {
- wl1251_warning("Setting of ctsprotect failed: %d", ret);
+ wl1251_warn("Setting of ctsprotect failed: %d\n", ret);
goto out;
}
@@ -864,7 +864,7 @@ int wl1251_acx_tsf_info(struct wl1251 *wl, u64 *mactime)
ret = wl1251_cmd_interrogate(wl, ACX_TSF_INFO,
tsf_info, sizeof(*tsf_info));
if (ret < 0) {
- wl1251_warning("ACX_FW_REV interrogate failed");
+ wl1251_warn("ACX_FW_REV interrogate failed\n");
goto out;
}
@@ -880,12 +880,12 @@ int wl1251_acx_statistics(struct wl1251 *wl, struct acx_statistics *stats)
{
int ret;
- wl1251_debug(DEBUG_ACX, "acx statistics");
+ wl1251_debug(DEBUG_ACX, "acx statistics\n");
ret = wl1251_cmd_interrogate(wl, ACX_STATISTICS, stats,
sizeof(*stats));
if (ret < 0) {
- wl1251_warning("acx statistics failed: %d", ret);
+ wl1251_warn("acx statistics failed: %d\n", ret);
return -ENOMEM;
}
@@ -897,7 +897,7 @@ int wl1251_acx_rate_policies(struct wl1251 *wl)
struct acx_rate_policy *acx;
int ret = 0;
- wl1251_debug(DEBUG_ACX, "acx rate policies");
+ wl1251_debug(DEBUG_ACX, "acx rate policies\n");
acx = kzalloc(sizeof(*acx), GFP_KERNEL);
@@ -915,7 +915,7 @@ int wl1251_acx_rate_policies(struct wl1251 *wl)
ret = wl1251_cmd_configure(wl, ACX_RATE_POLICY, acx, sizeof(*acx));
if (ret < 0) {
- wl1251_warning("Setting of rate policies failed: %d", ret);
+ wl1251_warn("Setting of rate policies failed: %d\n", ret);
goto out;
}
@@ -929,7 +929,7 @@ int wl1251_acx_mem_cfg(struct wl1251 *wl)
struct wl1251_acx_config_memory *mem_conf;
int ret, i;
- wl1251_debug(DEBUG_ACX, "acx mem cfg");
+ wl1251_debug(DEBUG_ACX, "acx mem cfg\n");
mem_conf = kzalloc(sizeof(*mem_conf), GFP_KERNEL);
if (!mem_conf) {
@@ -962,7 +962,7 @@ int wl1251_acx_mem_cfg(struct wl1251 *wl)
ret = wl1251_cmd_configure(wl, ACX_MEM_CFG, mem_conf,
sizeof(*mem_conf));
if (ret < 0) {
- wl1251_warning("wl1251 mem config failed: %d", ret);
+ wl1251_warn("wl1251 mem config failed: %d\n", ret);
goto out;
}
@@ -976,7 +976,7 @@ int wl1251_acx_wr_tbtt_and_dtim(struct wl1251 *wl, u16 tbtt, u8 dtim)
struct wl1251_acx_wr_tbtt_and_dtim *acx;
int ret;
- wl1251_debug(DEBUG_ACX, "acx tbtt and dtim");
+ wl1251_debug(DEBUG_ACX, "acx tbtt and dtim\n");
acx = kzalloc(sizeof(*acx), GFP_KERNEL);
if (!acx) {
@@ -990,7 +990,7 @@ int wl1251_acx_wr_tbtt_and_dtim(struct wl1251 *wl, u16 tbtt, u8 dtim)
ret = wl1251_cmd_configure(wl, ACX_WR_TBTT_AND_DTIM,
acx, sizeof(*acx));
if (ret < 0) {
- wl1251_warning("failed to set tbtt and dtim: %d", ret);
+ wl1251_warn("failed to set tbtt and dtim: %d\n", ret);
goto out;
}
@@ -1005,7 +1005,7 @@ int wl1251_acx_bet_enable(struct wl1251 *wl, enum wl1251_acx_bet_mode mode,
struct wl1251_acx_bet_enable *acx;
int ret;
- wl1251_debug(DEBUG_ACX, "acx bet enable");
+ wl1251_debug(DEBUG_ACX, "acx bet enable\n");
acx = kzalloc(sizeof(*acx), GFP_KERNEL);
if (!acx) {
@@ -1018,7 +1018,7 @@ int wl1251_acx_bet_enable(struct wl1251 *wl, enum wl1251_acx_bet_mode mode,
ret = wl1251_cmd_configure(wl, ACX_BET_ENABLE, acx, sizeof(*acx));
if (ret < 0) {
- wl1251_warning("wl1251 acx bet enable failed: %d", ret);
+ wl1251_warn("wl1251 acx bet enable failed: %d\n", ret);
goto out;
}
@@ -1033,8 +1033,8 @@ int wl1251_acx_ac_cfg(struct wl1251 *wl, u8 ac, u8 cw_min, u16 cw_max,
struct wl1251_acx_ac_cfg *acx;
int ret = 0;
- wl1251_debug(DEBUG_ACX, "acx ac cfg %d cw_ming %d cw_max %d "
- "aifs %d txop %d", ac, cw_min, cw_max, aifs, txop);
+ wl1251_debug(DEBUG_ACX, "acx ac cfg %d cw_ming %d cw_max %d aifs %d txop %d\n",
+ ac, cw_min, cw_max, aifs, txop);
acx = kzalloc(sizeof(*acx), GFP_KERNEL);
@@ -1051,7 +1051,7 @@ int wl1251_acx_ac_cfg(struct wl1251 *wl, u8 ac, u8 cw_min, u16 cw_max,
ret = wl1251_cmd_configure(wl, ACX_AC_CFG, acx, sizeof(*acx));
if (ret < 0) {
- wl1251_warning("acx ac cfg failed: %d", ret);
+ wl1251_warn("acx ac cfg failed: %d\n", ret);
goto out;
}
@@ -1068,9 +1068,8 @@ int wl1251_acx_tid_cfg(struct wl1251 *wl, u8 queue,
struct wl1251_acx_tid_cfg *acx;
int ret = 0;
- wl1251_debug(DEBUG_ACX, "acx tid cfg %d type %d tsid %d "
- "ps_scheme %d ack_policy %d", queue, type, tsid,
- ps_scheme, ack_policy);
+ wl1251_debug(DEBUG_ACX, "acx tid cfg %d type %d tsid %d ps_scheme %d ack_policy %d\n",
+ queue, type, tsid, ps_scheme, ack_policy);
acx = kzalloc(sizeof(*acx), GFP_KERNEL);
@@ -1087,7 +1086,7 @@ int wl1251_acx_tid_cfg(struct wl1251 *wl, u8 queue,
ret = wl1251_cmd_configure(wl, ACX_TID_CFG, acx, sizeof(*acx));
if (ret < 0) {
- wl1251_warning("acx tid cfg failed: %d", ret);
+ wl1251_warn("acx tid cfg failed: %d\n", ret);
goto out;
}
diff --git a/drivers/net/wireless/ti/wl1251/boot.c b/drivers/net/wireless/ti/wl1251/boot.c
index a2e5241..c30410f 100644
--- a/drivers/net/wireless/ti/wl1251/boot.c
+++ b/drivers/net/wireless/ti/wl1251/boot.c
@@ -46,14 +46,15 @@ int wl1251_boot_soft_reset(struct wl1251 *wl)
timeout = jiffies + usecs_to_jiffies(SOFT_RESET_MAX_TIME);
while (1) {
boot_data = wl1251_reg_read32(wl, ACX_REG_SLV_SOFT_RESET);
- wl1251_debug(DEBUG_BOOT, "soft reset bootdata 0x%x", boot_data);
+ wl1251_debug(DEBUG_BOOT, "soft reset bootdata 0x%x\n",
+ boot_data);
if ((boot_data & ACX_SLV_SOFT_RESET_BIT) == 0)
break;
if (time_after(jiffies, timeout)) {
/* 1.2 check pWhalBus->uSelfClearTime if the
* timeout was reached */
- wl1251_error("soft reset timeout");
+ wl1251_err("soft reset timeout\n");
return -1;
}
@@ -92,15 +93,15 @@ int wl1251_boot_init_seq(struct wl1251 *wl)
/* read NVS params */
scr_pad6 = wl1251_reg_read32(wl, SCR_PAD6);
- wl1251_debug(DEBUG_BOOT, "scr_pad6 0x%x", scr_pad6);
+ wl1251_debug(DEBUG_BOOT, "scr_pad6 0x%x\n", scr_pad6);
/* read ELP_CMD */
elp_cmd = wl1251_reg_read32(wl, ELP_CMD);
- wl1251_debug(DEBUG_BOOT, "elp_cmd 0x%x", elp_cmd);
+ wl1251_debug(DEBUG_BOOT, "elp_cmd 0x%x\n", elp_cmd);
/* set the BB calibration time to be 300 usec (PLL_CAL_TIME) */
ref_freq = scr_pad6 & 0x000000FF;
- wl1251_debug(DEBUG_BOOT, "ref_freq 0x%x", ref_freq);
+ wl1251_debug(DEBUG_BOOT, "ref_freq 0x%x\n", ref_freq);
wl1251_reg_write32(wl, PLL_CAL_TIME, 0x9);
@@ -228,10 +229,11 @@ int wl1251_boot_run_firmware(struct wl1251 *wl)
chip_id = wl1251_reg_read32(wl, CHIP_ID_B);
- wl1251_debug(DEBUG_BOOT, "chip id after firmware boot: 0x%x", chip_id);
+ wl1251_debug(DEBUG_BOOT, "chip id after firmware boot: 0x%x\n",
+ chip_id);
if (chip_id != wl->chip_id) {
- wl1251_error("chip id doesn't match after firmware boot");
+ wl1251_err("chip id doesn't match after firmware boot\n");
return -EIO;
}
@@ -242,8 +244,7 @@ int wl1251_boot_run_firmware(struct wl1251 *wl)
acx_intr = wl1251_reg_read32(wl, ACX_REG_INTERRUPT_NO_CLEAR);
if (acx_intr == 0xffffffff) {
- wl1251_error("error reading hardware complete "
- "init indication");
+ wl1251_err("error reading hardware complete init indication\n");
return -EIO;
}
/* check that ACX_INTR_INIT_COMPLETE is enabled */
@@ -255,8 +256,7 @@ int wl1251_boot_run_firmware(struct wl1251 *wl)
}
if (loop > INIT_LOOP) {
- wl1251_error("timeout waiting for the hardware to "
- "complete initialization");
+ wl1251_err("timeout waiting for the hardware to complete initialization\n");
return -EIO;
}
@@ -272,7 +272,7 @@ int wl1251_boot_run_firmware(struct wl1251 *wl)
WL1251_PART_WORK_REG_START,
WL1251_PART_WORK_REG_SIZE);
- wl1251_debug(DEBUG_MAILBOX, "cmd_box_addr 0x%x event_box_addr 0x%x",
+ wl1251_debug(DEBUG_MAILBOX, "cmd_box_addr 0x%x event_box_addr 0x%x\n",
wl->cmd_box_addr, wl->event_box_addr);
wl1251_acx_fw_version(wl, wl->fw_ver, sizeof(wl->fw_ver));
@@ -303,7 +303,7 @@ int wl1251_boot_run_firmware(struct wl1251 *wl)
ret = wl1251_event_unmask(wl);
if (ret < 0) {
- wl1251_error("EVENT mask setting failed");
+ wl1251_err("EVENT mask setting failed\n");
return ret;
}
@@ -321,24 +321,24 @@ static int wl1251_boot_upload_firmware(struct wl1251 *wl)
/* whal_FwCtrl_LoadFwImageSm() */
- wl1251_debug(DEBUG_BOOT, "chip id before fw upload: 0x%x",
+ wl1251_debug(DEBUG_BOOT, "chip id before fw upload: 0x%x\n",
wl1251_reg_read32(wl, CHIP_ID_B));
/* 10.0 check firmware length and set partition */
fw_data_len = (wl->fw[4] << 24) | (wl->fw[5] << 16) |
(wl->fw[6] << 8) | (wl->fw[7]);
- wl1251_debug(DEBUG_BOOT, "fw_data_len %zu chunk_size %d", fw_data_len,
- CHUNK_SIZE);
+ wl1251_debug(DEBUG_BOOT, "fw_data_len %zu chunk_size %d\n", fw_data_len,
+ CHUNK_SIZE);
if ((fw_data_len % 4) != 0) {
- wl1251_error("firmware length not multiple of four");
+ wl1251_err("firmware length not multiple of four\n");
return -EIO;
}
buf = kmalloc(CHUNK_SIZE, GFP_KERNEL);
if (!buf) {
- wl1251_error("allocation for firmware upload chunk failed");
+ wl1251_err("allocation for firmware upload chunk failed\n");
return -ENOMEM;
}
@@ -370,7 +370,7 @@ static int wl1251_boot_upload_firmware(struct wl1251 *wl)
/* 10.3 upload the chunk */
addr = WL1251_PART_DOWN_MEM_START + chunk_num * CHUNK_SIZE;
p = wl->fw + FW_HDR_SIZE + chunk_num * CHUNK_SIZE;
- wl1251_debug(DEBUG_BOOT, "uploading fw chunk 0x%p to 0x%x",
+ wl1251_debug(DEBUG_BOOT, "uploading fw chunk 0x%p to 0x%x\n",
p, addr);
/* need to copy the chunk for dma */
@@ -389,7 +389,7 @@ static int wl1251_boot_upload_firmware(struct wl1251 *wl)
len = fw_data_len % CHUNK_SIZE;
memcpy(buf, p, len);
- wl1251_debug(DEBUG_BOOT, "uploading fw last chunk (%zu B) 0x%p to 0x%x",
+ wl1251_debug(DEBUG_BOOT, "uploading fw last chunk (%zu B) 0x%p to 0x%x\n",
len, p, addr);
wl1251_mem_write(wl, addr, buf, len);
@@ -435,7 +435,7 @@ static int wl1251_boot_upload_nvs(struct wl1251 *wl)
| (nvs_ptr[2] << 16) | (nvs_ptr[3] << 24));
wl1251_debug(DEBUG_BOOT,
- "nvs burst write 0x%x: 0x%x",
+ "nvs burst write 0x%x: 0x%x\n",
dest_addr, val);
wl1251_mem_write32(wl, dest_addr, val);
@@ -465,7 +465,7 @@ static int wl1251_boot_upload_nvs(struct wl1251 *wl)
| (nvs_ptr[2] << 16) | (nvs_ptr[3] << 24));
wl1251_debug(DEBUG_BOOT,
- "nvs write table 0x%x: 0x%x",
+ "nvs write table 0x%x: 0x%x\n",
nvs_start, val);
wl1251_mem_write32(wl, nvs_start, val);
@@ -517,8 +517,7 @@ int wl1251_boot(struct wl1251 *wl)
wl->boot_attr.minor = (tmp & 0x00FF0000) >> 16;
minor_minor_e2_ver = (tmp & 0xFF000000) >> 24;
- wl1251_debug(DEBUG_BOOT, "radioType 0x%x majorE2Ver 0x%x "
- "minorE2Ver 0x%x minor_minor_e2_ver 0x%x",
+ wl1251_debug(DEBUG_BOOT, "radioType 0x%x majorE2Ver 0x%x minorE2Ver 0x%x minor_minor_e2_ver 0x%x\n",
wl->boot_attr.radio_type, wl->boot_attr.major,
wl->boot_attr.minor, minor_minor_e2_ver);
@@ -529,13 +528,13 @@ int wl1251_boot(struct wl1251 *wl)
/* 9. NVS processing done */
boot_data = wl1251_reg_read32(wl, ACX_REG_ECPU_CONTROL);
- wl1251_debug(DEBUG_BOOT, "halt boot_data 0x%x", boot_data);
+ wl1251_debug(DEBUG_BOOT, "halt boot_data 0x%x\n", boot_data);
/* 10. check that ECPU_CONTROL_HALT bits are set in
* pWhalBus->uBootData and start uploading firmware
*/
if ((boot_data & ECPU_CONTROL_HALT) == 0) {
- wl1251_error("boot failed, ECPU_CONTROL_HALT not set");
+ wl1251_err("boot failed, ECPU_CONTROL_HALT not set\n");
ret = -EIO;
goto out;
}
diff --git a/drivers/net/wireless/ti/wl1251/cmd.c b/drivers/net/wireless/ti/wl1251/cmd.c
index d14d69d..a6a3e6e 100644
--- a/drivers/net/wireless/ti/wl1251/cmd.c
+++ b/drivers/net/wireless/ti/wl1251/cmd.c
@@ -40,7 +40,7 @@ int wl1251_cmd_send(struct wl1251 *wl, u16 id, void *buf, size_t len)
intr = wl1251_reg_read32(wl, ACX_REG_INTERRUPT_NO_CLEAR);
while (!(intr & WL1251_ACX_INTR_CMD_COMPLETE)) {
if (time_after(jiffies, timeout)) {
- wl1251_error("command complete timeout");
+ wl1251_err("command complete timeout\n");
ret = -ETIMEDOUT;
goto out;
}
@@ -69,12 +69,12 @@ int wl1251_cmd_test(struct wl1251 *wl, void *buf, size_t buf_len, u8 answer)
{
int ret;
- wl1251_debug(DEBUG_CMD, "cmd test");
+ wl1251_debug(DEBUG_CMD, "cmd test\n");
ret = wl1251_cmd_send(wl, CMD_TEST, buf, buf_len);
if (ret < 0) {
- wl1251_warning("TEST command failed");
+ wl1251_warn("TEST command failed\n");
return ret;
}
@@ -91,8 +91,8 @@ int wl1251_cmd_test(struct wl1251 *wl, void *buf, size_t buf_len, u8 answer)
cmd_answer = buf;
if (cmd_answer->header.status != CMD_STATUS_SUCCESS)
- wl1251_error("TEST command answer error: %d",
- cmd_answer->header.status);
+ wl1251_err("TEST command answer error: %d\n",
+ cmd_answer->header.status);
}
return 0;
@@ -111,7 +111,7 @@ int wl1251_cmd_interrogate(struct wl1251 *wl, u16 id, void *buf, size_t len)
struct acx_header *acx = buf;
int ret;
- wl1251_debug(DEBUG_CMD, "cmd interrogate");
+ wl1251_debug(DEBUG_CMD, "cmd interrogate\n");
acx->id = id;
@@ -120,7 +120,7 @@ int wl1251_cmd_interrogate(struct wl1251 *wl, u16 id, void *buf, size_t len)
ret = wl1251_cmd_send(wl, CMD_INTERROGATE, acx, sizeof(*acx));
if (ret < 0) {
- wl1251_error("INTERROGATE command failed");
+ wl1251_err("INTERROGATE command failed\n");
goto out;
}
@@ -129,8 +129,8 @@ int wl1251_cmd_interrogate(struct wl1251 *wl, u16 id, void *buf, size_t len)
acx = buf;
if (acx->cmd.status != CMD_STATUS_SUCCESS)
- wl1251_error("INTERROGATE command error: %d",
- acx->cmd.status);
+ wl1251_err("INTERROGATE command error: %d\n",
+ acx->cmd.status);
out:
return ret;
@@ -149,7 +149,7 @@ int wl1251_cmd_configure(struct wl1251 *wl, u16 id, void *buf, size_t len)
struct acx_header *acx = buf;
int ret;
- wl1251_debug(DEBUG_CMD, "cmd configure");
+ wl1251_debug(DEBUG_CMD, "cmd configure\n");
acx->id = id;
@@ -158,7 +158,7 @@ int wl1251_cmd_configure(struct wl1251 *wl, u16 id, void *buf, size_t len)
ret = wl1251_cmd_send(wl, CMD_CONFIGURE, acx, len);
if (ret < 0) {
- wl1251_warning("CONFIGURE command NOK");
+ wl1251_warn("CONFIGURE command NOK\n");
return ret;
}
@@ -171,7 +171,7 @@ int wl1251_cmd_vbm(struct wl1251 *wl, u8 identity,
struct wl1251_cmd_vbm_update *vbm;
int ret;
- wl1251_debug(DEBUG_CMD, "cmd vbm");
+ wl1251_debug(DEBUG_CMD, "cmd vbm\n");
vbm = kzalloc(sizeof(*vbm), GFP_KERNEL);
if (!vbm) {
@@ -182,8 +182,8 @@ int wl1251_cmd_vbm(struct wl1251 *wl, u8 identity,
/* Count and period will be filled by the target */
vbm->tim.bitmap_ctrl = bitmap_control;
if (bitmap_len > PARTIAL_VBM_MAX) {
- wl1251_warning("cmd vbm len is %d B, truncating to %d",
- bitmap_len, PARTIAL_VBM_MAX);
+ wl1251_warn("cmd vbm len is %d B, truncating to %d\n",
+ bitmap_len, PARTIAL_VBM_MAX);
bitmap_len = PARTIAL_VBM_MAX;
}
memcpy(vbm->tim.pvb_field, bitmap, bitmap_len);
@@ -194,7 +194,7 @@ int wl1251_cmd_vbm(struct wl1251 *wl, u8 identity,
ret = wl1251_cmd_send(wl, CMD_VBM, vbm, sizeof(*vbm));
if (ret < 0) {
- wl1251_error("VBM command failed");
+ wl1251_err("VBM command failed\n");
goto out;
}
@@ -209,7 +209,7 @@ int wl1251_cmd_data_path(struct wl1251 *wl, u8 channel, bool enable)
int ret;
u16 cmd_rx, cmd_tx;
- wl1251_debug(DEBUG_CMD, "cmd data path");
+ wl1251_debug(DEBUG_CMD, "cmd data path\n");
cmd = kzalloc(sizeof(*cmd), GFP_KERNEL);
if (!cmd) {
@@ -229,22 +229,22 @@ int wl1251_cmd_data_path(struct wl1251 *wl, u8 channel, bool enable)
ret = wl1251_cmd_send(wl, cmd_rx, cmd, sizeof(*cmd));
if (ret < 0) {
- wl1251_error("rx %s cmd for channel %d failed",
- enable ? "start" : "stop", channel);
+ wl1251_err("rx %s cmd for channel %d failed\n",
+ enable ? "start" : "stop", channel);
goto out;
}
- wl1251_debug(DEBUG_BOOT, "rx %s cmd channel %d",
+ wl1251_debug(DEBUG_BOOT, "rx %s cmd channel %d\n",
enable ? "start" : "stop", channel);
ret = wl1251_cmd_send(wl, cmd_tx, cmd, sizeof(*cmd));
if (ret < 0) {
- wl1251_error("tx %s cmd for channel %d failed",
- enable ? "start" : "stop", channel);
+ wl1251_err("tx %s cmd for channel %d failed\n",
+ enable ? "start" : "stop", channel);
goto out;
}
- wl1251_debug(DEBUG_BOOT, "tx %s cmd channel %d",
+ wl1251_debug(DEBUG_BOOT, "tx %s cmd channel %d\n",
enable ? "start" : "stop", channel);
out:
@@ -265,7 +265,7 @@ int wl1251_cmd_join(struct wl1251 *wl, u8 bss_type, u8 channel,
goto out;
}
- wl1251_debug(DEBUG_CMD, "cmd join%s ch %d %d/%d",
+ wl1251_debug(DEBUG_CMD, "cmd join%s ch %d %d/%d\n",
bss_type == BSS_TYPE_IBSS ? " ibss" : "",
channel, beacon_interval, dtim_interval);
@@ -297,7 +297,7 @@ int wl1251_cmd_join(struct wl1251 *wl, u8 bss_type, u8 channel,
ret = wl1251_cmd_send(wl, CMD_START_JOIN, join, sizeof(*join));
if (ret < 0) {
- wl1251_error("failed to initiate cmd join");
+ wl1251_err("failed to initiate cmd join\n");
goto out;
}
@@ -311,7 +311,7 @@ int wl1251_cmd_ps_mode(struct wl1251 *wl, u8 ps_mode)
struct wl1251_cmd_ps_params *ps_params = NULL;
int ret = 0;
- wl1251_debug(DEBUG_CMD, "cmd set ps mode");
+ wl1251_debug(DEBUG_CMD, "cmd set ps mode\n");
ps_params = kzalloc(sizeof(*ps_params), GFP_KERNEL);
if (!ps_params) {
@@ -328,7 +328,7 @@ int wl1251_cmd_ps_mode(struct wl1251 *wl, u8 ps_mode)
ret = wl1251_cmd_send(wl, CMD_SET_PS_MODE, ps_params,
sizeof(*ps_params));
if (ret < 0) {
- wl1251_error("cmd set_ps_mode failed");
+ wl1251_err("cmd set_ps_mode failed\n");
goto out;
}
@@ -343,7 +343,7 @@ int wl1251_cmd_read_memory(struct wl1251 *wl, u32 addr, void *answer,
struct cmd_read_write_memory *cmd;
int ret = 0;
- wl1251_debug(DEBUG_CMD, "cmd read memory");
+ wl1251_debug(DEBUG_CMD, "cmd read memory\n");
cmd = kzalloc(sizeof(*cmd), GFP_KERNEL);
if (!cmd) {
@@ -359,7 +359,7 @@ int wl1251_cmd_read_memory(struct wl1251 *wl, u32 addr, void *answer,
ret = wl1251_cmd_send(wl, CMD_READ_MEMORY, cmd, sizeof(*cmd));
if (ret < 0) {
- wl1251_error("read memory command failed: %d", ret);
+ wl1251_err("read memory command failed: %d\n", ret);
goto out;
}
@@ -367,8 +367,8 @@ int wl1251_cmd_read_memory(struct wl1251 *wl, u32 addr, void *answer,
wl1251_mem_read(wl, wl->cmd_box_addr, cmd, sizeof(*cmd));
if (cmd->header.status != CMD_STATUS_SUCCESS)
- wl1251_error("error in read command result: %d",
- cmd->header.status);
+ wl1251_err("error in read command result: %d\n",
+ cmd->header.status);
memcpy(answer, cmd->value, len);
@@ -384,7 +384,7 @@ int wl1251_cmd_template_set(struct wl1251 *wl, u16 cmd_id,
size_t cmd_len;
int ret = 0;
- wl1251_debug(DEBUG_CMD, "cmd template %d", cmd_id);
+ wl1251_debug(DEBUG_CMD, "cmd template %d\n", cmd_id);
WARN_ON(buf_len > WL1251_MAX_TEMPLATE_SIZE);
buf_len = min_t(size_t, buf_len, WL1251_MAX_TEMPLATE_SIZE);
@@ -403,7 +403,7 @@ int wl1251_cmd_template_set(struct wl1251 *wl, u16 cmd_id,
ret = wl1251_cmd_send(wl, cmd_id, cmd, cmd_len);
if (ret < 0) {
- wl1251_warning("cmd set_template failed: %d", ret);
+ wl1251_warn("cmd set_template failed: %d\n", ret);
goto out;
}
@@ -419,7 +419,7 @@ int wl1251_cmd_scan(struct wl1251 *wl, u8 *ssid, size_t ssid_len,
struct wl1251_cmd_scan *cmd;
int i, ret = 0;
- wl1251_debug(DEBUG_CMD, "cmd scan");
+ wl1251_debug(DEBUG_CMD, "cmd scan\n");
cmd = kzalloc(sizeof(*cmd), GFP_KERNEL);
if (!cmd)
@@ -453,15 +453,15 @@ int wl1251_cmd_scan(struct wl1251 *wl, u8 *ssid, size_t ssid_len,
ret = wl1251_cmd_send(wl, CMD_SCAN, cmd, sizeof(*cmd));
if (ret < 0) {
- wl1251_error("cmd scan failed: %d", ret);
+ wl1251_err("cmd scan failed: %d\n", ret);
goto out;
}
wl1251_mem_read(wl, wl->cmd_box_addr, cmd, sizeof(*cmd));
if (cmd->header.status != CMD_STATUS_SUCCESS) {
- wl1251_error("cmd scan status wasn't success: %d",
- cmd->header.status);
+ wl1251_err("cmd scan status wasn't success: %d\n",
+ cmd->header.status);
ret = -EIO;
goto out;
}
@@ -476,7 +476,7 @@ int wl1251_cmd_trigger_scan_to(struct wl1251 *wl, u32 timeout)
struct wl1251_cmd_trigger_scan_to *cmd;
int ret;
- wl1251_debug(DEBUG_CMD, "cmd trigger scan to");
+ wl1251_debug(DEBUG_CMD, "cmd trigger scan to\n");
cmd = kzalloc(sizeof(*cmd), GFP_KERNEL);
if (!cmd)
@@ -486,7 +486,7 @@ int wl1251_cmd_trigger_scan_to(struct wl1251 *wl, u32 timeout)
ret = wl1251_cmd_send(wl, CMD_TRIGGER_SCAN_TO, cmd, sizeof(*cmd));
if (ret < 0) {
- wl1251_error("cmd trigger scan to failed: %d", ret);
+ wl1251_err("cmd trigger scan to failed: %d\n", ret);
goto out;
}
diff --git a/drivers/net/wireless/ti/wl1251/init.c b/drivers/net/wireless/ti/wl1251/init.c
index 89b43d3..2cdab26 100644
--- a/drivers/net/wireless/ti/wl1251/init.c
+++ b/drivers/net/wireless/ti/wl1251/init.c
@@ -35,13 +35,13 @@ int wl1251_hw_init_hwenc_config(struct wl1251 *wl)
ret = wl1251_acx_feature_cfg(wl);
if (ret < 0) {
- wl1251_warning("couldn't set feature config");
+ wl1251_warn("couldn't set feature config\n");
return ret;
}
ret = wl1251_acx_default_key(wl, wl->default_key);
if (ret < 0) {
- wl1251_warning("couldn't set default key");
+ wl1251_warn("couldn't set default key\n");
return ret;
}
@@ -211,7 +211,7 @@ int wl1251_hw_init_mem_config(struct wl1251 *wl)
wl->target_mem_map = kzalloc(sizeof(struct wl1251_acx_mem_map),
GFP_KERNEL);
if (!wl->target_mem_map) {
- wl1251_error("couldn't allocate target memory map");
+ wl1251_err("couldn't allocate target memory map\n");
return -ENOMEM;
}
@@ -219,7 +219,7 @@ int wl1251_hw_init_mem_config(struct wl1251 *wl)
ret = wl1251_acx_mem_map(wl, wl->target_mem_map,
sizeof(struct wl1251_acx_mem_map));
if (ret < 0) {
- wl1251_error("couldn't retrieve firmware memory map");
+ wl1251_err("couldn't retrieve firmware memory map\n");
kfree(wl->target_mem_map);
wl->target_mem_map = NULL;
return ret;
@@ -260,7 +260,7 @@ static int wl1251_hw_init_txq_fill(u8 qid,
(QOS_TX_LOW_VO_DEF * num_blocks) / 100;
break;
default:
- wl1251_error("Invalid TX queue id: %d", qid);
+ wl1251_err("Invalid TX queue id: %d\n", qid);
return -EINVAL;
}
@@ -273,7 +273,7 @@ static int wl1251_hw_init_tx_queue_config(struct wl1251 *wl)
struct wl1251_acx_mem_map *wl_mem_map = wl->target_mem_map;
int ret, i;
- wl1251_debug(DEBUG_ACX, "acx tx queue config");
+ wl1251_debug(DEBUG_ACX, "acx tx queue config\n");
config = kzalloc(sizeof(*config), GFP_KERNEL);
if (!config) {
@@ -311,7 +311,7 @@ static int wl1251_hw_init_data_path_config(struct wl1251 *wl)
wl->data_path = kzalloc(sizeof(struct acx_data_path_params_resp),
GFP_KERNEL);
if (!wl->data_path) {
- wl1251_error("Couldnt allocate data path parameters");
+ wl1251_err("Couldnt allocate data path parameters\n");
return -ENOMEM;
}
@@ -405,7 +405,7 @@ int wl1251_hw_init(struct wl1251 *wl)
goto out_free_data_path;
wl_mem_map = wl->target_mem_map;
- wl1251_info("%d tx blocks at 0x%x, %d rx blocks at 0x%x",
+ wl1251_info("%d tx blocks at 0x%x, %d rx blocks at 0x%x\n",
wl_mem_map->num_tx_mem_blocks,
wl->data_path->tx_control_addr,
wl_mem_map->num_rx_mem_blocks,
diff --git a/drivers/net/wireless/ti/wl1251/io.c b/drivers/net/wireless/ti/wl1251/io.c
index cdcadbf..2561ac2 100644
--- a/drivers/net/wireless/ti/wl1251/io.c
+++ b/drivers/net/wireless/ti/wl1251/io.c
@@ -46,7 +46,7 @@ static int wl1251_translate_reg_addr(struct wl1251 *wl, int addr)
if (addr < REGISTERS_BASE) {
/* Make sure we don't go over the table */
if (addr >= ACX_REG_TABLE_LEN) {
- wl1251_error("address out of range (%d)", addr);
+ wl1251_err("address out of range (%d)\n", addr);
return -EINVAL;
}
addr = wl1251_io_reg_table[addr];
@@ -137,20 +137,19 @@ void wl1251_set_partition(struct wl1251 *wl,
{
struct wl1251_partition partition[2];
- wl1251_debug(DEBUG_SPI, "mem_start %08X mem_size %08X",
+ wl1251_debug(DEBUG_SPI, "mem_start %08X mem_size %08X\n",
mem_start, mem_size);
- wl1251_debug(DEBUG_SPI, "reg_start %08X reg_size %08X",
+ wl1251_debug(DEBUG_SPI, "reg_start %08X reg_size %08X\n",
reg_start, reg_size);
/* Make sure that the two partitions together don't exceed the
* address range */
if ((mem_size + reg_size) > HW_ACCESS_MEMORY_MAX_RANGE) {
- wl1251_debug(DEBUG_SPI, "Total size exceeds maximum virtual"
- " address range. Truncating partition[0].");
+ wl1251_debug(DEBUG_SPI, "Total size exceeds maximum virtual address range. Truncating partition[0].\n");
mem_size = HW_ACCESS_MEMORY_MAX_RANGE - reg_size;
- wl1251_debug(DEBUG_SPI, "mem_start %08X mem_size %08X",
+ wl1251_debug(DEBUG_SPI, "mem_start %08X mem_size %08X\n",
mem_start, mem_size);
- wl1251_debug(DEBUG_SPI, "reg_start %08X reg_size %08X",
+ wl1251_debug(DEBUG_SPI, "reg_start %08X reg_size %08X\n",
reg_start, reg_size);
}
@@ -158,23 +157,21 @@ void wl1251_set_partition(struct wl1251 *wl,
((mem_start + mem_size) > reg_start)) {
/* Guarantee that the memory partition doesn't overlap the
* registers partition */
- wl1251_debug(DEBUG_SPI, "End of partition[0] is "
- "overlapping partition[1]. Adjusted.");
+ wl1251_debug(DEBUG_SPI, "End of partition[0] is overlapping partition[1]. Adjusted.\n");
mem_size = reg_start - mem_start;
- wl1251_debug(DEBUG_SPI, "mem_start %08X mem_size %08X",
+ wl1251_debug(DEBUG_SPI, "mem_start %08X mem_size %08X\n",
mem_start, mem_size);
- wl1251_debug(DEBUG_SPI, "reg_start %08X reg_size %08X",
+ wl1251_debug(DEBUG_SPI, "reg_start %08X reg_size %08X\n",
reg_start, reg_size);
} else if ((reg_start < mem_start) &&
((reg_start + reg_size) > mem_start)) {
/* Guarantee that the register partition doesn't overlap the
* memory partition */
- wl1251_debug(DEBUG_SPI, "End of partition[1] is"
- " overlapping partition[0]. Adjusted.");
+ wl1251_debug(DEBUG_SPI, "End of partition[1] is overlapping partition[0]. Adjusted.\n");
reg_size = mem_start - reg_start;
- wl1251_debug(DEBUG_SPI, "mem_start %08X mem_size %08X",
+ wl1251_debug(DEBUG_SPI, "mem_start %08X mem_size %08X\n",
mem_start, mem_size);
- wl1251_debug(DEBUG_SPI, "reg_start %08X reg_size %08X",
+ wl1251_debug(DEBUG_SPI, "reg_start %08X reg_size %08X\n",
reg_start, reg_size);
}
diff --git a/drivers/net/wireless/ti/wl1251/main.c b/drivers/net/wireless/ti/wl1251/main.c
index d1afb8e..47cb523 100644
--- a/drivers/net/wireless/ti/wl1251/main.c
+++ b/drivers/net/wireless/ti/wl1251/main.c
@@ -71,13 +71,13 @@ static int wl1251_fetch_firmware(struct wl1251 *wl)
ret = request_firmware(&fw, WL1251_FW_NAME, dev);
if (ret < 0) {
- wl1251_error("could not get firmware: %d", ret);
+ wl1251_err("could not get firmware: %d\n", ret);
return ret;
}
if (fw->size % 4) {
- wl1251_error("firmware size is not multiple of 32 bits: %zu",
- fw->size);
+ wl1251_err("firmware size is not multiple of 32 bits: %zu\n",
+ fw->size);
ret = -EILSEQ;
goto out;
}
@@ -86,7 +86,7 @@ static int wl1251_fetch_firmware(struct wl1251 *wl)
wl->fw = vmalloc(wl->fw_len);
if (!wl->fw) {
- wl1251_error("could not allocate memory for the firmware");
+ wl1251_err("could not allocate memory for the firmware\n");
ret = -ENOMEM;
goto out;
}
@@ -110,13 +110,13 @@ static int wl1251_fetch_nvs(struct wl1251 *wl)
ret = request_firmware(&fw, WL1251_NVS_NAME, dev);
if (ret < 0) {
- wl1251_error("could not get nvs file: %d", ret);
+ wl1251_err("could not get nvs file: %d\n", ret);
return ret;
}
if (fw->size % 4) {
- wl1251_error("nvs size is not multiple of 32 bits: %zu",
- fw->size);
+ wl1251_err("nvs size is not multiple of 32 bits: %zu\n",
+ fw->size);
ret = -EILSEQ;
goto out;
}
@@ -125,7 +125,7 @@ static int wl1251_fetch_nvs(struct wl1251 *wl)
wl->nvs = kmemdup(fw->data, wl->nvs_len, GFP_KERNEL);
if (!wl->nvs) {
- wl1251_error("could not allocate memory for the nvs file");
+ wl1251_err("could not allocate memory for the nvs file\n");
ret = -ENOMEM;
goto out;
}
@@ -147,7 +147,7 @@ static void wl1251_fw_wakeup(struct wl1251 *wl)
elp_reg = wl1251_read_elp(wl, HW_ACCESS_ELP_CTRL_REG_ADDR);
if (!(elp_reg & ELPCTRL_WLAN_READY))
- wl1251_warning("WLAN not ready");
+ wl1251_warn("WLAN not ready\n");
}
static int wl1251_chip_wakeup(struct wl1251 *wl)
@@ -181,16 +181,16 @@ static int wl1251_chip_wakeup(struct wl1251 *wl)
switch (wl->chip_id) {
case CHIP_ID_1251_PG12:
- wl1251_debug(DEBUG_BOOT, "chip id 0x%x (1251 PG12)",
+ wl1251_debug(DEBUG_BOOT, "chip id 0x%x (1251 PG12)\n",
wl->chip_id);
break;
case CHIP_ID_1251_PG11:
- wl1251_debug(DEBUG_BOOT, "chip id 0x%x (1251 PG11)",
+ wl1251_debug(DEBUG_BOOT, "chip id 0x%x (1251 PG11)\n",
wl->chip_id);
break;
case CHIP_ID_1251_PG10:
default:
- wl1251_error("unsupported chip id: 0x%x", wl->chip_id);
+ wl1251_err("unsupported chip id: 0x%x\n", wl->chip_id);
ret = -ENODEV;
goto out;
}
@@ -222,7 +222,7 @@ static void wl1251_irq_work(struct work_struct *work)
mutex_lock(&wl->mutex);
- wl1251_debug(DEBUG_IRQ, "IRQ work");
+ wl1251_debug(DEBUG_IRQ, "IRQ work\n");
if (wl->state == WL1251_STATE_OFF)
goto out;
@@ -234,7 +234,7 @@ static void wl1251_irq_work(struct work_struct *work)
wl1251_reg_write32(wl, ACX_REG_INTERRUPT_MASK, WL1251_ACX_INTR_ALL);
intr = wl1251_reg_read32(wl, ACX_REG_INTERRUPT_CLEAR);
- wl1251_debug(DEBUG_IRQ, "intr: 0x%x", intr);
+ wl1251_debug(DEBUG_IRQ, "intr: 0x%x\n", intr);
do {
if (wl->data_path) {
@@ -245,68 +245,67 @@ static void wl1251_irq_work(struct work_struct *work)
switch ((wl->rx_counter - wl->rx_handled) & 0xf) {
case 0:
wl1251_debug(DEBUG_IRQ,
- "RX: FW and host in sync");
+ "RX: FW and host in sync\n");
intr &= ~WL1251_ACX_INTR_RX0_DATA;
intr &= ~WL1251_ACX_INTR_RX1_DATA;
break;
case 1:
- wl1251_debug(DEBUG_IRQ, "RX: FW +1");
+ wl1251_debug(DEBUG_IRQ, "RX: FW +1\n");
intr |= WL1251_ACX_INTR_RX0_DATA;
intr &= ~WL1251_ACX_INTR_RX1_DATA;
break;
case 2:
- wl1251_debug(DEBUG_IRQ, "RX: FW +2");
+ wl1251_debug(DEBUG_IRQ, "RX: FW +2\n");
intr |= WL1251_ACX_INTR_RX0_DATA;
intr |= WL1251_ACX_INTR_RX1_DATA;
break;
default:
- wl1251_warning(
- "RX: FW and host out of sync: %d",
- wl->rx_counter - wl->rx_handled);
+ wl1251_warn("RX: FW and host out of sync: %d\n",
+ wl->rx_counter - wl->rx_handled);
break;
}
wl->rx_handled = wl->rx_counter;
- wl1251_debug(DEBUG_IRQ, "RX counter: %d",
+ wl1251_debug(DEBUG_IRQ, "RX counter: %d\n",
wl->rx_counter);
}
intr &= wl->intr_mask;
if (intr == 0) {
- wl1251_debug(DEBUG_IRQ, "INTR is 0");
+ wl1251_debug(DEBUG_IRQ, "INTR is 0\n");
goto out_sleep;
}
if (intr & WL1251_ACX_INTR_RX0_DATA) {
- wl1251_debug(DEBUG_IRQ, "WL1251_ACX_INTR_RX0_DATA");
+ wl1251_debug(DEBUG_IRQ, "WL1251_ACX_INTR_RX0_DATA\n");
wl1251_rx(wl);
}
if (intr & WL1251_ACX_INTR_RX1_DATA) {
- wl1251_debug(DEBUG_IRQ, "WL1251_ACX_INTR_RX1_DATA");
+ wl1251_debug(DEBUG_IRQ, "WL1251_ACX_INTR_RX1_DATA\n");
wl1251_rx(wl);
}
if (intr & WL1251_ACX_INTR_TX_RESULT) {
- wl1251_debug(DEBUG_IRQ, "WL1251_ACX_INTR_TX_RESULT");
+ wl1251_debug(DEBUG_IRQ, "WL1251_ACX_INTR_TX_RESULT\n");
wl1251_tx_complete(wl);
}
if (intr & WL1251_ACX_INTR_EVENT_A) {
- wl1251_debug(DEBUG_IRQ, "WL1251_ACX_INTR_EVENT_A");
+ wl1251_debug(DEBUG_IRQ, "WL1251_ACX_INTR_EVENT_A\n");
wl1251_event_handle(wl, 0);
}
if (intr & WL1251_ACX_INTR_EVENT_B) {
- wl1251_debug(DEBUG_IRQ, "WL1251_ACX_INTR_EVENT_B");
+ wl1251_debug(DEBUG_IRQ, "WL1251_ACX_INTR_EVENT_B\n");
wl1251_event_handle(wl, 1);
}
if (intr & WL1251_ACX_INTR_INIT_COMPLETE)
wl1251_debug(DEBUG_IRQ,
- "WL1251_ACX_INTR_INIT_COMPLETE");
+ "WL1251_ACX_INTR_INIT_COMPLETE\n");
if (--ctr == 0)
break;
@@ -342,7 +341,7 @@ static int wl1251_join(struct wl1251 *wl, u8 bss_type, u8 channel,
ret = wl1251_event_wait(wl, JOIN_EVENT_COMPLETE_ID, 100);
if (ret < 0)
- wl1251_warning("join timeout");
+ wl1251_warn("join timeout\n");
out:
return ret;
@@ -394,7 +393,7 @@ static void wl1251_op_tx(struct ieee80211_hw *hw, struct sk_buff *skb)
* the queue here, otherwise the queue will get too long.
*/
if (skb_queue_len(&wl->tx_queue) >= WL1251_TX_QUEUE_HIGH_WATERMARK) {
- wl1251_debug(DEBUG_TX, "op_tx: tx_queue full, stop queues");
+ wl1251_debug(DEBUG_TX, "op_tx: tx_queue full, stop queues\n");
spin_lock_irqsave(&wl->wl_lock, flags);
ieee80211_stop_queues(wl->hw);
@@ -414,8 +413,8 @@ static int wl1251_op_start(struct ieee80211_hw *hw)
mutex_lock(&wl->mutex);
if (wl->state != WL1251_STATE_OFF) {
- wl1251_error("cannot start because not in off state: %d",
- wl->state);
+ wl1251_err("cannot start because not in off state: %d\n",
+ wl->state);
ret = -EBUSY;
goto out;
}
@@ -438,7 +437,7 @@ static int wl1251_op_start(struct ieee80211_hw *hw)
wl->state = WL1251_STATE_ON;
- wl1251_info("firmware booted (%s)", wl->fw_ver);
+ wl1251_info("firmware booted (%s)\n", wl->fw_ver);
/* update hw/fw version info in wiphy struct */
wiphy->hw_version = wl->chip_id;
@@ -457,7 +456,7 @@ static void wl1251_op_stop(struct ieee80211_hw *hw)
{
struct wl1251 *wl = hw->priv;
- wl1251_info("down");
+ wl1251_info("down\n");
wl1251_debug(DEBUG_MAC80211, "mac80211 stop");
@@ -615,7 +614,7 @@ static int wl1251_op_config(struct ieee80211_hw *hw, u32 changed)
}
if (conf->flags & IEEE80211_CONF_PS && !wl->psm_requested) {
- wl1251_debug(DEBUG_PSM, "psm enabled");
+ wl1251_debug(DEBUG_PSM, "psm enabled\n");
wl->psm_requested = true;
@@ -632,7 +631,7 @@ static int wl1251_op_config(struct ieee80211_hw *hw, u32 changed)
goto out_sleep;
} else if (!(conf->flags & IEEE80211_CONF_PS) &&
wl->psm_requested) {
- wl1251_debug(DEBUG_PSM, "psm disabled");
+ wl1251_debug(DEBUG_PSM, "psm disabled\n");
wl->psm_requested = false;
@@ -765,7 +764,7 @@ static int wl1251_set_key_type(struct wl1251 *wl,
mac80211_key->flags |= IEEE80211_KEY_FLAG_GENERATE_IV;
break;
default:
- wl1251_error("Unknown key cipher 0x%x", mac80211_key->cipher);
+ wl1251_err("Unknown key cipher 0x%x\n", mac80211_key->cipher);
return -EOPNOTSUPP;
}
@@ -795,9 +794,9 @@ static int wl1251_op_set_key(struct ieee80211_hw *hw, enum set_key_cmd cmd,
addr = sta ? sta->addr : bcast_addr;
- wl1251_debug(DEBUG_CRYPT, "CMD: 0x%x", cmd);
+ wl1251_debug(DEBUG_CRYPT, "CMD: 0x%x\n", cmd);
wl1251_dump(DEBUG_CRYPT, "ADDR: ", addr, ETH_ALEN);
- wl1251_debug(DEBUG_CRYPT, "Key: algo:0x%x, id:%d, len:%d flags 0x%x",
+ wl1251_debug(DEBUG_CRYPT, "Key: algo:0x%x, id:%d, len:%d flags 0x%x\n",
key->cipher, key->keyidx, key->keylen, key->flags);
wl1251_dump(DEBUG_CRYPT, "KEY: ", key->key, key->keylen);
@@ -821,13 +820,13 @@ static int wl1251_op_set_key(struct ieee80211_hw *hw, enum set_key_cmd cmd,
wl_cmd->key_action = KEY_REMOVE;
break;
default:
- wl1251_error("Unsupported key cmd 0x%x", cmd);
+ wl1251_err("Unsupported key cmd 0x%x\n", cmd);
break;
}
ret = wl1251_set_key_type(wl, wl_cmd, cmd, key, addr);
if (ret < 0) {
- wl1251_error("Set KEY type failed");
+ wl1251_err("Set KEY type failed\n");
goto out_sleep;
}
@@ -858,7 +857,7 @@ static int wl1251_op_set_key(struct ieee80211_hw *hw, enum set_key_cmd cmd,
ret = wl1251_cmd_send(wl, CMD_SET_KEYS, wl_cmd, sizeof(*wl_cmd));
if (ret < 0) {
- wl1251_warning("could not set keys");
+ wl1251_warn("could not set keys\n");
goto out_sleep;
}
@@ -894,7 +893,7 @@ static int wl1251_op_hw_scan(struct ieee80211_hw *hw,
mutex_lock(&wl->mutex);
if (wl->scanning) {
- wl1251_debug(DEBUG_SCAN, "scan already in progress");
+ wl1251_debug(DEBUG_SCAN, "scan already in progress\n");
ret = -EINVAL;
goto out;
}
@@ -951,7 +950,7 @@ static int wl1251_op_set_rts_threshold(struct ieee80211_hw *hw, u32 value)
ret = wl1251_acx_rts_threshold(wl, (u16) value);
if (ret < 0)
- wl1251_warning("wl1251_op_set_rts_threshold failed: %d", ret);
+ wl1251_warn("wl1251_op_set_rts_threshold failed: %d\n", ret);
wl1251_ps_elp_sleep(wl);
@@ -1043,7 +1042,7 @@ static void wl1251_op_bss_info_changed(struct ieee80211_hw *hw,
else
ret = wl1251_acx_slot(wl, SLOT_TIME_LONG);
if (ret < 0) {
- wl1251_warning("Set slot time failed %d", ret);
+ wl1251_warn("Set slot time failed %d\n", ret);
goto out_sleep;
}
}
@@ -1061,7 +1060,7 @@ static void wl1251_op_bss_info_changed(struct ieee80211_hw *hw,
else
ret = wl1251_acx_cts_protect(wl, CTSPROTECT_DISABLE);
if (ret < 0) {
- wl1251_warning("Set ctsprotect failed %d", ret);
+ wl1251_warn("Set ctsprotect failed %d\n", ret);
goto out_sleep;
}
}
@@ -1295,7 +1294,7 @@ static int wl1251_read_eeprom_mac(struct wl1251 *wl)
ret = wl1251_read_eeprom(wl, 0x1c, mac, sizeof(mac));
if (ret < 0) {
- wl1251_warning("failed to read MAC address from EEPROM");
+ wl1251_warn("failed to read MAC address from EEPROM\n");
return ret;
}
@@ -1317,13 +1316,13 @@ static int wl1251_register_hw(struct wl1251 *wl)
ret = ieee80211_register_hw(wl->hw);
if (ret < 0) {
- wl1251_error("unable to register mac80211 hw: %d", ret);
+ wl1251_err("unable to register mac80211 hw: %d\n", ret);
return ret;
}
wl->mac80211_registered = true;
- wl1251_notice("loaded");
+ wl1251_notice("loaded\n");
return 0;
}
@@ -1359,7 +1358,7 @@ int wl1251_init_ieee80211(struct wl1251 *wl)
goto out;
wl1251_debugfs_init(wl);
- wl1251_notice("initialized");
+ wl1251_notice("initialized\n");
ret = 0;
@@ -1377,7 +1376,7 @@ struct ieee80211_hw *wl1251_alloc_hw(void)
hw = ieee80211_alloc_hw(sizeof(*wl), &wl1251_ops);
if (!hw) {
- wl1251_error("could not alloc ieee80211_hw");
+ wl1251_err("could not alloc ieee80211_hw\n");
return ERR_PTR(-ENOMEM);
}
@@ -1435,7 +1434,7 @@ struct ieee80211_hw *wl1251_alloc_hw(void)
wl->rx_descriptor = kmalloc(sizeof(*wl->rx_descriptor), GFP_KERNEL);
if (!wl->rx_descriptor) {
- wl1251_error("could not allocate memory for rx descriptor");
+ wl1251_err("could not allocate memory for rx descriptor\n");
ieee80211_free_hw(hw);
return ERR_PTR(-ENOMEM);
}
diff --git a/drivers/net/wireless/ti/wl1251/ps.c b/drivers/net/wireless/ti/wl1251/ps.c
index db719f7..f784d1e 100644
--- a/drivers/net/wireless/ti/wl1251/ps.c
+++ b/drivers/net/wireless/ti/wl1251/ps.c
@@ -35,14 +35,14 @@ void wl1251_elp_work(struct work_struct *work)
dwork = container_of(work, struct delayed_work, work);
wl = container_of(dwork, struct wl1251, elp_work);
- wl1251_debug(DEBUG_PSM, "elp work");
+ wl1251_debug(DEBUG_PSM, "elp work\n");
mutex_lock(&wl->mutex);
if (wl->elp || wl->station_mode == STATION_ACTIVE_MODE)
goto out;
- wl1251_debug(DEBUG_PSM, "chip to elp");
+ wl1251_debug(DEBUG_PSM, "chip to elp\n");
wl1251_write_elp(wl, HW_ACCESS_ELP_CTRL_REG_ADDR, ELPCTRL_SLEEP);
wl->elp = true;
@@ -74,7 +74,7 @@ int wl1251_ps_elp_wakeup(struct wl1251 *wl)
if (!wl->elp)
return 0;
- wl1251_debug(DEBUG_PSM, "waking up chip from elp");
+ wl1251_debug(DEBUG_PSM, "waking up chip from elp\n");
start = jiffies;
timeout = jiffies + msecs_to_jiffies(WL1251_WAKEUP_TIMEOUT);
@@ -89,14 +89,14 @@ int wl1251_ps_elp_wakeup(struct wl1251 *wl)
*/
while (!(elp_reg & ELPCTRL_WLAN_READY)) {
if (time_after(jiffies, timeout)) {
- wl1251_error("elp wakeup timeout");
+ wl1251_err("elp wakeup timeout\n");
return -ETIMEDOUT;
}
msleep(1);
elp_reg = wl1251_read_elp(wl, HW_ACCESS_ELP_CTRL_REG_ADDR);
}
- wl1251_debug(DEBUG_PSM, "wakeup time: %u ms",
+ wl1251_debug(DEBUG_PSM, "wakeup time: %u ms\n",
jiffies_to_msecs(jiffies - start));
wl->elp = false;
@@ -110,7 +110,7 @@ int wl1251_ps_set_mode(struct wl1251 *wl, enum wl1251_station_mode mode)
switch (mode) {
case STATION_POWER_SAVE_MODE:
- wl1251_debug(DEBUG_PSM, "entering psm");
+ wl1251_debug(DEBUG_PSM, "entering psm\n");
/* enable beacon filtering */
ret = wl1251_acx_beacon_filter_opt(wl, true);
@@ -137,7 +137,7 @@ int wl1251_ps_set_mode(struct wl1251 *wl, enum wl1251_station_mode mode)
return ret;
break;
case STATION_IDLE:
- wl1251_debug(DEBUG_PSM, "entering idle");
+ wl1251_debug(DEBUG_PSM, "entering idle\n");
ret = wl1251_acx_sleep_auth(wl, WL1251_PSM_ELP);
if (ret < 0)
@@ -149,7 +149,7 @@ int wl1251_ps_set_mode(struct wl1251 *wl, enum wl1251_station_mode mode)
break;
case STATION_ACTIVE_MODE:
default:
- wl1251_debug(DEBUG_PSM, "leaving psm");
+ wl1251_debug(DEBUG_PSM, "leaving psm\n");
ret = wl1251_acx_sleep_auth(wl, WL1251_PSM_CAM);
if (ret < 0)
diff --git a/drivers/net/wireless/ti/wl1251/rx.c b/drivers/net/wireless/ti/wl1251/rx.c
index 6af3526..6ae6026 100644
--- a/drivers/net/wireless/ti/wl1251/rx.c
+++ b/drivers/net/wireless/ti/wl1251/rx.c
@@ -158,8 +158,8 @@ static void wl1251_rx_body(struct wl1251 *wl,
last_id_inc = (wl->rx_last_id + 1) % (RX_MAX_PACKET_ID + 1);
if (last_id_inc != curr_id) {
- wl1251_warning("curr ID:%d, last ID inc:%d",
- curr_id, last_id_inc);
+ wl1251_warn("curr ID:%d, last ID inc:%d\n",
+ curr_id, last_id_inc);
wl->rx_last_id = curr_id;
} else {
wl->rx_last_id = last_id_inc;
@@ -172,7 +172,7 @@ static void wl1251_rx_body(struct wl1251 *wl,
skb = __dev_alloc_skb(length, GFP_KERNEL);
if (!skb) {
- wl1251_error("Couldn't allocate RX frame");
+ wl1251_err("Couldn't allocate RX frame\n");
return;
}
@@ -189,7 +189,7 @@ static void wl1251_rx_body(struct wl1251 *wl,
wl1251_rx_status(wl, desc, &status, beacon);
- wl1251_debug(DEBUG_RX, "rx skb 0x%p: %d B %s", skb, skb->len,
+ wl1251_debug(DEBUG_RX, "rx skb 0x%p: %d B %s\n", skb, skb->len,
beacon ? "beacon" : "");
memcpy(IEEE80211_SKB_RXCB(skb), &status, sizeof(status));
diff --git a/drivers/net/wireless/ti/wl1251/sdio.c b/drivers/net/wireless/ti/wl1251/sdio.c
index e2750a1..234e2d9 100644
--- a/drivers/net/wireless/ti/wl1251/sdio.c
+++ b/drivers/net/wireless/ti/wl1251/sdio.c
@@ -54,7 +54,7 @@ static void wl1251_sdio_interrupt(struct sdio_func *func)
{
struct wl1251 *wl = sdio_get_drvdata(func);
- wl1251_debug(DEBUG_IRQ, "IRQ");
+ wl1251_debug(DEBUG_IRQ, "IRQ\n");
/* FIXME should be synchronous for sdio */
ieee80211_queue_work(wl->hw, &wl->irq_work);
@@ -76,7 +76,7 @@ static void wl1251_sdio_read(struct wl1251 *wl, int addr,
sdio_claim_host(func);
ret = sdio_memcpy_fromio(func, buf, addr, len);
if (ret)
- wl1251_error("sdio read failed (%d)", ret);
+ wl1251_err("sdio read failed (%d)\n", ret);
sdio_release_host(func);
}
@@ -89,7 +89,7 @@ static void wl1251_sdio_write(struct wl1251 *wl, int addr,
sdio_claim_host(func);
ret = sdio_memcpy_toio(func, addr, buf, len);
if (ret)
- wl1251_error("sdio write failed (%d)", ret);
+ wl1251_err("sdio write failed (%d)\n", ret);
sdio_release_host(func);
}
@@ -110,7 +110,7 @@ static void wl1251_sdio_read_elp(struct wl1251 *wl, int addr, u32 *val)
sdio_release_host(func);
if (ret)
- wl1251_error("sdio_readb failed (%d)", ret);
+ wl1251_err("sdio_readb failed (%d)\n", ret);
}
static void wl1251_sdio_write_elp(struct wl1251 *wl, int addr, u32 val)
@@ -124,7 +124,7 @@ static void wl1251_sdio_write_elp(struct wl1251 *wl, int addr, u32 val)
sdio_release_host(func);
if (ret)
- wl1251_error("sdio_writeb failed (%d)", ret);
+ wl1251_err("sdio_writeb failed (%d)\n", ret);
else
wl_sdio->elp_val = val;
}
@@ -263,7 +263,7 @@ static int wl1251_sdio_probe(struct sdio_func *func,
irq_set_status_flags(wl->irq, IRQ_NOAUTOEN);
ret = request_irq(wl->irq, wl1251_line_irq, 0, "wl1251", wl);
if (ret < 0) {
- wl1251_error("request_irq() failed: %d", ret);
+ wl1251_err("request_irq() failed: %d\n", ret);
goto disable;
}
@@ -272,12 +272,12 @@ static int wl1251_sdio_probe(struct sdio_func *func,
wl1251_sdio_ops.enable_irq = wl1251_enable_line_irq;
wl1251_sdio_ops.disable_irq = wl1251_disable_line_irq;
- wl1251_info("using dedicated interrupt line");
+ wl1251_info("using dedicated interrupt line\n");
} else {
wl1251_sdio_ops.enable_irq = wl1251_sdio_enable_irq;
wl1251_sdio_ops.disable_irq = wl1251_sdio_disable_irq;
- wl1251_info("using SDIO interrupt");
+ wl1251_info("using SDIO interrupt\n");
}
ret = wl1251_init_ieee80211(wl);
@@ -357,14 +357,14 @@ static int __init wl1251_sdio_init(void)
err = sdio_register_driver(&wl1251_sdio_driver);
if (err)
- wl1251_error("failed to register sdio driver: %d", err);
+ wl1251_err("failed to register sdio driver: %d\n", err);
return err;
}
static void __exit wl1251_sdio_exit(void)
{
sdio_unregister_driver(&wl1251_sdio_driver);
- wl1251_notice("unloaded");
+ wl1251_notice("unloaded\n");
}
module_init(wl1251_sdio_init);
diff --git a/drivers/net/wireless/ti/wl1251/spi.c b/drivers/net/wireless/ti/wl1251/spi.c
index 87f6305..440443e 100644
--- a/drivers/net/wireless/ti/wl1251/spi.c
+++ b/drivers/net/wireless/ti/wl1251/spi.c
@@ -35,7 +35,7 @@ static irqreturn_t wl1251_irq(int irq, void *cookie)
{
struct wl1251 *wl;
- wl1251_debug(DEBUG_IRQ, "IRQ");
+ wl1251_debug(DEBUG_IRQ, "IRQ\n");
wl = cookie;
@@ -57,7 +57,7 @@ static void wl1251_spi_reset(struct wl1251 *wl)
cmd = kzalloc(WSPI_INIT_CMD_LEN, GFP_KERNEL);
if (!cmd) {
- wl1251_error("could not allocate cmd for spi reset");
+ wl1251_err("could not allocate cmd for spi reset\n");
return;
}
@@ -83,7 +83,7 @@ static void wl1251_spi_wake(struct wl1251 *wl)
cmd = kzalloc(WSPI_INIT_CMD_LEN, GFP_KERNEL);
if (!cmd) {
- wl1251_error("could not allocate cmd for spi init");
+ wl1251_err("could not allocate cmd for spi init\n");
return;
}
@@ -242,7 +242,7 @@ static int __devinit wl1251_spi_probe(struct spi_device *spi)
pdata = spi->dev.platform_data;
if (!pdata) {
- wl1251_error("no platform data");
+ wl1251_err("no platform data\n");
return -ENODEV;
}
@@ -263,19 +263,19 @@ static int __devinit wl1251_spi_probe(struct spi_device *spi)
ret = spi_setup(spi);
if (ret < 0) {
- wl1251_error("spi_setup failed");
+ wl1251_err("spi_setup failed\n");
goto out_free;
}
wl->set_power = pdata->set_power;
if (!wl->set_power) {
- wl1251_error("set power function missing in platform data");
+ wl1251_err("set power function missing in platform data\n");
return -ENODEV;
}
wl->irq = spi->irq;
if (wl->irq < 0) {
- wl1251_error("irq missing in platform data");
+ wl1251_err("irq missing in platform data\n");
return -ENODEV;
}
@@ -284,7 +284,7 @@ static int __devinit wl1251_spi_probe(struct spi_device *spi)
irq_set_status_flags(wl->irq, IRQ_NOAUTOEN);
ret = request_irq(wl->irq, wl1251_irq, 0, DRIVER_NAME, wl);
if (ret < 0) {
- wl1251_error("request_irq() failed: %d", ret);
+ wl1251_err("request_irq() failed: %d\n", ret);
goto out_free;
}
@@ -331,7 +331,7 @@ static int __init wl1251_spi_init(void)
ret = spi_register_driver(&wl1251_spi_driver);
if (ret < 0) {
- wl1251_error("failed to register spi driver: %d", ret);
+ wl1251_err("failed to register spi driver: %d\n", ret);
goto out;
}
@@ -343,7 +343,7 @@ static void __exit wl1251_spi_exit(void)
{
spi_unregister_driver(&wl1251_spi_driver);
- wl1251_notice("unloaded");
+ wl1251_notice("unloaded\n");
}
module_init(wl1251_spi_init);
diff --git a/drivers/net/wireless/ti/wl1251/tx.c b/drivers/net/wireless/ti/wl1251/tx.c
index 28121c5..2a5f586 100644
--- a/drivers/net/wireless/ti/wl1251/tx.c
+++ b/drivers/net/wireless/ti/wl1251/tx.c
@@ -210,7 +210,7 @@ static int wl1251_tx_send_packet(struct wl1251 *wl, struct sk_buff *skb,
*/
if (unlikely((long)skb->data & 0x03)) {
int offset = (4 - (long)skb->data) & 0x03;
- wl1251_debug(DEBUG_TX, "skb offset %d", offset);
+ wl1251_debug(DEBUG_TX, "skb offset %d\n", offset);
/* check whether the current skb can be used */
if (skb_cloned(skb) || (skb_tailroom(skb) < offset)) {
@@ -218,7 +218,7 @@ static int wl1251_tx_send_packet(struct wl1251 *wl, struct sk_buff *skb,
GFP_KERNEL);
if (unlikely(newskb == NULL)) {
- wl1251_error("Can't allocate skb!");
+ wl1251_err("Can't allocate skb!\n");
return -EINVAL;
}
@@ -228,7 +228,7 @@ static int wl1251_tx_send_packet(struct wl1251 *wl, struct sk_buff *skb,
wl->tx_frames[tx_hdr->id] = skb = newskb;
offset = (4 - (long)skb->data) & 0x03;
- wl1251_debug(DEBUG_TX, "new skb offset %d", offset);
+ wl1251_debug(DEBUG_TX, "new skb offset %d\n", offset);
}
/* align the buffer on a 4-byte boundary */
@@ -251,8 +251,8 @@ static int wl1251_tx_send_packet(struct wl1251 *wl, struct sk_buff *skb,
wl1251_mem_write(wl, addr, skb->data, len);
- wl1251_debug(DEBUG_TX, "tx id %u skb 0x%p payload %u rate 0x%x "
- "queue %d", tx_hdr->id, skb, tx_hdr->length,
+ wl1251_debug(DEBUG_TX, "tx id %u skb 0x%p payload %u rate 0x%x queue %d\n",
+ tx_hdr->id, skb, tx_hdr->length,
tx_hdr->rate, tx_hdr->xmit_queue);
return 0;
@@ -387,7 +387,7 @@ static void wl1251_tx_packet_cb(struct wl1251 *wl,
skb = wl->tx_frames[result->id];
if (skb == NULL) {
- wl1251_error("SKB for packet %d is NULL", result->id);
+ wl1251_err("SKB for packet %d is NULL\n", result->id);
return;
}
@@ -412,8 +412,7 @@ static void wl1251_tx_packet_cb(struct wl1251 *wl,
skb_pull(skb, WL1251_TKIP_IV_SPACE);
}
- wl1251_debug(DEBUG_TX, "tx status id %u skb 0x%p failures %u rate 0x%x"
- " status 0x%x (%s)",
+ wl1251_debug(DEBUG_TX, "tx status id %u skb 0x%p failures %u rate 0x%x status 0x%x (%s)\n",
result->id, skb, result->ack_failures, result->rate,
result->status, wl1251_tx_parse_status(result->status));
@@ -461,14 +460,14 @@ void wl1251_tx_complete(struct wl1251 *wl)
if ((num_complete > 0) && (queue_len > 0)) {
/* firmware buffer has space, reschedule tx_work */
- wl1251_debug(DEBUG_TX, "tx_complete: reschedule tx_work");
+ wl1251_debug(DEBUG_TX, "tx_complete: reschedule tx_work\n");
ieee80211_queue_work(wl->hw, &wl->tx_work);
}
if (wl->tx_queue_stopped &&
queue_len <= WL1251_TX_QUEUE_LOW_WATERMARK) {
/* tx_queue has space, restart queues */
- wl1251_debug(DEBUG_TX, "tx_complete: waking queues");
+ wl1251_debug(DEBUG_TX, "tx_complete: waking queues\n");
spin_lock_irqsave(&wl->wl_lock, flags);
ieee80211_wake_queues(wl->hw);
wl->tx_queue_stopped = false;
@@ -538,7 +537,7 @@ void wl1251_tx_flush(struct wl1251 *wl)
while ((skb = skb_dequeue(&wl->tx_queue))) {
info = IEEE80211_SKB_CB(skb);
- wl1251_debug(DEBUG_TX, "flushing skb 0x%p", skb);
+ wl1251_debug(DEBUG_TX, "flushing skb 0x%p\n", skb);
if (!(info->flags & IEEE80211_TX_CTL_REQ_TX_STATUS))
continue;
diff --git a/drivers/net/wireless/ti/wl1251/wl1251.h b/drivers/net/wireless/ti/wl1251/wl1251.h
index 9d8f581..e4d0063 100644
--- a/drivers/net/wireless/ti/wl1251/wl1251.h
+++ b/drivers/net/wireless/ti/wl1251/wl1251.h
@@ -54,22 +54,22 @@ enum {
#define DEBUG_DUMP_LIMIT 1024
-#define wl1251_error(fmt, arg...) \
- printk(KERN_ERR DRIVER_PREFIX "ERROR " fmt "\n", ##arg)
+#define wl1251_err(fmt, arg...) \
+ pr_err(DRIVER_PREFIX "ERROR " fmt, ##arg)
-#define wl1251_warning(fmt, arg...) \
- printk(KERN_WARNING DRIVER_PREFIX "WARNING " fmt "\n", ##arg)
+#define wl1251_warn(fmt, arg...) \
+ pr_warn(DRIVER_PREFIX "WARNING " fmt, ##arg)
-#define wl1251_notice(fmt, arg...) \
- printk(KERN_INFO DRIVER_PREFIX fmt "\n", ##arg)
+#define wl1251_notice(fmt, arg...) \
+ pr_info(DRIVER_PREFIX fmt, ##arg)
-#define wl1251_info(fmt, arg...) \
- printk(KERN_DEBUG DRIVER_PREFIX fmt "\n", ##arg)
+#define wl1251_info(fmt, arg...) \
+ printk(KERN_DEBUG DRIVER_PREFIX fmt, ##arg)
#define wl1251_debug(level, fmt, arg...) \
- do { \
+ do { \
if (level & DEBUG_LEVEL) \
- printk(KERN_DEBUG DRIVER_PREFIX fmt "\n", ##arg); \
+ printk(KERN_DEBUG DRIVER_PREFIX fmt, ##arg); \
} while (0)
#define wl1251_dump(level, prefix, buf, len) \
diff --git a/drivers/net/wireless/ti/wl12xx/acx.c b/drivers/net/wireless/ti/wl12xx/acx.c
index bea06b2..77a1e21 100644
--- a/drivers/net/wireless/ti/wl12xx/acx.c
+++ b/drivers/net/wireless/ti/wl12xx/acx.c
@@ -42,7 +42,7 @@ int wl1271_acx_host_if_cfg_bitmap(struct wl1271 *wl, u32 host_cfg_bitmap)
ret = wl1271_cmd_configure(wl, ACX_HOST_IF_CFG_BITMAP,
bitmap_conf, sizeof(*bitmap_conf));
if (ret < 0) {
- wl1271_warning("wl1271 bitmap config opt failed: %d", ret);
+ wl1271_warn("wl1271 bitmap config opt failed: %d\n", ret);
goto out;
}
diff --git a/drivers/net/wireless/ti/wl12xx/cmd.c b/drivers/net/wireless/ti/wl12xx/cmd.c
index 50ba748..6bbc031 100644
--- a/drivers/net/wireless/ti/wl12xx/cmd.c
+++ b/drivers/net/wireless/ti/wl12xx/cmd.c
@@ -54,7 +54,7 @@ int wl1271_cmd_ext_radio_parms(struct wl1271 *wl)
ret = wl1271_cmd_test(wl, ext_radio_parms, sizeof(*ext_radio_parms), 0);
if (ret < 0)
- wl1271_warning("TEST_CMD_INI_FILE_RF_EXTENDED_PARAM failed");
+ wl1271_warn("TEST_CMD_INI_FILE_RF_EXTENDED_PARAM failed\n");
kfree(ext_radio_parms);
return ret;
@@ -73,7 +73,7 @@ int wl1271_cmd_general_parms(struct wl1271 *wl)
return -ENODEV;
if (gp->tx_bip_fem_manufacturer >= WL1271_INI_FEM_MODULE_COUNT) {
- wl1271_warning("FEM index from INI out of bounds");
+ wl1271_warn("FEM index from INI out of bounds\n");
return -EINVAL;
}
@@ -93,7 +93,7 @@ int wl1271_cmd_general_parms(struct wl1271 *wl)
ret = wl1271_cmd_test(wl, gen_parms, sizeof(*gen_parms), answer);
if (ret < 0) {
- wl1271_warning("CMD_INI_FILE_GENERAL_PARAM failed");
+ wl1271_warn("CMD_INI_FILE_GENERAL_PARAM failed\n");
goto out;
}
@@ -101,7 +101,7 @@ int wl1271_cmd_general_parms(struct wl1271 *wl)
gen_parms->general_params.tx_bip_fem_manufacturer;
if (gp->tx_bip_fem_manufacturer >= WL1271_INI_FEM_MODULE_COUNT) {
- wl1271_warning("FEM index from FW out of bounds");
+ wl1271_warn("FEM index from FW out of bounds\n");
ret = -EINVAL;
goto out;
}
@@ -127,7 +127,7 @@ int wl128x_cmd_general_parms(struct wl1271 *wl)
return -ENODEV;
if (gp->tx_bip_fem_manufacturer >= WL1271_INI_FEM_MODULE_COUNT) {
- wl1271_warning("FEM index from ini out of bounds");
+ wl1271_warn("FEM index from ini out of bounds\n");
return -EINVAL;
}
@@ -148,7 +148,7 @@ int wl128x_cmd_general_parms(struct wl1271 *wl)
ret = wl1271_cmd_test(wl, gen_parms, sizeof(*gen_parms), answer);
if (ret < 0) {
- wl1271_warning("CMD_INI_FILE_GENERAL_PARAM failed");
+ wl1271_warn("CMD_INI_FILE_GENERAL_PARAM failed\n");
goto out;
}
@@ -156,7 +156,7 @@ int wl128x_cmd_general_parms(struct wl1271 *wl)
gen_parms->general_params.tx_bip_fem_manufacturer;
if (gp->tx_bip_fem_manufacturer >= WL1271_INI_FEM_MODULE_COUNT) {
- wl1271_warning("FEM index from FW out of bounds");
+ wl1271_warn("FEM index from FW out of bounds\n");
ret = -EINVAL;
goto out;
}
@@ -205,7 +205,7 @@ int wl1271_cmd_radio_parms(struct wl1271 *wl)
ret = wl1271_cmd_test(wl, radio_parms, sizeof(*radio_parms), 0);
if (ret < 0)
- wl1271_warning("CMD_INI_FILE_RADIO_PARAM failed");
+ wl1271_warn("CMD_INI_FILE_RADIO_PARAM failed\n");
kfree(radio_parms);
return ret;
@@ -249,7 +249,7 @@ int wl128x_cmd_radio_parms(struct wl1271 *wl)
ret = wl1271_cmd_test(wl, radio_parms, sizeof(*radio_parms), 0);
if (ret < 0)
- wl1271_warning("CMD_INI_FILE_RADIO_PARAM failed");
+ wl1271_warn("CMD_INI_FILE_RADIO_PARAM failed\n");
kfree(radio_parms);
return ret;
diff --git a/drivers/net/wireless/ti/wl12xx/main.c b/drivers/net/wireless/ti/wl12xx/main.c
index 85d1600..64c7fb7 100644
--- a/drivers/net/wireless/ti/wl12xx/main.c
+++ b/drivers/net/wireless/ti/wl12xx/main.c
@@ -626,8 +626,8 @@ static int wl12xx_identify_chip(struct wl1271 *wl)
switch (wl->chip.id) {
case CHIP_ID_1271_PG10:
- wl1271_warning("chip id 0x%x (1271 PG10) support is obsolete",
- wl->chip.id);
+ wl1271_warn("chip id 0x%x (1271 PG10) support is obsolete\n",
+ wl->chip.id);
wl->quirks |= WLCORE_QUIRK_LEGACY_NVS |
WLCORE_QUIRK_TKIP_HEADER_SPACE;
@@ -642,7 +642,7 @@ static int wl12xx_identify_chip(struct wl1271 *wl)
break;
case CHIP_ID_1271_PG20:
- wl1271_debug(DEBUG_BOOT, "chip id 0x%x (1271 PG20)",
+ wl1271_debug(DEBUG_BOOT, "chip id 0x%x (1271 PG20)\n",
wl->chip.id);
wl->quirks |= WLCORE_QUIRK_LEGACY_NVS |
@@ -659,7 +659,7 @@ static int wl12xx_identify_chip(struct wl1271 *wl)
break;
case CHIP_ID_1283_PG20:
- wl1271_debug(DEBUG_BOOT, "chip id 0x%x (1283 PG20)",
+ wl1271_debug(DEBUG_BOOT, "chip id 0x%x (1283 PG20)\n",
wl->chip.id);
wl->plt_fw_name = WL128X_PLT_FW_NAME;
wl->sr_fw_name = WL128X_FW_NAME_SINGLE;
@@ -672,7 +672,7 @@ static int wl12xx_identify_chip(struct wl1271 *wl)
break;
case CHIP_ID_1283_PG10:
default:
- wl1271_warning("unsupported chip id: 0x%x", wl->chip.id);
+ wl1271_warn("unsupported chip id: 0x%x\n", wl->chip.id);
ret = -ENODEV;
goto out;
}
@@ -712,7 +712,7 @@ static u16 wl12xx_top_reg_read(struct wl1271 *wl, int addr)
} while (!(val & OCP_READY_MASK) && --timeout);
if (!timeout) {
- wl1271_warning("Top register access timed out.");
+ wl1271_warn("Top register access timed out\n");
return 0xffff;
}
@@ -720,7 +720,7 @@ static u16 wl12xx_top_reg_read(struct wl1271 *wl, int addr)
if ((val & OCP_STATUS_MASK) == OCP_STATUS_OK)
return val & 0xffff;
else {
- wl1271_warning("Top register access returned error.");
+ wl1271_warn("Top register access returned error\n");
return 0xffff;
}
}
@@ -906,7 +906,7 @@ static int wl127x_boot_clk(struct wl1271 *wl)
pause = wl1271_read32(wl, WL12XX_PLL_PARAMETERS);
- wl1271_debug(DEBUG_BOOT, "pause1 0x%x", pause);
+ wl1271_debug(DEBUG_BOOT, "pause1 0x%x\n", pause);
pause &= ~(WU_COUNTER_PAUSE_VAL);
pause |= WU_COUNTER_PAUSE_VAL;
@@ -927,14 +927,15 @@ static int wl1271_boot_soft_reset(struct wl1271 *wl)
timeout = jiffies + usecs_to_jiffies(SOFT_RESET_MAX_TIME);
while (1) {
boot_data = wl1271_read32(wl, WL12XX_SLV_SOFT_RESET);
- wl1271_debug(DEBUG_BOOT, "soft reset bootdata 0x%x", boot_data);
+ wl1271_debug(DEBUG_BOOT, "soft reset bootdata 0x%x\n",
+ boot_data);
if ((boot_data & ACX_SLV_SOFT_RESET_BIT) == 0)
break;
if (time_after(jiffies, timeout)) {
/* 1.2 check pWhalBus->uSelfClearTime if the
* timeout was reached */
- wl1271_error("soft reset timeout");
+ wl1271_err("soft reset timeout\n");
return -1;
}
@@ -979,7 +980,7 @@ static int wl12xx_pre_boot(struct wl1271 *wl)
clk = wl1271_read32(wl, WL12XX_DRPW_SCRATCH_START);
- wl1271_debug(DEBUG_BOOT, "clk2 0x%x", clk);
+ wl1271_debug(DEBUG_BOOT, "clk2 0x%x\n", clk);
if (wl->chip.id == CHIP_ID_1283_PG20)
clk |= ((selected_clock & 0x3) << 1) << 4;
@@ -1007,13 +1008,13 @@ static void wl12xx_pre_upload(struct wl1271 *wl)
/* write firmware's last address (ie. it's length) to
* ACX_EEPROMLESS_IND_REG */
- wl1271_debug(DEBUG_BOOT, "ACX_EEPROMLESS_IND_REG");
+ wl1271_debug(DEBUG_BOOT, "ACX_EEPROMLESS_IND_REG\n");
wl1271_write32(wl, WL12XX_EEPROMLESS_IND, WL12XX_EEPROMLESS_IND);
tmp = wlcore_read_reg(wl, REG_CHIP_ID_B);
- wl1271_debug(DEBUG_BOOT, "chip id 0x%x", tmp);
+ wl1271_debug(DEBUG_BOOT, "chip id 0x%x\n", tmp);
/* 6. read the EEPROM parameters */
tmp = wl1271_read32(wl, WL12XX_SCR_PAD2);
@@ -1115,7 +1116,7 @@ wl12xx_set_tx_desc_data_len(struct wl1271 *wl, struct wl1271_tx_hw_descr *desc,
desc->length = cpu_to_le16(aligned_len >> 2);
wl1271_debug(DEBUG_TX,
- "tx_fill_hdr: hlid: %d len: %d life: %d mem: %d extra: %d",
+ "tx_fill_hdr: hlid: %d len: %d life: %d mem: %d extra: %d\n",
desc->hlid,
le16_to_cpu(desc->length),
le16_to_cpu(desc->life_time),
@@ -1131,7 +1132,7 @@ wl12xx_set_tx_desc_data_len(struct wl1271 *wl, struct wl1271_tx_hw_descr *desc,
desc->length = cpu_to_le16(aligned_len >> 2);
wl1271_debug(DEBUG_TX,
- "tx_fill_hdr: pad: %d hlid: %d len: %d life: %d mem: %d",
+ "tx_fill_hdr: pad: %d hlid: %d len: %d life: %d mem: %d\n",
pad, desc->hlid,
le16_to_cpu(desc->length),
le16_to_cpu(desc->life_time),
@@ -1262,7 +1263,7 @@ static bool wl12xx_mac_in_fuse(struct wl1271 *wl)
}
wl1271_debug(DEBUG_PROBE,
- "PG Ver major = %d minor = %d, MAC %s present",
+ "PG Ver major = %d minor = %d, MAC %s present\n",
major, minor, supported ? "is" : "is not");
return supported;
@@ -1432,7 +1433,7 @@ static int __devinit wl12xx_probe(struct platform_device *pdev)
hw = wlcore_alloc_hw(sizeof(*priv));
if (IS_ERR(hw)) {
- wl1271_error("can't allocate hw");
+ wl1271_err("can't allocate hw\n");
return PTR_ERR(hw);
}
@@ -1470,7 +1471,7 @@ static int __devinit wl12xx_probe(struct platform_device *pdev)
else if (!strcmp(fref_param, "52"))
priv->ref_clock = WL12XX_REFCLOCK_52;
else
- wl1271_error("Invalid fref parameter %s", fref_param);
+ wl1271_err("Invalid fref parameter %s\n", fref_param);
}
if (!tcxo_param) {
@@ -1493,7 +1494,7 @@ static int __devinit wl12xx_probe(struct platform_device *pdev)
else if (!strcmp(tcxo_param, "33.6"))
priv->tcxo_clock = WL12XX_TCXOCLOCK_33_6;
else
- wl1271_error("Invalid tcxo parameter %s", tcxo_param);
+ wl1271_err("Invalid tcxo parameter %s\n", tcxo_param);
}
return wlcore_probe(wl, pdev);
diff --git a/drivers/net/wireless/ti/wl18xx/acx.c b/drivers/net/wireless/ti/wl18xx/acx.c
index 72840e2..355c3b9 100644
--- a/drivers/net/wireless/ti/wl18xx/acx.c
+++ b/drivers/net/wireless/ti/wl18xx/acx.c
@@ -32,7 +32,7 @@ int wl18xx_acx_host_if_cfg_bitmap(struct wl1271 *wl, u32 host_cfg_bitmap,
struct wl18xx_acx_host_config_bitmap *bitmap_conf;
int ret;
- wl1271_debug(DEBUG_ACX, "acx cfg bitmap %d blk %d spare %d field %d",
+ wl1271_debug(DEBUG_ACX, "acx cfg bitmap %d blk %d spare %d field %d\n",
host_cfg_bitmap, sdio_blk_size, extra_mem_blks,
len_field_size);
@@ -50,7 +50,7 @@ int wl18xx_acx_host_if_cfg_bitmap(struct wl1271 *wl, u32 host_cfg_bitmap,
ret = wl1271_cmd_configure(wl, ACX_HOST_IF_CFG_BITMAP,
bitmap_conf, sizeof(*bitmap_conf));
if (ret < 0) {
- wl1271_warning("wl1271 bitmap config opt failed: %d", ret);
+ wl1271_warn("wl1271 bitmap config opt failed: %d\n", ret);
goto out;
}
@@ -65,7 +65,7 @@ int wl18xx_acx_set_checksum_state(struct wl1271 *wl)
struct wl18xx_acx_checksum_state *acx;
int ret;
- wl1271_debug(DEBUG_ACX, "acx checksum state");
+ wl1271_debug(DEBUG_ACX, "acx checksum state\n");
acx = kzalloc(sizeof(*acx), GFP_KERNEL);
if (!acx) {
@@ -77,7 +77,7 @@ int wl18xx_acx_set_checksum_state(struct wl1271 *wl)
ret = wl1271_cmd_configure(wl, ACX_CHECKSUM_CONFIG, acx, sizeof(*acx));
if (ret < 0) {
- wl1271_warning("failed to set Tx checksum state: %d", ret);
+ wl1271_warn("failed to set Tx checksum state: %d\n", ret);
goto out;
}
@@ -91,7 +91,7 @@ int wl18xx_acx_clear_statistics(struct wl1271 *wl)
struct wl18xx_acx_clear_statistics *acx;
int ret = 0;
- wl1271_debug(DEBUG_ACX, "acx clear statistics");
+ wl1271_debug(DEBUG_ACX, "acx clear statistics\n");
acx = kzalloc(sizeof(*acx), GFP_KERNEL);
if (!acx) {
@@ -101,7 +101,7 @@ int wl18xx_acx_clear_statistics(struct wl1271 *wl)
ret = wl1271_cmd_configure(wl, ACX_CLEAR_STATISTICS, acx, sizeof(*acx));
if (ret < 0) {
- wl1271_warning("failed to clear firmware statistics: %d", ret);
+ wl1271_warn("failed to clear firmware statistics: %d\n", ret);
goto out;
}
diff --git a/drivers/net/wireless/ti/wl18xx/main.c b/drivers/net/wireless/ti/wl18xx/main.c
index ed9c365..98118c3 100644
--- a/drivers/net/wireless/ti/wl18xx/main.c
+++ b/drivers/net/wireless/ti/wl18xx/main.c
@@ -599,8 +599,8 @@ static int wl18xx_identify_chip(struct wl1271 *wl)
switch (wl->chip.id) {
case CHIP_ID_185x_PG20:
- wl1271_debug(DEBUG_BOOT, "chip id 0x%x (185x PG20)",
- wl->chip.id);
+ wl1271_debug(DEBUG_BOOT, "chip id 0x%x (185x PG20)\n",
+ wl->chip.id);
wl->sr_fw_name = WL18XX_FW_NAME;
/* wl18xx uses the same firmware for PLT */
wl->plt_fw_name = WL18XX_FW_NAME;
@@ -610,7 +610,7 @@ static int wl18xx_identify_chip(struct wl1271 *wl)
break;
case CHIP_ID_185x_PG10:
- wl1271_debug(DEBUG_BOOT, "chip id 0x%x (185x PG10)",
+ wl1271_debug(DEBUG_BOOT, "chip id 0x%x (185x PG10)\n",
wl->chip.id);
wl->sr_fw_name = WL18XX_FW_NAME;
/* wl18xx uses the same firmware for PLT */
@@ -625,7 +625,7 @@ static int wl18xx_identify_chip(struct wl1271 *wl)
break;
default:
- wl1271_warning("unsupported chip id: 0x%x", wl->chip.id);
+ wl1271_warn("unsupported chip id: 0x%x\n", wl->chip.id);
ret = -ENODEV;
goto out;
}
@@ -643,7 +643,8 @@ static void wl18xx_set_clk(struct wl1271 *wl)
/* TODO: PG2: apparently we need to read the clk type */
clk_freq = wl18xx_top_reg_read(wl, PRIMARY_CLK_DETECT);
- wl1271_debug(DEBUG_BOOT, "clock freq %d (%d, %d, %d, %d, %s)", clk_freq,
+ wl1271_debug(DEBUG_BOOT, "clock freq %d (%d, %d, %d, %d, %s)\n",
+ clk_freq,
wl18xx_clk_table[clk_freq].n, wl18xx_clk_table[clk_freq].m,
wl18xx_clk_table[clk_freq].p, wl18xx_clk_table[clk_freq].q,
wl18xx_clk_table[clk_freq].swallow ? "swallow" : "spit");
@@ -713,7 +714,7 @@ static void wl18xx_pre_upload(struct wl1271 *wl)
tmp = wlcore_read_reg(wl, REG_CHIP_ID_B);
- wl1271_debug(DEBUG_BOOT, "chip id 0x%x", tmp);
+ wl1271_debug(DEBUG_BOOT, "chip id 0x%x\n", tmp);
tmp = wl1271_read32(wl, WL18XX_SCR_PAD2);
}
@@ -821,8 +822,8 @@ wl18xx_set_tx_desc_data_len(struct wl1271 *wl, struct wl1271_tx_hw_descr *desc,
else
desc->wl18xx_mem.ctrl = 0;
- wl1271_debug(DEBUG_TX, "tx_fill_hdr: hlid: %d "
- "len: %d life: %d mem: %d", desc->hlid,
+ wl1271_debug(DEBUG_TX, "tx_fill_hdr: hlid: %d len: %d life: %d mem: %d\n",
+ desc->hlid,
le16_to_cpu(desc->length),
le16_to_cpu(desc->life_time),
desc->wl18xx_mem.total_mem_blocks);
@@ -954,7 +955,7 @@ static u32 wl18xx_sta_get_ap_rate_mask(struct wl1271 *wl,
if (wlvif->channel_type == NL80211_CHAN_HT40MINUS ||
wlvif->channel_type == NL80211_CHAN_HT40PLUS) {
- wl1271_debug(DEBUG_ACX, "using wide channel rate mask");
+ wl1271_debug(DEBUG_ACX, "using wide channel rate mask\n");
hw_rate_set |= CONF_TX_RATE_USE_WIDE_CHAN;
/* we don't support MIMO in wide-channel mode */
@@ -970,10 +971,10 @@ static u32 wl18xx_ap_get_mimo_wide_rate_mask(struct wl1271 *wl,
if ((wlvif->channel_type == NL80211_CHAN_HT40MINUS ||
wlvif->channel_type == NL80211_CHAN_HT40PLUS) &&
!strcmp(ht_mode_param, "wide")) {
- wl1271_debug(DEBUG_ACX, "using wide channel rate mask");
+ wl1271_debug(DEBUG_ACX, "using wide channel rate mask\n");
return CONF_TX_RATE_USE_WIDE_CHAN;
} else if (!strcmp(ht_mode_param, "mimo")) {
- wl1271_debug(DEBUG_ACX, "using MIMO rate mask");
+ wl1271_debug(DEBUG_ACX, "using MIMO rate mask\n");
/*
* PG 1.0 has some problems with MCS_13, so disable it
@@ -1015,15 +1016,14 @@ static int wl18xx_conf_init(struct wl1271 *wl, struct device *dev)
ret = request_firmware(&fw, WL18XX_CONF_FILE_NAME, dev);
if (ret < 0) {
- wl1271_error("could not get configuration binary %s: %d",
- WL18XX_CONF_FILE_NAME, ret);
+ wl1271_err("could not get configuration binary %s: %d\n",
+ WL18XX_CONF_FILE_NAME, ret);
goto out_fallback;
}
if (fw->size != WL18XX_CONF_SIZE) {
- wl1271_error("configuration binary file size is wrong, "
- "expected %ld got %zd",
- WL18XX_CONF_SIZE, fw->size);
+ wl1271_err("configuration binary file size is wrong, expected %ld got %zd\n",
+ (unsigned long)WL18XX_CONF_SIZE, fw->size);
ret = -EINVAL;
goto out;
}
@@ -1031,17 +1031,16 @@ static int wl18xx_conf_init(struct wl1271 *wl, struct device *dev)
conf_file = (struct wlcore_conf_file *) fw->data;
if (conf_file->header.magic != cpu_to_le32(WL18XX_CONF_MAGIC)) {
- wl1271_error("configuration binary file magic number mismatch, "
- "expected 0x%0x got 0x%0x", WL18XX_CONF_MAGIC,
- conf_file->header.magic);
+ wl1271_err("configuration binary file magic number mismatch, expected 0x%0x got 0x%0x\n",
+ WL18XX_CONF_MAGIC,
+ conf_file->header.magic);
ret = -EINVAL;
goto out;
}
if (conf_file->header.version != cpu_to_le32(WL18XX_CONF_VERSION)) {
- wl1271_error("configuration binary file version not supported, "
- "expected 0x%08x got 0x%08x",
- WL18XX_CONF_VERSION, conf_file->header.version);
+ wl1271_err("configuration binary file version not supported, expected 0x%08x got 0x%08x\n",
+ WL18XX_CONF_VERSION, conf_file->header.version);
ret = -EINVAL;
goto out;
}
@@ -1052,7 +1051,7 @@ static int wl18xx_conf_init(struct wl1271 *wl, struct device *dev)
goto out;
out_fallback:
- wl1271_warning("falling back to default config");
+ wl1271_warn("falling back to default config\n");
/* apply driver default configuration */
memcpy(&wl->conf, &wl18xx_conf, sizeof(wl18xx_conf));
@@ -1097,7 +1096,8 @@ static int wl18xx_handle_static_data(struct wl1271 *wl,
struct wl18xx_static_data_priv *static_data_priv =
(struct wl18xx_static_data_priv *) static_data->priv;
- wl1271_info("PHY firmware version: %s", static_data_priv->phy_version);
+ wl1271_info("PHY firmware version: %s\n",
+ static_data_priv->phy_version);
return 0;
}
@@ -1275,7 +1275,7 @@ static int __devinit wl18xx_probe(struct platform_device *pdev)
hw = wlcore_alloc_hw(sizeof(*priv));
if (IS_ERR(hw)) {
- wl1271_error("can't allocate hw");
+ wl1271_err("can't allocate hw\n");
ret = PTR_ERR(hw);
goto out;
}
@@ -1316,7 +1316,7 @@ static int __devinit wl18xx_probe(struct platform_device *pdev)
&wl18xx_siso20_ht_cap,
sizeof(wl18xx_siso20_ht_cap));
} else {
- wl1271_error("invalid ht_mode '%s'", ht_mode_param);
+ wl1271_err("invalid ht_mode '%s'\n", ht_mode_param);
ret = -EINVAL;
goto out_free;
}
@@ -1340,7 +1340,7 @@ static int __devinit wl18xx_probe(struct platform_device *pdev)
/* HACK! Just for now we hardcode COM8 to 0x06 */
priv->conf.phy.low_band_component_type = 0x06;
} else {
- wl1271_error("invalid board type '%s'", board_type_param);
+ wl1271_err("invalid board type '%s'\n", board_type_param);
ret = -EINVAL;
goto out_free;
}
diff --git a/drivers/net/wireless/ti/wl18xx/tx.c b/drivers/net/wireless/ti/wl18xx/tx.c
index 5b1fb10..aef7eae 100644
--- a/drivers/net/wireless/ti/wl18xx/tx.c
+++ b/drivers/net/wireless/ti/wl18xx/tx.c
@@ -37,7 +37,7 @@ static void wl18xx_tx_complete_packet(struct wl1271 *wl, u8 tx_stat_byte)
/* check for id legality */
if (unlikely(id >= wl->num_tx_desc || wl->tx_frames[id] == NULL)) {
- wl1271_warning("illegal id in tx completion: %d", id);
+ wl1271_warn("illegal id in tx completion: %d\n", id);
return;
}
@@ -83,7 +83,7 @@ static void wl18xx_tx_complete_packet(struct wl1271 *wl, u8 tx_stat_byte)
skb_pull(skb, WL1271_EXTRA_SPACE_TKIP);
}
- wl1271_debug(DEBUG_TX, "tx status id %u skb 0x%p success %d",
+ wl1271_debug(DEBUG_TX, "tx status id %u skb 0x%p success %d\n",
id, skb, tx_success);
/* return the packet to the stack */
@@ -104,12 +104,12 @@ void wl18xx_tx_immediate_complete(struct wl1271 *wl)
return;
/* freed Tx descriptors */
- wl1271_debug(DEBUG_TX, "last released desc = %d, current idx = %d",
+ wl1271_debug(DEBUG_TX, "last released desc = %d, current idx = %d\n",
priv->last_fw_rls_idx, status_priv->fw_release_idx);
if (status_priv->fw_release_idx >= WL18XX_FW_MAX_TX_STATUS_DESC) {
- wl1271_error("invalid desc release index %d",
- status_priv->fw_release_idx);
+ wl1271_err("invalid desc release index %d\n",
+ status_priv->fw_release_idx);
WARN_ON(1);
return;
}
diff --git a/drivers/net/wireless/ti/wlcore/acx.c b/drivers/net/wireless/ti/wlcore/acx.c
index b9ec42c..55172d2 100644
--- a/drivers/net/wireless/ti/wlcore/acx.c
+++ b/drivers/net/wireless/ti/wlcore/acx.c
@@ -40,7 +40,7 @@ int wl1271_acx_wake_up_conditions(struct wl1271 *wl, struct wl12xx_vif *wlvif,
struct acx_wake_up_condition *wake_up;
int ret;
- wl1271_debug(DEBUG_ACX, "acx wake up conditions (wake_up_event %d listen_interval %d)",
+ wl1271_debug(DEBUG_ACX, "acx wake up conditions (wake_up_event %d listen_interval %d)\n",
wake_up_event, listen_interval);
wake_up = kzalloc(sizeof(*wake_up), GFP_KERNEL);
@@ -56,7 +56,7 @@ int wl1271_acx_wake_up_conditions(struct wl1271 *wl, struct wl12xx_vif *wlvif,
ret = wl1271_cmd_configure(wl, ACX_WAKE_UP_CONDITIONS,
wake_up, sizeof(*wake_up));
if (ret < 0) {
- wl1271_warning("could not set wake up conditions: %d", ret);
+ wl1271_warn("could not set wake up conditions: %d\n", ret);
goto out;
}
@@ -70,7 +70,7 @@ int wl1271_acx_sleep_auth(struct wl1271 *wl, u8 sleep_auth)
struct acx_sleep_auth *auth;
int ret;
- wl1271_debug(DEBUG_ACX, "acx sleep auth");
+ wl1271_debug(DEBUG_ACX, "acx sleep auth\n");
auth = kzalloc(sizeof(*auth), GFP_KERNEL);
if (!auth) {
@@ -94,7 +94,7 @@ int wl1271_acx_tx_power(struct wl1271 *wl, struct wl12xx_vif *wlvif,
struct acx_current_tx_power *acx;
int ret;
- wl1271_debug(DEBUG_ACX, "acx dot11_cur_tx_pwr %d", power);
+ wl1271_debug(DEBUG_ACX, "acx dot11_cur_tx_pwr %d\n", power);
if (power < 0 || power > 25)
return -EINVAL;
@@ -110,7 +110,7 @@ int wl1271_acx_tx_power(struct wl1271 *wl, struct wl12xx_vif *wlvif,
ret = wl1271_cmd_configure(wl, DOT11_CUR_TX_PWR, acx, sizeof(*acx));
if (ret < 0) {
- wl1271_warning("configure of tx power failed: %d", ret);
+ wl1271_warn("configure of tx power failed: %d\n", ret);
goto out;
}
@@ -124,7 +124,7 @@ int wl1271_acx_feature_cfg(struct wl1271 *wl, struct wl12xx_vif *wlvif)
struct acx_feature_config *feature;
int ret;
- wl1271_debug(DEBUG_ACX, "acx feature cfg");
+ wl1271_debug(DEBUG_ACX, "acx feature cfg\n");
feature = kzalloc(sizeof(*feature), GFP_KERNEL);
if (!feature) {
@@ -140,7 +140,7 @@ int wl1271_acx_feature_cfg(struct wl1271 *wl, struct wl12xx_vif *wlvif)
ret = wl1271_cmd_configure(wl, ACX_FEATURE_CFG,
feature, sizeof(*feature));
if (ret < 0) {
- wl1271_error("Couldnt set HW encryption");
+ wl1271_err("Couldnt set HW encryption\n");
goto out;
}
@@ -154,7 +154,7 @@ int wl1271_acx_mem_map(struct wl1271 *wl, struct acx_header *mem_map,
{
int ret;
- wl1271_debug(DEBUG_ACX, "acx mem map");
+ wl1271_debug(DEBUG_ACX, "acx mem map\n");
ret = wl1271_cmd_interrogate(wl, ACX_MEM_MAP, mem_map, len);
if (ret < 0)
@@ -168,7 +168,7 @@ int wl1271_acx_rx_msdu_life_time(struct wl1271 *wl)
struct acx_rx_msdu_lifetime *acx;
int ret;
- wl1271_debug(DEBUG_ACX, "acx rx msdu life time");
+ wl1271_debug(DEBUG_ACX, "acx rx msdu life time\n");
acx = kzalloc(sizeof(*acx), GFP_KERNEL);
if (!acx) {
@@ -180,7 +180,7 @@ int wl1271_acx_rx_msdu_life_time(struct wl1271 *wl)
ret = wl1271_cmd_configure(wl, DOT11_RX_MSDU_LIFE_TIME,
acx, sizeof(*acx));
if (ret < 0) {
- wl1271_warning("failed to set rx msdu life time: %d", ret);
+ wl1271_warn("failed to set rx msdu life time: %d\n", ret);
goto out;
}
@@ -195,7 +195,7 @@ int wl1271_acx_slot(struct wl1271 *wl, struct wl12xx_vif *wlvif,
struct acx_slot *slot;
int ret;
- wl1271_debug(DEBUG_ACX, "acx slot");
+ wl1271_debug(DEBUG_ACX, "acx slot\n");
slot = kzalloc(sizeof(*slot), GFP_KERNEL);
if (!slot) {
@@ -209,7 +209,7 @@ int wl1271_acx_slot(struct wl1271 *wl, struct wl12xx_vif *wlvif,
ret = wl1271_cmd_configure(wl, ACX_SLOT, slot, sizeof(*slot));
if (ret < 0) {
- wl1271_warning("failed to set slot time: %d", ret);
+ wl1271_warn("failed to set slot time: %d\n", ret);
goto out;
}
@@ -224,7 +224,7 @@ int wl1271_acx_group_address_tbl(struct wl1271 *wl, struct wl12xx_vif *wlvif,
struct acx_dot11_grp_addr_tbl *acx;
int ret;
- wl1271_debug(DEBUG_ACX, "acx group address tbl");
+ wl1271_debug(DEBUG_ACX, "acx group address tbl\n");
acx = kzalloc(sizeof(*acx), GFP_KERNEL);
if (!acx) {
@@ -241,7 +241,7 @@ int wl1271_acx_group_address_tbl(struct wl1271 *wl, struct wl12xx_vif *wlvif,
ret = wl1271_cmd_configure(wl, DOT11_GROUP_ADDRESS_TBL,
acx, sizeof(*acx));
if (ret < 0) {
- wl1271_warning("failed to set group addr table: %d", ret);
+ wl1271_warn("failed to set group addr table: %d\n", ret);
goto out;
}
@@ -262,7 +262,7 @@ int wl1271_acx_service_period_timeout(struct wl1271 *wl,
goto out;
}
- wl1271_debug(DEBUG_ACX, "acx service period timeout");
+ wl1271_debug(DEBUG_ACX, "acx service period timeout\n");
rx_timeout->role_id = wlvif->role_id;
rx_timeout->ps_poll_timeout = cpu_to_le16(wl->conf.rx.ps_poll_timeout);
@@ -271,8 +271,8 @@ int wl1271_acx_service_period_timeout(struct wl1271 *wl,
ret = wl1271_cmd_configure(wl, ACX_SERVICE_PERIOD_TIMEOUT,
rx_timeout, sizeof(*rx_timeout));
if (ret < 0) {
- wl1271_warning("failed to set service period timeout: %d",
- ret);
+ wl1271_warn("failed to set service period timeout: %d\n",
+ ret);
goto out;
}
@@ -294,7 +294,7 @@ int wl1271_acx_rts_threshold(struct wl1271 *wl, struct wl12xx_vif *wlvif,
if (rts_threshold > IEEE80211_MAX_RTS_THRESHOLD)
rts_threshold = wl->conf.rx.rts_threshold;
- wl1271_debug(DEBUG_ACX, "acx rts threshold: %d", rts_threshold);
+ wl1271_debug(DEBUG_ACX, "acx rts threshold: %d\n", rts_threshold);
rts = kzalloc(sizeof(*rts), GFP_KERNEL);
if (!rts) {
@@ -307,7 +307,7 @@ int wl1271_acx_rts_threshold(struct wl1271 *wl, struct wl12xx_vif *wlvif,
ret = wl1271_cmd_configure(wl, DOT11_RTS_THRESHOLD, rts, sizeof(*rts));
if (ret < 0) {
- wl1271_warning("failed to set rts threshold: %d", ret);
+ wl1271_warn("failed to set rts threshold: %d\n", ret);
goto out;
}
@@ -322,7 +322,7 @@ int wl1271_acx_dco_itrim_params(struct wl1271 *wl)
struct conf_itrim_settings *c = &wl->conf.itrim;
int ret;
- wl1271_debug(DEBUG_ACX, "acx dco itrim parameters");
+ wl1271_debug(DEBUG_ACX, "acx dco itrim parameters\n");
dco = kzalloc(sizeof(*dco), GFP_KERNEL);
if (!dco) {
@@ -336,7 +336,7 @@ int wl1271_acx_dco_itrim_params(struct wl1271 *wl)
ret = wl1271_cmd_configure(wl, ACX_SET_DCO_ITRIM_PARAMS,
dco, sizeof(*dco));
if (ret < 0) {
- wl1271_warning("failed to set dco itrim parameters: %d", ret);
+ wl1271_warn("failed to set dco itrim parameters: %d\n", ret);
goto out;
}
@@ -351,7 +351,7 @@ int wl1271_acx_beacon_filter_opt(struct wl1271 *wl, struct wl12xx_vif *wlvif,
struct acx_beacon_filter_option *beacon_filter = NULL;
int ret = 0;
- wl1271_debug(DEBUG_ACX, "acx beacon filter opt");
+ wl1271_debug(DEBUG_ACX, "acx beacon filter opt\n");
if (enable_filter &&
wl->conf.conn.bcn_filt_mode == CONF_BCN_FILT_MODE_DISABLED)
@@ -375,7 +375,7 @@ int wl1271_acx_beacon_filter_opt(struct wl1271 *wl, struct wl12xx_vif *wlvif,
ret = wl1271_cmd_configure(wl, ACX_BEACON_FILTER_OPT,
beacon_filter, sizeof(*beacon_filter));
if (ret < 0) {
- wl1271_warning("failed to set beacon filter opt: %d", ret);
+ wl1271_warn("failed to set beacon filter opt: %d\n", ret);
goto out;
}
@@ -392,7 +392,7 @@ int wl1271_acx_beacon_filter_table(struct wl1271 *wl,
int ret;
bool vendor_spec = false;
- wl1271_debug(DEBUG_ACX, "acx beacon filter table");
+ wl1271_debug(DEBUG_ACX, "acx beacon filter table\n");
ie_table = kzalloc(sizeof(*ie_table), GFP_KERNEL);
if (!ie_table) {
@@ -431,7 +431,7 @@ int wl1271_acx_beacon_filter_table(struct wl1271 *wl,
ret = wl1271_cmd_configure(wl, ACX_BEACON_FILTER_TABLE,
ie_table, sizeof(*ie_table));
if (ret < 0) {
- wl1271_warning("failed to set beacon filter table: %d", ret);
+ wl1271_warn("failed to set beacon filter table: %d\n", ret);
goto out;
}
@@ -450,7 +450,7 @@ int wl1271_acx_conn_monit_params(struct wl1271 *wl, struct wl12xx_vif *wlvif,
u32 timeout = ACX_CONN_MONIT_DISABLE_VALUE;
int ret;
- wl1271_debug(DEBUG_ACX, "acx connection monitor parameters: %s",
+ wl1271_debug(DEBUG_ACX, "acx connection monitor parameters: %s\n",
enable ? "enabled" : "disabled");
acx = kzalloc(sizeof(*acx), GFP_KERNEL);
@@ -471,8 +471,8 @@ int wl1271_acx_conn_monit_params(struct wl1271 *wl, struct wl12xx_vif *wlvif,
ret = wl1271_cmd_configure(wl, ACX_CONN_MONIT_PARAMS,
acx, sizeof(*acx));
if (ret < 0) {
- wl1271_warning("failed to set connection monitor "
- "parameters: %d", ret);
+ wl1271_warn("failed to set connection monitor parameters: %d\n",
+ ret);
goto out;
}
@@ -487,7 +487,7 @@ int wl1271_acx_sg_enable(struct wl1271 *wl, bool enable)
struct acx_bt_wlan_coex *pta;
int ret;
- wl1271_debug(DEBUG_ACX, "acx sg enable");
+ wl1271_debug(DEBUG_ACX, "acx sg enable\n");
pta = kzalloc(sizeof(*pta), GFP_KERNEL);
if (!pta) {
@@ -502,7 +502,7 @@ int wl1271_acx_sg_enable(struct wl1271 *wl, bool enable)
ret = wl1271_cmd_configure(wl, ACX_SG_ENABLE, pta, sizeof(*pta));
if (ret < 0) {
- wl1271_warning("failed to set softgemini enable: %d", ret);
+ wl1271_warn("failed to set softgemini enable: %d\n", ret);
goto out;
}
@@ -517,7 +517,7 @@ int wl12xx_acx_sg_cfg(struct wl1271 *wl)
struct conf_sg_settings *c = &wl->conf.sg;
int i, ret;
- wl1271_debug(DEBUG_ACX, "acx sg cfg");
+ wl1271_debug(DEBUG_ACX, "acx sg cfg\n");
param = kzalloc(sizeof(*param), GFP_KERNEL);
if (!param) {
@@ -532,7 +532,7 @@ int wl12xx_acx_sg_cfg(struct wl1271 *wl)
ret = wl1271_cmd_configure(wl, ACX_SG_CFG, param, sizeof(*param));
if (ret < 0) {
- wl1271_warning("failed to set sg config: %d", ret);
+ wl1271_warn("failed to set sg config: %d\n", ret);
goto out;
}
@@ -546,7 +546,7 @@ int wl1271_acx_cca_threshold(struct wl1271 *wl)
struct acx_energy_detection *detection;
int ret;
- wl1271_debug(DEBUG_ACX, "acx cca threshold");
+ wl1271_debug(DEBUG_ACX, "acx cca threshold\n");
detection = kzalloc(sizeof(*detection), GFP_KERNEL);
if (!detection) {
@@ -560,7 +560,7 @@ int wl1271_acx_cca_threshold(struct wl1271 *wl)
ret = wl1271_cmd_configure(wl, ACX_CCA_THRESHOLD,
detection, sizeof(*detection));
if (ret < 0)
- wl1271_warning("failed to set cca threshold: %d", ret);
+ wl1271_warn("failed to set cca threshold: %d\n", ret);
out:
kfree(detection);
@@ -572,7 +572,7 @@ int wl1271_acx_bcn_dtim_options(struct wl1271 *wl, struct wl12xx_vif *wlvif)
struct acx_beacon_broadcast *bb;
int ret;
- wl1271_debug(DEBUG_ACX, "acx bcn dtim options");
+ wl1271_debug(DEBUG_ACX, "acx bcn dtim options\n");
bb = kzalloc(sizeof(*bb), GFP_KERNEL);
if (!bb) {
@@ -588,7 +588,7 @@ int wl1271_acx_bcn_dtim_options(struct wl1271 *wl, struct wl12xx_vif *wlvif)
ret = wl1271_cmd_configure(wl, ACX_BCN_DTIM_OPTIONS, bb, sizeof(*bb));
if (ret < 0) {
- wl1271_warning("failed to set rx config: %d", ret);
+ wl1271_warn("failed to set rx config: %d\n", ret);
goto out;
}
@@ -602,7 +602,7 @@ int wl1271_acx_aid(struct wl1271 *wl, struct wl12xx_vif *wlvif, u16 aid)
struct acx_aid *acx_aid;
int ret;
- wl1271_debug(DEBUG_ACX, "acx aid");
+ wl1271_debug(DEBUG_ACX, "acx aid\n");
acx_aid = kzalloc(sizeof(*acx_aid), GFP_KERNEL);
if (!acx_aid) {
@@ -615,7 +615,7 @@ int wl1271_acx_aid(struct wl1271 *wl, struct wl12xx_vif *wlvif, u16 aid)
ret = wl1271_cmd_configure(wl, ACX_AID, acx_aid, sizeof(*acx_aid));
if (ret < 0) {
- wl1271_warning("failed to set aid: %d", ret);
+ wl1271_warn("failed to set aid: %d\n", ret);
goto out;
}
@@ -629,7 +629,7 @@ int wl1271_acx_event_mbox_mask(struct wl1271 *wl, u32 event_mask)
struct acx_event_mask *mask;
int ret;
- wl1271_debug(DEBUG_ACX, "acx event mbox mask");
+ wl1271_debug(DEBUG_ACX, "acx event mbox mask\n");
mask = kzalloc(sizeof(*mask), GFP_KERNEL);
if (!mask) {
@@ -644,7 +644,7 @@ int wl1271_acx_event_mbox_mask(struct wl1271 *wl, u32 event_mask)
ret = wl1271_cmd_configure(wl, ACX_EVENT_MBOX_MASK,
mask, sizeof(*mask));
if (ret < 0) {
- wl1271_warning("failed to set acx_event_mbox_mask: %d", ret);
+ wl1271_warn("failed to set acx_event_mbox_mask: %d\n", ret);
goto out;
}
@@ -659,7 +659,7 @@ int wl1271_acx_set_preamble(struct wl1271 *wl, struct wl12xx_vif *wlvif,
struct acx_preamble *acx;
int ret;
- wl1271_debug(DEBUG_ACX, "acx_set_preamble");
+ wl1271_debug(DEBUG_ACX, "acx_set_preamble\n");
acx = kzalloc(sizeof(*acx), GFP_KERNEL);
if (!acx) {
@@ -672,7 +672,7 @@ int wl1271_acx_set_preamble(struct wl1271 *wl, struct wl12xx_vif *wlvif,
ret = wl1271_cmd_configure(wl, ACX_PREAMBLE_TYPE, acx, sizeof(*acx));
if (ret < 0) {
- wl1271_warning("Setting of preamble failed: %d", ret);
+ wl1271_warn("Setting of preamble failed: %d\n", ret);
goto out;
}
@@ -687,7 +687,7 @@ int wl1271_acx_cts_protect(struct wl1271 *wl, struct wl12xx_vif *wlvif,
struct acx_ctsprotect *acx;
int ret;
- wl1271_debug(DEBUG_ACX, "acx_set_ctsprotect");
+ wl1271_debug(DEBUG_ACX, "acx_set_ctsprotect\n");
acx = kzalloc(sizeof(*acx), GFP_KERNEL);
if (!acx) {
@@ -700,7 +700,7 @@ int wl1271_acx_cts_protect(struct wl1271 *wl, struct wl12xx_vif *wlvif,
ret = wl1271_cmd_configure(wl, ACX_CTS_PROTECTION, acx, sizeof(*acx));
if (ret < 0) {
- wl1271_warning("Setting of ctsprotect failed: %d", ret);
+ wl1271_warn("Setting of ctsprotect failed: %d\n", ret);
goto out;
}
@@ -713,12 +713,12 @@ int wl1271_acx_statistics(struct wl1271 *wl, void *stats)
{
int ret;
- wl1271_debug(DEBUG_ACX, "acx statistics");
+ wl1271_debug(DEBUG_ACX, "acx statistics\n");
ret = wl1271_cmd_interrogate(wl, ACX_STATISTICS, stats,
wl->stats.fw_stats_len);
if (ret < 0) {
- wl1271_warning("acx statistics failed: %d", ret);
+ wl1271_warn("acx statistics failed: %d\n", ret);
return -ENOMEM;
}
@@ -731,7 +731,7 @@ int wl1271_acx_sta_rate_policies(struct wl1271 *wl, struct wl12xx_vif *wlvif)
struct conf_tx_rate_class *c = &wl->conf.tx.sta_rc_conf;
int ret = 0;
- wl1271_debug(DEBUG_ACX, "acx rate policies");
+ wl1271_debug(DEBUG_ACX, "acx rate policies\n");
acx = kzalloc(sizeof(*acx), GFP_KERNEL);
@@ -740,8 +740,8 @@ int wl1271_acx_sta_rate_policies(struct wl1271 *wl, struct wl12xx_vif *wlvif)
goto out;
}
- wl1271_debug(DEBUG_ACX, "basic_rate: 0x%x, full_rate: 0x%x",
- wlvif->basic_rate, wlvif->rate_set);
+ wl1271_debug(DEBUG_ACX, "basic_rate: 0x%x, full_rate: 0x%x\n",
+ wlvif->basic_rate, wlvif->rate_set);
/* configure one basic rate class */
acx->rate_policy_idx = cpu_to_le32(wlvif->sta.basic_rate_idx);
@@ -752,7 +752,7 @@ int wl1271_acx_sta_rate_policies(struct wl1271 *wl, struct wl12xx_vif *wlvif)
ret = wl1271_cmd_configure(wl, ACX_RATE_POLICY, acx, sizeof(*acx));
if (ret < 0) {
- wl1271_warning("Setting of rate policies failed: %d", ret);
+ wl1271_warn("Setting of rate policies failed: %d\n", ret);
goto out;
}
@@ -768,7 +768,7 @@ int wl1271_acx_sta_rate_policies(struct wl1271 *wl, struct wl12xx_vif *wlvif)
ret = wl1271_cmd_configure(wl, ACX_RATE_POLICY, acx, sizeof(*acx));
if (ret < 0) {
- wl1271_warning("Setting of rate policies failed: %d", ret);
+ wl1271_warn("Setting of rate policies failed: %d\n", ret);
goto out;
}
@@ -786,7 +786,7 @@ int wl1271_acx_sta_rate_policies(struct wl1271 *wl, struct wl12xx_vif *wlvif)
ret = wl1271_cmd_configure(wl, ACX_RATE_POLICY, acx, sizeof(*acx));
if (ret < 0) {
- wl1271_warning("Setting of rate policies failed: %d", ret);
+ wl1271_warn("Setting of rate policies failed: %d\n", ret);
goto out;
}
@@ -801,7 +801,7 @@ int wl1271_acx_ap_rate_policy(struct wl1271 *wl, struct conf_tx_rate_class *c,
struct acx_rate_policy *acx;
int ret = 0;
- wl1271_debug(DEBUG_ACX, "acx ap rate policy %d rates 0x%x",
+ wl1271_debug(DEBUG_ACX, "acx ap rate policy %d rates 0x%x\n",
idx, c->enabled_rates);
acx = kzalloc(sizeof(*acx), GFP_KERNEL);
@@ -819,7 +819,7 @@ int wl1271_acx_ap_rate_policy(struct wl1271 *wl, struct conf_tx_rate_class *c,
ret = wl1271_cmd_configure(wl, ACX_RATE_POLICY, acx, sizeof(*acx));
if (ret < 0) {
- wl1271_warning("Setting of ap rate policy failed: %d", ret);
+ wl1271_warn("Setting of ap rate policy failed: %d\n", ret);
goto out;
}
@@ -834,8 +834,8 @@ int wl1271_acx_ac_cfg(struct wl1271 *wl, struct wl12xx_vif *wlvif,
struct acx_ac_cfg *acx;
int ret = 0;
- wl1271_debug(DEBUG_ACX, "acx ac cfg %d cw_ming %d cw_max %d "
- "aifs %d txop %d", ac, cw_min, cw_max, aifsn, txop);
+ wl1271_debug(DEBUG_ACX, "acx ac cfg %d cw_ming %d cw_max %d aifs %d txop %d\n",
+ ac, cw_min, cw_max, aifsn, txop);
acx = kzalloc(sizeof(*acx), GFP_KERNEL);
@@ -853,7 +853,7 @@ int wl1271_acx_ac_cfg(struct wl1271 *wl, struct wl12xx_vif *wlvif,
ret = wl1271_cmd_configure(wl, ACX_AC_CFG, acx, sizeof(*acx));
if (ret < 0) {
- wl1271_warning("acx ac cfg failed: %d", ret);
+ wl1271_warn("acx ac cfg failed: %d\n", ret);
goto out;
}
@@ -870,7 +870,7 @@ int wl1271_acx_tid_cfg(struct wl1271 *wl, struct wl12xx_vif *wlvif,
struct acx_tid_config *acx;
int ret = 0;
- wl1271_debug(DEBUG_ACX, "acx tid config");
+ wl1271_debug(DEBUG_ACX, "acx tid config\n");
acx = kzalloc(sizeof(*acx), GFP_KERNEL);
@@ -890,7 +890,7 @@ int wl1271_acx_tid_cfg(struct wl1271 *wl, struct wl12xx_vif *wlvif,
ret = wl1271_cmd_configure(wl, ACX_TID_CFG, acx, sizeof(*acx));
if (ret < 0) {
- wl1271_warning("Setting of tid config failed: %d", ret);
+ wl1271_warn("Setting of tid config failed: %d\n", ret);
goto out;
}
@@ -911,7 +911,7 @@ int wl1271_acx_frag_threshold(struct wl1271 *wl, u32 frag_threshold)
if (frag_threshold > IEEE80211_MAX_FRAG_THRESHOLD)
frag_threshold = wl->conf.tx.frag_threshold;
- wl1271_debug(DEBUG_ACX, "acx frag threshold: %d", frag_threshold);
+ wl1271_debug(DEBUG_ACX, "acx frag threshold: %d\n", frag_threshold);
acx = kzalloc(sizeof(*acx), GFP_KERNEL);
@@ -923,7 +923,7 @@ int wl1271_acx_frag_threshold(struct wl1271 *wl, u32 frag_threshold)
acx->frag_threshold = cpu_to_le16((u16)frag_threshold);
ret = wl1271_cmd_configure(wl, ACX_FRAG_CFG, acx, sizeof(*acx));
if (ret < 0) {
- wl1271_warning("Setting of frag threshold failed: %d", ret);
+ wl1271_warn("Setting of frag threshold failed: %d\n", ret);
goto out;
}
@@ -937,7 +937,7 @@ int wl1271_acx_tx_config_options(struct wl1271 *wl)
struct acx_tx_config_options *acx;
int ret = 0;
- wl1271_debug(DEBUG_ACX, "acx tx config options");
+ wl1271_debug(DEBUG_ACX, "acx tx config options\n");
acx = kzalloc(sizeof(*acx), GFP_KERNEL);
@@ -950,7 +950,7 @@ int wl1271_acx_tx_config_options(struct wl1271 *wl)
acx->tx_compl_threshold = cpu_to_le16(wl->conf.tx.tx_compl_threshold);
ret = wl1271_cmd_configure(wl, ACX_TX_CONFIG_OPT, acx, sizeof(*acx));
if (ret < 0) {
- wl1271_warning("Setting of tx options failed: %d", ret);
+ wl1271_warn("Setting of tx options failed: %d\n", ret);
goto out;
}
@@ -965,7 +965,7 @@ int wl12xx_acx_mem_cfg(struct wl1271 *wl)
struct conf_memory_settings *mem;
int ret;
- wl1271_debug(DEBUG_ACX, "wl1271 mem cfg");
+ wl1271_debug(DEBUG_ACX, "wl1271 mem cfg\n");
mem_conf = kzalloc(sizeof(*mem_conf), GFP_KERNEL);
if (!mem_conf) {
@@ -990,7 +990,7 @@ int wl12xx_acx_mem_cfg(struct wl1271 *wl)
ret = wl1271_cmd_configure(wl, ACX_MEM_CFG, mem_conf,
sizeof(*mem_conf));
if (ret < 0) {
- wl1271_warning("wl1271 mem config failed: %d", ret);
+ wl1271_warn("wl1271 mem config failed: %d\n", ret);
goto out;
}
@@ -1007,7 +1007,7 @@ int wl1271_acx_init_mem_config(struct wl1271 *wl)
wl->target_mem_map = kzalloc(sizeof(struct wl1271_acx_mem_map),
GFP_KERNEL);
if (!wl->target_mem_map) {
- wl1271_error("couldn't allocate target memory map");
+ wl1271_err("couldn't allocate target memory map\n");
return -ENOMEM;
}
@@ -1015,7 +1015,7 @@ int wl1271_acx_init_mem_config(struct wl1271 *wl)
ret = wl1271_acx_mem_map(wl, (void *)wl->target_mem_map,
sizeof(struct wl1271_acx_mem_map));
if (ret < 0) {
- wl1271_error("couldn't retrieve firmware memory map");
+ wl1271_err("couldn't retrieve firmware memory map\n");
kfree(wl->target_mem_map);
wl->target_mem_map = NULL;
return ret;
@@ -1024,7 +1024,7 @@ int wl1271_acx_init_mem_config(struct wl1271 *wl)
/* initialize TX block book keeping */
wl->tx_blocks_available =
le32_to_cpu(wl->target_mem_map->num_tx_mem_blocks);
- wl1271_debug(DEBUG_TX, "available tx blocks: %d",
+ wl1271_debug(DEBUG_TX, "available tx blocks: %d\n",
wl->tx_blocks_available);
return 0;
@@ -1036,7 +1036,7 @@ int wl1271_acx_init_rx_interrupt(struct wl1271 *wl)
struct wl1271_acx_rx_config_opt *rx_conf;
int ret;
- wl1271_debug(DEBUG_ACX, "wl1271 rx interrupt config");
+ wl1271_debug(DEBUG_ACX, "wl1271 rx interrupt config\n");
rx_conf = kzalloc(sizeof(*rx_conf), GFP_KERNEL);
if (!rx_conf) {
@@ -1052,7 +1052,7 @@ int wl1271_acx_init_rx_interrupt(struct wl1271 *wl)
ret = wl1271_cmd_configure(wl, ACX_RX_CONFIG_OPT, rx_conf,
sizeof(*rx_conf));
if (ret < 0) {
- wl1271_warning("wl1271 rx config opt failed: %d", ret);
+ wl1271_warn("wl1271 rx config opt failed: %d\n", ret);
goto out;
}
@@ -1067,7 +1067,7 @@ int wl1271_acx_bet_enable(struct wl1271 *wl, struct wl12xx_vif *wlvif,
struct wl1271_acx_bet_enable *acx = NULL;
int ret = 0;
- wl1271_debug(DEBUG_ACX, "acx bet enable");
+ wl1271_debug(DEBUG_ACX, "acx bet enable\n");
if (enable && wl->conf.conn.bet_enable == CONF_BET_MODE_DISABLE)
goto out;
@@ -1084,7 +1084,7 @@ int wl1271_acx_bet_enable(struct wl1271 *wl, struct wl12xx_vif *wlvif,
ret = wl1271_cmd_configure(wl, ACX_BET_ENABLE, acx, sizeof(*acx));
if (ret < 0) {
- wl1271_warning("acx bet enable failed: %d", ret);
+ wl1271_warn("acx bet enable failed: %d\n", ret);
goto out;
}
@@ -1099,7 +1099,7 @@ int wl1271_acx_arp_ip_filter(struct wl1271 *wl, struct wl12xx_vif *wlvif,
struct wl1271_acx_arp_filter *acx;
int ret;
- wl1271_debug(DEBUG_ACX, "acx arp ip filter, enable: %d", enable);
+ wl1271_debug(DEBUG_ACX, "acx arp ip filter, enable: %d\n", enable);
acx = kzalloc(sizeof(*acx), GFP_KERNEL);
if (!acx) {
@@ -1117,7 +1117,7 @@ int wl1271_acx_arp_ip_filter(struct wl1271 *wl, struct wl12xx_vif *wlvif,
ret = wl1271_cmd_configure(wl, ACX_ARP_IP_FILTER,
acx, sizeof(*acx));
if (ret < 0) {
- wl1271_warning("failed to set arp ip filter: %d", ret);
+ wl1271_warn("failed to set arp ip filter: %d\n", ret);
goto out;
}
@@ -1132,7 +1132,7 @@ int wl1271_acx_pm_config(struct wl1271 *wl)
struct conf_pm_config_settings *c = &wl->conf.pm_config;
int ret = 0;
- wl1271_debug(DEBUG_ACX, "acx pm config");
+ wl1271_debug(DEBUG_ACX, "acx pm config\n");
acx = kzalloc(sizeof(*acx), GFP_KERNEL);
if (!acx) {
@@ -1145,7 +1145,7 @@ int wl1271_acx_pm_config(struct wl1271 *wl)
ret = wl1271_cmd_configure(wl, ACX_PM_CONFIG, acx, sizeof(*acx));
if (ret < 0) {
- wl1271_warning("acx pm config failed: %d", ret);
+ wl1271_warn("acx pm config failed: %d\n", ret);
goto out;
}
@@ -1161,7 +1161,7 @@ int wl1271_acx_keep_alive_mode(struct wl1271 *wl, struct wl12xx_vif *wlvif,
struct wl1271_acx_keep_alive_mode *acx = NULL;
int ret = 0;
- wl1271_debug(DEBUG_ACX, "acx keep alive mode: %d", enable);
+ wl1271_debug(DEBUG_ACX, "acx keep alive mode: %d\n", enable);
acx = kzalloc(sizeof(*acx), GFP_KERNEL);
if (!acx) {
@@ -1174,7 +1174,7 @@ int wl1271_acx_keep_alive_mode(struct wl1271 *wl, struct wl12xx_vif *wlvif,
ret = wl1271_cmd_configure(wl, ACX_KEEP_ALIVE_MODE, acx, sizeof(*acx));
if (ret < 0) {
- wl1271_warning("acx keep alive mode failed: %d", ret);
+ wl1271_warn("acx keep alive mode failed: %d\n", ret);
goto out;
}
@@ -1189,7 +1189,7 @@ int wl1271_acx_keep_alive_config(struct wl1271 *wl, struct wl12xx_vif *wlvif,
struct wl1271_acx_keep_alive_config *acx = NULL;
int ret = 0;
- wl1271_debug(DEBUG_ACX, "acx keep alive config");
+ wl1271_debug(DEBUG_ACX, "acx keep alive config\n");
acx = kzalloc(sizeof(*acx), GFP_KERNEL);
if (!acx) {
@@ -1206,7 +1206,7 @@ int wl1271_acx_keep_alive_config(struct wl1271 *wl, struct wl12xx_vif *wlvif,
ret = wl1271_cmd_configure(wl, ACX_SET_KEEP_ALIVE_CONFIG,
acx, sizeof(*acx));
if (ret < 0) {
- wl1271_warning("acx keep alive config failed: %d", ret);
+ wl1271_warn("acx keep alive config failed: %d\n", ret);
goto out;
}
@@ -1221,7 +1221,7 @@ int wl1271_acx_rssi_snr_trigger(struct wl1271 *wl, struct wl12xx_vif *wlvif,
struct wl1271_acx_rssi_snr_trigger *acx = NULL;
int ret = 0;
- wl1271_debug(DEBUG_ACX, "acx rssi snr trigger");
+ wl1271_debug(DEBUG_ACX, "acx rssi snr trigger\n");
acx = kzalloc(sizeof(*acx), GFP_KERNEL);
if (!acx) {
@@ -1247,7 +1247,7 @@ int wl1271_acx_rssi_snr_trigger(struct wl1271 *wl, struct wl12xx_vif *wlvif,
ret = wl1271_cmd_configure(wl, ACX_RSSI_SNR_TRIGGER, acx, sizeof(*acx));
if (ret < 0) {
- wl1271_warning("acx rssi snr trigger setting failed: %d", ret);
+ wl1271_warn("acx rssi snr trigger setting failed: %d\n", ret);
goto out;
}
@@ -1263,7 +1263,7 @@ int wl1271_acx_rssi_snr_avg_weights(struct wl1271 *wl,
struct conf_roam_trigger_settings *c = &wl->conf.roam_trigger;
int ret = 0;
- wl1271_debug(DEBUG_ACX, "acx rssi snr avg weights");
+ wl1271_debug(DEBUG_ACX, "acx rssi snr avg weights\n");
acx = kzalloc(sizeof(*acx), GFP_KERNEL);
if (!acx) {
@@ -1279,7 +1279,7 @@ int wl1271_acx_rssi_snr_avg_weights(struct wl1271 *wl,
ret = wl1271_cmd_configure(wl, ACX_RSSI_SNR_WEIGHTS, acx, sizeof(*acx));
if (ret < 0) {
- wl1271_warning("acx rssi snr trigger weights failed: %d", ret);
+ wl1271_warn("acx rssi snr trigger weights failed: %d\n", ret);
goto out;
}
@@ -1296,9 +1296,8 @@ int wl1271_acx_set_ht_capabilities(struct wl1271 *wl,
int ret = 0;
u32 ht_capabilites = 0;
- wl1271_debug(DEBUG_ACX, "acx ht capabilities setting "
- "sta supp: %d sta cap: %d", ht_cap->ht_supported,
- ht_cap->cap);
+ wl1271_debug(DEBUG_ACX, "acx ht capabilities setting sta supp: %d sta cap: %d\n",
+ ht_cap->ht_supported, ht_cap->cap);
acx = kzalloc(sizeof(*acx), GFP_KERNEL);
if (!acx) {
@@ -1326,7 +1325,7 @@ int wl1271_acx_set_ht_capabilities(struct wl1271 *wl,
ret = wl1271_cmd_configure(wl, ACX_PEER_HT_CAP, acx, sizeof(*acx));
if (ret < 0) {
- wl1271_warning("acx ht capabilities setting failed: %d", ret);
+ wl1271_warn("acx ht capabilities setting failed: %d\n", ret);
goto out;
}
@@ -1342,7 +1341,7 @@ int wl1271_acx_set_ht_information(struct wl1271 *wl,
struct wl1271_acx_ht_information *acx;
int ret = 0;
- wl1271_debug(DEBUG_ACX, "acx ht information setting");
+ wl1271_debug(DEBUG_ACX, "acx ht information setting\n");
acx = kzalloc(sizeof(*acx), GFP_KERNEL);
if (!acx) {
@@ -1362,7 +1361,7 @@ int wl1271_acx_set_ht_information(struct wl1271 *wl,
ret = wl1271_cmd_configure(wl, ACX_HT_BSS_OPERATION, acx, sizeof(*acx));
if (ret < 0) {
- wl1271_warning("acx ht information setting failed: %d", ret);
+ wl1271_warn("acx ht information setting failed: %d\n", ret);
goto out;
}
@@ -1378,7 +1377,7 @@ int wl12xx_acx_set_ba_initiator_policy(struct wl1271 *wl,
struct wl1271_acx_ba_initiator_policy *acx;
int ret;
- wl1271_debug(DEBUG_ACX, "acx ba initiator policy");
+ wl1271_debug(DEBUG_ACX, "acx ba initiator policy\n");
acx = kzalloc(sizeof(*acx), GFP_KERNEL);
if (!acx) {
@@ -1397,7 +1396,7 @@ int wl12xx_acx_set_ba_initiator_policy(struct wl1271 *wl,
acx,
sizeof(*acx));
if (ret < 0) {
- wl1271_warning("acx ba initiator policy failed: %d", ret);
+ wl1271_warn("acx ba initiator policy failed: %d\n", ret);
goto out;
}
@@ -1413,7 +1412,7 @@ int wl12xx_acx_set_ba_receiver_session(struct wl1271 *wl, u8 tid_index,
struct wl1271_acx_ba_receiver_setup *acx;
int ret;
- wl1271_debug(DEBUG_ACX, "acx ba receiver session setting");
+ wl1271_debug(DEBUG_ACX, "acx ba receiver session setting\n");
acx = kzalloc(sizeof(*acx), GFP_KERNEL);
if (!acx) {
@@ -1430,7 +1429,7 @@ int wl12xx_acx_set_ba_receiver_session(struct wl1271 *wl, u8 tid_index,
ret = wl1271_cmd_configure(wl, ACX_BA_SESSION_RX_SETUP, acx,
sizeof(*acx));
if (ret < 0) {
- wl1271_warning("acx ba receiver session failed: %d", ret);
+ wl1271_warn("acx ba receiver session failed: %d\n", ret);
goto out;
}
@@ -1456,7 +1455,7 @@ int wl12xx_acx_tsf_info(struct wl1271 *wl, struct wl12xx_vif *wlvif,
ret = wl1271_cmd_interrogate(wl, ACX_TSF_INFO,
tsf_info, sizeof(*tsf_info));
if (ret < 0) {
- wl1271_warning("acx tsf info interrogate failed");
+ wl1271_warn("acx tsf info interrogate failed\n");
goto out;
}
@@ -1475,7 +1474,7 @@ int wl1271_acx_ps_rx_streaming(struct wl1271 *wl, struct wl12xx_vif *wlvif,
u32 conf_queues, enable_queues;
int i, ret = 0;
- wl1271_debug(DEBUG_ACX, "acx ps rx streaming");
+ wl1271_debug(DEBUG_ACX, "acx ps rx streaming\n");
rx_streaming = kzalloc(sizeof(*rx_streaming), GFP_KERNEL);
if (!rx_streaming) {
@@ -1508,7 +1507,7 @@ int wl1271_acx_ps_rx_streaming(struct wl1271 *wl, struct wl12xx_vif *wlvif,
rx_streaming,
sizeof(*rx_streaming));
if (ret < 0) {
- wl1271_warning("acx ps rx streaming failed: %d", ret);
+ wl1271_warn("acx ps rx streaming failed: %d\n", ret);
goto out;
}
}
@@ -1522,7 +1521,7 @@ int wl1271_acx_ap_max_tx_retry(struct wl1271 *wl, struct wl12xx_vif *wlvif)
struct wl1271_acx_ap_max_tx_retry *acx = NULL;
int ret;
- wl1271_debug(DEBUG_ACX, "acx ap max tx retry");
+ wl1271_debug(DEBUG_ACX, "acx ap max tx retry\n");
acx = kzalloc(sizeof(*acx), GFP_KERNEL);
if (!acx)
@@ -1533,7 +1532,7 @@ int wl1271_acx_ap_max_tx_retry(struct wl1271 *wl, struct wl12xx_vif *wlvif)
ret = wl1271_cmd_configure(wl, ACX_MAX_TX_FAILURE, acx, sizeof(*acx));
if (ret < 0) {
- wl1271_warning("acx ap max tx retry failed: %d", ret);
+ wl1271_warn("acx ap max tx retry failed: %d\n", ret);
goto out;
}
@@ -1547,7 +1546,7 @@ int wl12xx_acx_config_ps(struct wl1271 *wl, struct wl12xx_vif *wlvif)
struct wl1271_acx_config_ps *config_ps;
int ret;
- wl1271_debug(DEBUG_ACX, "acx config ps");
+ wl1271_debug(DEBUG_ACX, "acx config ps\n");
config_ps = kzalloc(sizeof(*config_ps), GFP_KERNEL);
if (!config_ps) {
@@ -1563,7 +1562,7 @@ int wl12xx_acx_config_ps(struct wl1271 *wl, struct wl12xx_vif *wlvif)
sizeof(*config_ps));
if (ret < 0) {
- wl1271_warning("acx config ps failed: %d", ret);
+ wl1271_warn("acx config ps failed: %d\n", ret);
goto out;
}
@@ -1577,7 +1576,7 @@ int wl1271_acx_set_inconnection_sta(struct wl1271 *wl, u8 *addr)
struct wl1271_acx_inconnection_sta *acx = NULL;
int ret;
- wl1271_debug(DEBUG_ACX, "acx set inconnaction sta %pM", addr);
+ wl1271_debug(DEBUG_ACX, "acx set inconnaction sta %pM\n", addr);
acx = kzalloc(sizeof(*acx), GFP_KERNEL);
if (!acx)
@@ -1588,7 +1587,7 @@ int wl1271_acx_set_inconnection_sta(struct wl1271 *wl, u8 *addr)
ret = wl1271_cmd_configure(wl, ACX_UPDATE_INCONNECTION_STA_LIST,
acx, sizeof(*acx));
if (ret < 0) {
- wl1271_warning("acx set inconnaction sta failed: %d", ret);
+ wl1271_warn("acx set inconnaction sta failed: %d\n", ret);
goto out;
}
@@ -1602,7 +1601,7 @@ int wl1271_acx_fm_coex(struct wl1271 *wl)
struct wl1271_acx_fm_coex *acx;
int ret;
- wl1271_debug(DEBUG_ACX, "acx fm coex setting");
+ wl1271_debug(DEBUG_ACX, "acx fm coex setting\n");
acx = kzalloc(sizeof(*acx), GFP_KERNEL);
if (!acx) {
@@ -1628,7 +1627,7 @@ int wl1271_acx_fm_coex(struct wl1271 *wl)
ret = wl1271_cmd_configure(wl, ACX_FM_COEX_CFG, acx, sizeof(*acx));
if (ret < 0) {
- wl1271_warning("acx fm coex setting failed: %d", ret);
+ wl1271_warn("acx fm coex setting failed: %d\n", ret);
goto out;
}
@@ -1643,7 +1642,7 @@ int wl12xx_acx_set_rate_mgmt_params(struct wl1271 *wl)
struct conf_rate_policy_settings *conf = &wl->conf.rate;
int ret;
- wl1271_debug(DEBUG_ACX, "acx set rate mgmt params");
+ wl1271_debug(DEBUG_ACX, "acx set rate mgmt params\n");
acx = kzalloc(sizeof(*acx), GFP_KERNEL);
if (!acx)
@@ -1670,7 +1669,7 @@ int wl12xx_acx_set_rate_mgmt_params(struct wl1271 *wl)
ret = wl1271_cmd_configure(wl, ACX_SET_RATE_MGMT_PARAMS,
acx, sizeof(*acx));
if (ret < 0) {
- wl1271_warning("acx set rate mgmt params failed: %d", ret);
+ wl1271_warn("acx set rate mgmt params failed: %d\n", ret);
goto out;
}
@@ -1685,7 +1684,7 @@ int wl12xx_acx_config_hangover(struct wl1271 *wl)
struct conf_hangover_settings *conf = &wl->conf.hangover;
int ret;
- wl1271_debug(DEBUG_ACX, "acx config hangover");
+ wl1271_debug(DEBUG_ACX, "acx config hangover\n");
acx = kzalloc(sizeof(*acx), GFP_KERNEL);
if (!acx) {
@@ -1709,7 +1708,7 @@ int wl12xx_acx_config_hangover(struct wl1271 *wl)
sizeof(*acx));
if (ret < 0) {
- wl1271_warning("acx config hangover failed: %d", ret);
+ wl1271_warn("acx config hangover failed: %d\n", ret);
goto out;
}
@@ -1727,7 +1726,7 @@ int wl1271_acx_default_rx_filter_enable(struct wl1271 *wl, bool enable,
struct acx_default_rx_filter *acx;
int ret;
- wl1271_debug(DEBUG_ACX, "acx default rx filter en: %d act: %d",
+ wl1271_debug(DEBUG_ACX, "acx default rx filter en: %d act: %d\n",
enable, action);
acx = kzalloc(sizeof(*acx), GFP_KERNEL);
@@ -1740,7 +1739,7 @@ int wl1271_acx_default_rx_filter_enable(struct wl1271 *wl, bool enable,
ret = wl1271_cmd_configure(wl, ACX_ENABLE_RX_DATA_FILTER, acx,
sizeof(*acx));
if (ret < 0) {
- wl1271_warning("acx default rx filter enable failed: %d", ret);
+ wl1271_warn("acx default rx filter enable failed: %d\n", ret);
goto out;
}
@@ -1762,14 +1761,14 @@ int wl1271_acx_set_rx_filter(struct wl1271 *wl, u8 index, bool enable,
WARN_ON(index >= WL1271_MAX_RX_FILTERS);
wl1271_debug(DEBUG_ACX,
- "acx set rx filter idx: %d enable: %d filter: %p",
+ "acx set rx filter idx: %d enable: %d filter: %p\n",
index, enable, filter);
if (enable) {
fields_size = wl1271_rx_filter_get_fields_size(filter);
- wl1271_debug(DEBUG_ACX, "act: %d num_fields: %d field_size: %d",
- filter->action, filter->num_fields, fields_size);
+ wl1271_debug(DEBUG_ACX, "act: %d num_fields: %d field_size: %d\n",
+ filter->action, filter->num_fields, fields_size);
}
acx_size = ALIGN(sizeof(*acx) + fields_size, 4);
@@ -1791,7 +1790,7 @@ int wl1271_acx_set_rx_filter(struct wl1271 *wl, u8 index, bool enable,
ret = wl1271_cmd_configure(wl, ACX_SET_RX_DATA_FILTER, acx, acx_size);
if (ret < 0) {
- wl1271_warning("setting rx filter failed: %d", ret);
+ wl1271_warn("setting rx filter failed: %d\n", ret);
goto out;
}
diff --git a/drivers/net/wireless/ti/wlcore/boot.c b/drivers/net/wireless/ti/wlcore/boot.c
index 0fda500..2cefdbf 100644
--- a/drivers/net/wireless/ti/wlcore/boot.c
+++ b/drivers/net/wireless/ti/wlcore/boot.c
@@ -62,7 +62,7 @@ static int wlcore_boot_parse_fw_ver(struct wl1271 *wl,
&wl->chip.fw_ver[4]);
if (ret != 5) {
- wl1271_warning("fw version incorrect value");
+ wl1271_warn("fw version incorrect value\n");
memset(wl->chip.fw_ver, 0, sizeof(wl->chip.fw_ver));
ret = -EINVAL;
goto out;
@@ -112,19 +112,19 @@ static int wl1271_boot_upload_firmware_chunk(struct wl1271 *wl, void *buf,
/* whal_FwCtrl_LoadFwImageSm() */
- wl1271_debug(DEBUG_BOOT, "starting firmware upload");
+ wl1271_debug(DEBUG_BOOT, "starting firmware upload\n");
- wl1271_debug(DEBUG_BOOT, "fw_data_len %zd chunk_size %d",
+ wl1271_debug(DEBUG_BOOT, "fw_data_len %zd chunk_size %d\n",
fw_data_len, CHUNK_SIZE);
if ((fw_data_len % 4) != 0) {
- wl1271_error("firmware length not multiple of four");
+ wl1271_err("firmware length not multiple of four\n");
return -EIO;
}
chunk = kmalloc(CHUNK_SIZE, GFP_KERNEL);
if (!chunk) {
- wl1271_error("allocation for firmware upload chunk failed");
+ wl1271_err("allocation for firmware upload chunk failed\n");
return -ENOMEM;
}
@@ -151,7 +151,7 @@ static int wl1271_boot_upload_firmware_chunk(struct wl1271 *wl, void *buf,
addr = dest + chunk_num * CHUNK_SIZE;
p = buf + chunk_num * CHUNK_SIZE;
memcpy(chunk, p, CHUNK_SIZE);
- wl1271_debug(DEBUG_BOOT, "uploading fw chunk 0x%p to 0x%x",
+ wl1271_debug(DEBUG_BOOT, "uploading fw chunk 0x%p to 0x%x\n",
p, addr);
wl1271_write(wl, addr, chunk, CHUNK_SIZE, false);
@@ -162,7 +162,7 @@ static int wl1271_boot_upload_firmware_chunk(struct wl1271 *wl, void *buf,
addr = dest + chunk_num * CHUNK_SIZE;
p = buf + chunk_num * CHUNK_SIZE;
memcpy(chunk, p, fw_data_len % CHUNK_SIZE);
- wl1271_debug(DEBUG_BOOT, "uploading fw last chunk (%zd B) 0x%p to 0x%x",
+ wl1271_debug(DEBUG_BOOT, "uploading fw last chunk (%zd B) 0x%p to 0x%x\n",
fw_data_len % CHUNK_SIZE, p, addr);
wl1271_write(wl, addr, chunk, fw_data_len % CHUNK_SIZE, false);
@@ -180,7 +180,8 @@ int wlcore_boot_upload_firmware(struct wl1271 *wl)
chunks = be32_to_cpup((__be32 *) fw);
fw += sizeof(u32);
- wl1271_debug(DEBUG_BOOT, "firmware chunks to be uploaded: %u", chunks);
+ wl1271_debug(DEBUG_BOOT, "firmware chunks to be uploaded: %u\n",
+ chunks);
while (chunks--) {
addr = be32_to_cpup((__be32 *) fw);
@@ -189,10 +190,10 @@ int wlcore_boot_upload_firmware(struct wl1271 *wl)
fw += sizeof(u32);
if (len > 300000) {
- wl1271_info("firmware chunk too long: %u", len);
+ wl1271_info("firmware chunk too long: %u\n", len);
return -EINVAL;
}
- wl1271_debug(DEBUG_BOOT, "chunk %d addr 0x%x len %u",
+ wl1271_debug(DEBUG_BOOT, "chunk %d addr 0x%x len %u\n",
chunks, addr, len);
ret = wl1271_boot_upload_firmware_chunk(wl, fw, len, addr);
if (ret != 0)
@@ -212,7 +213,7 @@ int wlcore_boot_upload_nvs(struct wl1271 *wl)
u8 *nvs_ptr, *nvs_aligned;
if (wl->nvs == NULL) {
- wl1271_error("NVS file is needed during boot");
+ wl1271_err("NVS file is needed during boot\n");
return -ENODEV;
}
@@ -233,8 +234,8 @@ int wlcore_boot_upload_nvs(struct wl1271 *wl)
if (wl->nvs_len != sizeof(struct wl1271_nvs_file) &&
(wl->nvs_len != WL1271_INI_LEGACY_NVS_FILE_SIZE ||
wl->enable_11a)) {
- wl1271_error("nvs size is not as expected: %zu != %zu",
- wl->nvs_len, sizeof(struct wl1271_nvs_file));
+ wl1271_err("nvs size is not as expected: %zu != %zu\n",
+ wl->nvs_len, sizeof(struct wl1271_nvs_file));
kfree(wl->nvs);
wl->nvs = NULL;
wl->nvs_len = 0;
@@ -251,9 +252,9 @@ int wlcore_boot_upload_nvs(struct wl1271 *wl)
if (nvs->general_params.dual_mode_select)
wl->enable_11a = true;
} else {
- wl1271_error("nvs size is not as expected: %zu != %zu",
- wl->nvs_len,
- sizeof(struct wl128x_nvs_file));
+ wl1271_err("nvs size is not as expected: %zu != %zu\n",
+ wl->nvs_len,
+ sizeof(struct wl128x_nvs_file));
kfree(wl->nvs);
wl->nvs = NULL;
wl->nvs_len = 0;
@@ -305,7 +306,7 @@ int wlcore_boot_upload_nvs(struct wl1271 *wl)
| (nvs_ptr[2] << 16) | (nvs_ptr[3] << 24));
wl1271_debug(DEBUG_BOOT,
- "nvs burst write 0x%x: 0x%x",
+ "nvs burst write 0x%x: 0x%x\n",
dest_addr, val);
wl1271_write32(wl, dest_addr, val);
@@ -348,7 +349,7 @@ int wlcore_boot_upload_nvs(struct wl1271 *wl)
return 0;
out_badnvs:
- wl1271_error("nvs data is malformed");
+ wl1271_err("nvs data is malformed\n");
return -EILSEQ;
}
EXPORT_SYMBOL_GPL(wlcore_boot_upload_nvs);
@@ -365,10 +366,11 @@ int wlcore_boot_run_firmware(struct wl1271 *wl)
chip_id = wlcore_read_reg(wl, REG_CHIP_ID_B);
- wl1271_debug(DEBUG_BOOT, "chip id after firmware boot: 0x%x", chip_id);
+ wl1271_debug(DEBUG_BOOT, "chip id after firmware boot: 0x%x\n",
+ chip_id);
if (chip_id != wl->chip.id) {
- wl1271_error("chip id doesn't match after firmware boot");
+ wl1271_err("chip id doesn't match after firmware boot\n");
return -EIO;
}
@@ -379,8 +381,7 @@ int wlcore_boot_run_firmware(struct wl1271 *wl)
intr = wlcore_read_reg(wl, REG_INTERRUPT_NO_CLEAR);
if (intr == 0xffffffff) {
- wl1271_error("error reading hardware complete "
- "init indication");
+ wl1271_err("error reading hardware complete init indication\n");
return -EIO;
}
/* check that ACX_INTR_INIT_COMPLETE is enabled */
@@ -392,26 +393,25 @@ int wlcore_boot_run_firmware(struct wl1271 *wl)
}
if (loop > INIT_LOOP) {
- wl1271_error("timeout waiting for the hardware to "
- "complete initialization");
+ wl1271_err("timeout waiting for the hardware to complete initialization\n");
return -EIO;
}
/* get hardware config command mail box */
wl->cmd_box_addr = wlcore_read_reg(wl, REG_COMMAND_MAILBOX_PTR);
- wl1271_debug(DEBUG_MAILBOX, "cmd_box_addr 0x%x", wl->cmd_box_addr);
+ wl1271_debug(DEBUG_MAILBOX, "cmd_box_addr 0x%x\n", wl->cmd_box_addr);
/* get hardware config event mail box */
wl->mbox_ptr[0] = wlcore_read_reg(wl, REG_EVENT_MAILBOX_PTR);
wl->mbox_ptr[1] = wl->mbox_ptr[0] + sizeof(struct event_mailbox);
- wl1271_debug(DEBUG_MAILBOX, "MBOX ptrs: 0x%x 0x%x",
+ wl1271_debug(DEBUG_MAILBOX, "MBOX ptrs: 0x%x 0x%x\n",
wl->mbox_ptr[0], wl->mbox_ptr[1]);
ret = wlcore_boot_static_data(wl);
if (ret < 0) {
- wl1271_error("error getting static data");
+ wl1271_err("error getting static data\n");
return ret;
}
@@ -440,7 +440,7 @@ int wlcore_boot_run_firmware(struct wl1271 *wl)
ret = wl1271_event_unmask(wl);
if (ret < 0) {
- wl1271_error("EVENT mask setting failed");
+ wl1271_err("EVENT mask setting failed\n");
return ret;
}
diff --git a/drivers/net/wireless/ti/wlcore/cmd.c b/drivers/net/wireless/ti/wlcore/cmd.c
index 885364c..c90b339 100644
--- a/drivers/net/wireless/ti/wlcore/cmd.c
+++ b/drivers/net/wireless/ti/wlcore/cmd.c
@@ -78,7 +78,7 @@ int wl1271_cmd_send(struct wl1271 *wl, u16 id, void *buf, size_t len,
intr = wlcore_read_reg(wl, REG_INTERRUPT_NO_CLEAR);
while (!(intr & WL1271_ACX_INTR_CMD_COMPLETE)) {
if (time_after(jiffies, timeout)) {
- wl1271_error("command complete timeout");
+ wl1271_err("command complete timeout\n");
ret = -ETIMEDOUT;
goto fail;
}
@@ -99,7 +99,7 @@ int wl1271_cmd_send(struct wl1271 *wl, u16 id, void *buf, size_t len,
status = le16_to_cpu(cmd->status);
if (status != CMD_STATUS_SUCCESS) {
- wl1271_error("command execute failure %d", status);
+ wl1271_err("command execute failure %d\n", status);
ret = -EIO;
goto fail;
}
@@ -132,7 +132,7 @@ static int wl1271_cmd_wait_for_event_or_timeout(struct wl1271 *wl, u32 mask)
do {
if (time_after(jiffies, timeout)) {
- wl1271_debug(DEBUG_CMD, "timeout waiting for event %d",
+ wl1271_debug(DEBUG_CMD, "timeout waiting for event %d\n",
(int)mask);
ret = -ETIMEDOUT;
goto out;
@@ -173,7 +173,7 @@ int wl12xx_cmd_role_enable(struct wl1271 *wl, u8 *addr, u8 role_type,
struct wl12xx_cmd_role_enable *cmd;
int ret;
- wl1271_debug(DEBUG_CMD, "cmd role enable");
+ wl1271_debug(DEBUG_CMD, "cmd role enable\n");
if (WARN_ON(*role_id != WL12XX_INVALID_ROLE_ID))
return -EBUSY;
@@ -196,7 +196,7 @@ int wl12xx_cmd_role_enable(struct wl1271 *wl, u8 *addr, u8 role_type,
ret = wl1271_cmd_send(wl, CMD_ROLE_ENABLE, cmd, sizeof(*cmd), 0);
if (ret < 0) {
- wl1271_error("failed to initiate cmd role enable");
+ wl1271_err("failed to initiate cmd role enable\n");
goto out_free;
}
@@ -215,7 +215,7 @@ int wl12xx_cmd_role_disable(struct wl1271 *wl, u8 *role_id)
struct wl12xx_cmd_role_disable *cmd;
int ret;
- wl1271_debug(DEBUG_CMD, "cmd role disable");
+ wl1271_debug(DEBUG_CMD, "cmd role disable\n");
if (WARN_ON(*role_id == WL12XX_INVALID_ROLE_ID))
return -ENOENT;
@@ -229,7 +229,7 @@ int wl12xx_cmd_role_disable(struct wl1271 *wl, u8 *role_id)
ret = wl1271_cmd_send(wl, CMD_ROLE_DISABLE, cmd, sizeof(*cmd), 0);
if (ret < 0) {
- wl1271_error("failed to initiate cmd role disable");
+ wl1271_err("failed to initiate cmd role disable\n");
goto out_free;
}
@@ -321,7 +321,7 @@ static int wl12xx_cmd_role_start_dev(struct wl1271 *wl,
goto out;
}
- wl1271_debug(DEBUG_CMD, "cmd role start dev %d", wlvif->dev_role_id);
+ wl1271_debug(DEBUG_CMD, "cmd role start dev %d\n", wlvif->dev_role_id);
cmd->role_id = wlvif->dev_role_id;
if (wlvif->band == IEEE80211_BAND_5GHZ)
@@ -336,12 +336,12 @@ static int wl12xx_cmd_role_start_dev(struct wl1271 *wl,
cmd->device.hlid = wlvif->dev_hlid;
cmd->device.session = wl12xx_get_new_session_id(wl, wlvif);
- wl1271_debug(DEBUG_CMD, "role start: roleid=%d, hlid=%d, session=%d",
+ wl1271_debug(DEBUG_CMD, "role start: roleid=%d, hlid=%d, session=%d\n",
cmd->role_id, cmd->device.hlid, cmd->device.session);
ret = wl1271_cmd_send(wl, CMD_ROLE_START, cmd, sizeof(*cmd), 0);
if (ret < 0) {
- wl1271_error("failed to initiate cmd role enable");
+ wl1271_err("failed to initiate cmd role enable\n");
goto err_hlid;
}
@@ -373,7 +373,7 @@ static int wl12xx_cmd_role_stop_dev(struct wl1271 *wl,
goto out;
}
- wl1271_debug(DEBUG_CMD, "cmd role stop dev");
+ wl1271_debug(DEBUG_CMD, "cmd role stop dev\n");
cmd->role_id = wlvif->dev_role_id;
cmd->disc_type = DISCONNECT_IMMEDIATE;
@@ -381,13 +381,13 @@ static int wl12xx_cmd_role_stop_dev(struct wl1271 *wl,
ret = wl1271_cmd_send(wl, CMD_ROLE_STOP, cmd, sizeof(*cmd), 0);
if (ret < 0) {
- wl1271_error("failed to initiate cmd role stop");
+ wl1271_err("failed to initiate cmd role stop\n");
goto out_free;
}
ret = wl1271_cmd_wait_for_event(wl, ROLE_STOP_COMPLETE_EVENT_ID);
if (ret < 0) {
- wl1271_error("cmd role stop dev event completion error");
+ wl1271_err("cmd role stop dev event completion error\n");
goto out_free;
}
@@ -412,7 +412,7 @@ int wl12xx_cmd_role_start_sta(struct wl1271 *wl, struct wl12xx_vif *wlvif)
goto out;
}
- wl1271_debug(DEBUG_CMD, "cmd role start sta %d", wlvif->role_id);
+ wl1271_debug(DEBUG_CMD, "cmd role start sta %d\n", wlvif->role_id);
cmd->role_id = wlvif->role_id;
if (wlvif->band == IEEE80211_BAND_5GHZ)
@@ -436,14 +436,13 @@ int wl12xx_cmd_role_start_sta(struct wl1271 *wl, struct wl12xx_vif *wlvif)
cmd->sta.session = wl12xx_get_new_session_id(wl, wlvif);
cmd->sta.remote_rates = cpu_to_le32(wlvif->rate_set);
- wl1271_debug(DEBUG_CMD, "role start: roleid=%d, hlid=%d, session=%d "
- "basic_rate_set: 0x%x, remote_rates: 0x%x",
+ wl1271_debug(DEBUG_CMD, "role start: roleid=%d, hlid=%d, session=%d basic_rate_set: 0x%x, remote_rates: 0x%x\n",
wlvif->role_id, cmd->sta.hlid, cmd->sta.session,
wlvif->basic_rate_set, wlvif->rate_set);
ret = wl1271_cmd_send(wl, CMD_ROLE_START, cmd, sizeof(*cmd), 0);
if (ret < 0) {
- wl1271_error("failed to initiate cmd role start sta");
+ wl1271_err("failed to initiate cmd role start sta\n");
goto err_hlid;
}
@@ -475,7 +474,7 @@ int wl12xx_cmd_role_stop_sta(struct wl1271 *wl, struct wl12xx_vif *wlvif)
goto out;
}
- wl1271_debug(DEBUG_CMD, "cmd role stop sta %d", wlvif->role_id);
+ wl1271_debug(DEBUG_CMD, "cmd role stop sta %d\n", wlvif->role_id);
cmd->role_id = wlvif->role_id;
cmd->disc_type = DISCONNECT_IMMEDIATE;
@@ -483,7 +482,7 @@ int wl12xx_cmd_role_stop_sta(struct wl1271 *wl, struct wl12xx_vif *wlvif)
ret = wl1271_cmd_send(wl, CMD_ROLE_STOP, cmd, sizeof(*cmd), 0);
if (ret < 0) {
- wl1271_error("failed to initiate cmd role stop sta");
+ wl1271_err("failed to initiate cmd role stop sta\n");
goto out_free;
}
@@ -504,11 +503,11 @@ int wl12xx_cmd_role_start_ap(struct wl1271 *wl, struct wl12xx_vif *wlvif)
u32 supported_rates;
int ret;
- wl1271_debug(DEBUG_CMD, "cmd role start ap %d", wlvif->role_id);
+ wl1271_debug(DEBUG_CMD, "cmd role start ap %d\n", wlvif->role_id);
/* trying to use hidden SSID with an old hostapd version */
if (wlvif->ssid_len == 0 && !bss_conf->hidden_ssid) {
- wl1271_error("got a null SSID from beacon/bss");
+ wl1271_err("got a null SSID from beacon/bss\n");
ret = -EINVAL;
goto out;
}
@@ -555,7 +554,7 @@ int wl12xx_cmd_role_start_ap(struct wl1271 *wl, struct wl12xx_vif *wlvif)
supported_rates = CONF_TX_AP_ENABLED_RATES | CONF_TX_MCS_RATES |
wlcore_hw_ap_get_mimo_wide_rate_mask(wl, wlvif);
- wl1271_debug(DEBUG_CMD, "cmd role start ap with supported_rates 0x%08x",
+ wl1271_debug(DEBUG_CMD, "cmd role start ap with supported_rates 0x%08x\n",
supported_rates);
cmd->ap.local_rates = cpu_to_le32(supported_rates);
@@ -568,14 +567,14 @@ int wl12xx_cmd_role_start_ap(struct wl1271 *wl, struct wl12xx_vif *wlvif)
cmd->band = WLCORE_BAND_5GHZ;
break;
default:
- wl1271_warning("ap start - unknown band: %d", (int)wlvif->band);
+ wl1271_warn("ap start - unknown band: %d\n", (int)wlvif->band);
cmd->band = WLCORE_BAND_2_4GHZ;
break;
}
ret = wl1271_cmd_send(wl, CMD_ROLE_START, cmd, sizeof(*cmd), 0);
if (ret < 0) {
- wl1271_error("failed to initiate cmd role start ap");
+ wl1271_err("failed to initiate cmd role start ap\n");
goto out_free_bcast;
}
@@ -605,13 +604,13 @@ int wl12xx_cmd_role_stop_ap(struct wl1271 *wl, struct wl12xx_vif *wlvif)
goto out;
}
- wl1271_debug(DEBUG_CMD, "cmd role stop ap %d", wlvif->role_id);
+ wl1271_debug(DEBUG_CMD, "cmd role stop ap %d\n", wlvif->role_id);
cmd->role_id = wlvif->role_id;
ret = wl1271_cmd_send(wl, CMD_ROLE_STOP, cmd, sizeof(*cmd), 0);
if (ret < 0) {
- wl1271_error("failed to initiate cmd role stop ap");
+ wl1271_err("failed to initiate cmd role stop ap\n");
goto out_free;
}
@@ -638,7 +637,7 @@ int wl12xx_cmd_role_start_ibss(struct wl1271 *wl, struct wl12xx_vif *wlvif)
goto out;
}
- wl1271_debug(DEBUG_CMD, "cmd role start ibss %d", wlvif->role_id);
+ wl1271_debug(DEBUG_CMD, "cmd role start ibss %d\n", wlvif->role_id);
cmd->role_id = wlvif->role_id;
if (wlvif->band == IEEE80211_BAND_5GHZ)
@@ -661,17 +660,16 @@ int wl12xx_cmd_role_start_ibss(struct wl1271 *wl, struct wl12xx_vif *wlvif)
cmd->ibss.hlid = wlvif->sta.hlid;
cmd->ibss.remote_rates = cpu_to_le32(wlvif->rate_set);
- wl1271_debug(DEBUG_CMD, "role start: roleid=%d, hlid=%d, session=%d "
- "basic_rate_set: 0x%x, remote_rates: 0x%x",
+ wl1271_debug(DEBUG_CMD, "role start: roleid=%d, hlid=%d, session=%d basic_rate_set: 0x%x, remote_rates: 0x%x\n",
wlvif->role_id, cmd->sta.hlid, cmd->sta.session,
wlvif->basic_rate_set, wlvif->rate_set);
- wl1271_debug(DEBUG_CMD, "vif->bss_conf.bssid = %pM",
+ wl1271_debug(DEBUG_CMD, "vif->bss_conf.bssid = %pM\n",
vif->bss_conf.bssid);
ret = wl1271_cmd_send(wl, CMD_ROLE_START, cmd, sizeof(*cmd), 0);
if (ret < 0) {
- wl1271_error("failed to initiate cmd role enable");
+ wl1271_err("failed to initiate cmd role enable\n");
goto err_hlid;
}
@@ -702,7 +700,7 @@ int wl1271_cmd_test(struct wl1271 *wl, void *buf, size_t buf_len, u8 answer)
int ret;
size_t res_len = 0;
- wl1271_debug(DEBUG_CMD, "cmd test");
+ wl1271_debug(DEBUG_CMD, "cmd test\n");
if (answer)
res_len = buf_len;
@@ -710,7 +708,7 @@ int wl1271_cmd_test(struct wl1271 *wl, void *buf, size_t buf_len, u8 answer)
ret = wl1271_cmd_send(wl, CMD_TEST, buf, buf_len, res_len);
if (ret < 0) {
- wl1271_warning("TEST command failed");
+ wl1271_warn("TEST command failed\n");
return ret;
}
@@ -731,7 +729,7 @@ int wl1271_cmd_interrogate(struct wl1271 *wl, u16 id, void *buf, size_t len)
struct acx_header *acx = buf;
int ret;
- wl1271_debug(DEBUG_CMD, "cmd interrogate");
+ wl1271_debug(DEBUG_CMD, "cmd interrogate\n");
acx->id = cpu_to_le16(id);
@@ -740,7 +738,7 @@ int wl1271_cmd_interrogate(struct wl1271 *wl, u16 id, void *buf, size_t len)
ret = wl1271_cmd_send(wl, CMD_INTERROGATE, acx, sizeof(*acx), len);
if (ret < 0)
- wl1271_error("INTERROGATE command failed");
+ wl1271_err("INTERROGATE command failed\n");
return ret;
}
@@ -758,7 +756,7 @@ int wl1271_cmd_configure(struct wl1271 *wl, u16 id, void *buf, size_t len)
struct acx_header *acx = buf;
int ret;
- wl1271_debug(DEBUG_CMD, "cmd configure (%d)", id);
+ wl1271_debug(DEBUG_CMD, "cmd configure (%d)\n", id);
acx->id = cpu_to_le16(id);
@@ -767,7 +765,7 @@ int wl1271_cmd_configure(struct wl1271 *wl, u16 id, void *buf, size_t len)
ret = wl1271_cmd_send(wl, CMD_CONFIGURE, acx, len, 0);
if (ret < 0) {
- wl1271_warning("CONFIGURE command NOK");
+ wl1271_warn("CONFIGURE command NOK\n");
return ret;
}
@@ -781,7 +779,7 @@ int wl1271_cmd_data_path(struct wl1271 *wl, bool enable)
int ret;
u16 cmd_rx, cmd_tx;
- wl1271_debug(DEBUG_CMD, "cmd data path");
+ wl1271_debug(DEBUG_CMD, "cmd data path\n");
cmd = kzalloc(sizeof(*cmd), GFP_KERNEL);
if (!cmd) {
@@ -802,22 +800,22 @@ int wl1271_cmd_data_path(struct wl1271 *wl, bool enable)
ret = wl1271_cmd_send(wl, cmd_rx, cmd, sizeof(*cmd), 0);
if (ret < 0) {
- wl1271_error("rx %s cmd for channel %d failed",
- enable ? "start" : "stop", cmd->channel);
+ wl1271_err("rx %s cmd for channel %d failed\n",
+ enable ? "start" : "stop", cmd->channel);
goto out;
}
- wl1271_debug(DEBUG_BOOT, "rx %s cmd channel %d",
+ wl1271_debug(DEBUG_BOOT, "rx %s cmd channel %d\n",
enable ? "start" : "stop", cmd->channel);
ret = wl1271_cmd_send(wl, cmd_tx, cmd, sizeof(*cmd), 0);
if (ret < 0) {
- wl1271_error("tx %s cmd for channel %d failed",
- enable ? "start" : "stop", cmd->channel);
+ wl1271_err("tx %s cmd for channel %d failed\n",
+ enable ? "start" : "stop", cmd->channel);
goto out;
}
- wl1271_debug(DEBUG_BOOT, "tx %s cmd channel %d",
+ wl1271_debug(DEBUG_BOOT, "tx %s cmd channel %d\n",
enable ? "start" : "stop", cmd->channel);
out:
@@ -832,7 +830,7 @@ int wl1271_cmd_ps_mode(struct wl1271 *wl, struct wl12xx_vif *wlvif,
struct wl1271_cmd_ps_params *ps_params = NULL;
int ret = 0;
- wl1271_debug(DEBUG_CMD, "cmd set ps mode");
+ wl1271_debug(DEBUG_CMD, "cmd set ps mode\n");
ps_params = kzalloc(sizeof(*ps_params), GFP_KERNEL);
if (!ps_params) {
@@ -847,7 +845,7 @@ int wl1271_cmd_ps_mode(struct wl1271 *wl, struct wl12xx_vif *wlvif,
ret = wl1271_cmd_send(wl, CMD_SET_PS_MODE, ps_params,
sizeof(*ps_params), 0);
if (ret < 0) {
- wl1271_error("cmd set_ps_mode failed");
+ wl1271_err("cmd set_ps_mode failed\n");
goto out;
}
@@ -863,7 +861,7 @@ int wl1271_cmd_template_set(struct wl1271 *wl, u8 role_id,
struct wl1271_cmd_template_set *cmd;
int ret = 0;
- wl1271_debug(DEBUG_CMD, "cmd template_set %d (role %d)",
+ wl1271_debug(DEBUG_CMD, "cmd template_set %d (role %d)\n",
template_id, role_id);
WARN_ON(buf_len > WL1271_CMD_TEMPL_MAX_SIZE);
@@ -889,7 +887,7 @@ int wl1271_cmd_template_set(struct wl1271 *wl, u8 role_id,
ret = wl1271_cmd_send(wl, CMD_SET_TEMPLATE, cmd, sizeof(*cmd), 0);
if (ret < 0) {
- wl1271_warning("cmd set_template failed: %d", ret);
+ wl1271_warn("cmd set_template failed: %d\n", ret);
goto out_free;
}
@@ -927,7 +925,7 @@ int wl12xx_cmd_build_null_data(struct wl1271 *wl, struct wl12xx_vif *wlvif)
out:
dev_kfree_skb(skb);
if (ret)
- wl1271_warning("cmd buld null data failed %d", ret);
+ wl1271_warn("cmd buld null data failed %d\n", ret);
return ret;
@@ -952,7 +950,7 @@ int wl12xx_cmd_build_klv_null_data(struct wl1271 *wl,
out:
dev_kfree_skb(skb);
if (ret)
- wl1271_warning("cmd build klv null data failed %d", ret);
+ wl1271_warn("cmd build klv null data failed %d\n", ret);
return ret;
@@ -1038,7 +1036,7 @@ struct sk_buff *wl1271_cmd_build_ap_probe_req(struct wl1271 *wl,
skb->data, skb->len, 0, rate);
if (ret < 0)
- wl1271_error("Unable to set ap probe request template.");
+ wl1271_err("Unable to set ap probe request template\n");
out:
return skb;
@@ -1057,7 +1055,7 @@ int wl1271_cmd_build_arp_rsp(struct wl1271 *wl, struct wl12xx_vif *wlvif)
skb = dev_alloc_skb(sizeof(*hdr) + sizeof(__le16) + sizeof(*tmpl) +
WL1271_EXTRA_SPACE_MAX);
if (!skb) {
- wl1271_error("failed to allocate buffer for arp rsp template");
+ wl1271_err("failed to allocate buffer for arp rsp template\n");
return -ENOMEM;
}
@@ -1097,8 +1095,8 @@ int wl1271_cmd_build_arp_rsp(struct wl1271 *wl, struct wl12xx_vif *wlvif)
extra = 0;
break;
default:
- wl1271_warning("Unknown encryption type: %d",
- wlvif->encryption_type);
+ wl1271_warn("Unknown encryption type: %d\n",
+ wlvif->encryption_type);
ret = -EINVAL;
goto out;
}
@@ -1165,7 +1163,7 @@ int wl12xx_cmd_set_default_wep_key(struct wl1271 *wl, u8 id, u8 hlid)
struct wl1271_cmd_set_keys *cmd;
int ret = 0;
- wl1271_debug(DEBUG_CMD, "cmd set_default_wep_key %d", id);
+ wl1271_debug(DEBUG_CMD, "cmd set_default_wep_key %d\n", id);
cmd = kzalloc(sizeof(*cmd), GFP_KERNEL);
if (!cmd) {
@@ -1181,7 +1179,7 @@ int wl12xx_cmd_set_default_wep_key(struct wl1271 *wl, u8 id, u8 hlid)
ret = wl1271_cmd_send(wl, CMD_SET_KEYS, cmd, sizeof(*cmd), 0);
if (ret < 0) {
- wl1271_warning("cmd set_default_wep_key failed: %d", ret);
+ wl1271_warn("cmd set_default_wep_key failed: %d\n", ret);
goto out;
}
@@ -1246,7 +1244,7 @@ int wl1271_cmd_set_sta_key(struct wl1271 *wl, struct wl12xx_vif *wlvif,
ret = wl1271_cmd_send(wl, CMD_SET_KEYS, cmd, sizeof(*cmd), 0);
if (ret < 0) {
- wl1271_warning("could not set keys");
+ wl1271_warn("could not set keys\n");
goto out;
}
@@ -1282,8 +1280,8 @@ int wl1271_cmd_set_ap_key(struct wl1271 *wl, struct wl12xx_vif *wlvif,
lid_type = UNICAST_LID_TYPE;
}
- wl1271_debug(DEBUG_CRYPT, "ap key action: %d id: %d lid: %d type: %d"
- " hlid: %d", (int)action, (int)id, (int)lid_type,
+ wl1271_debug(DEBUG_CRYPT, "ap key action: %d id: %d lid: %d type: %d hlid: %d\n",
+ (int)action, (int)id, (int)lid_type,
(int)key_type, (int)hlid);
cmd->lid_key_type = lid_type;
@@ -1313,7 +1311,7 @@ int wl1271_cmd_set_ap_key(struct wl1271 *wl, struct wl12xx_vif *wlvif,
ret = wl1271_cmd_send(wl, CMD_SET_KEYS, cmd, sizeof(*cmd), 0);
if (ret < 0) {
- wl1271_warning("could not set ap keys");
+ wl1271_warn("could not set ap keys\n");
goto out;
}
@@ -1327,7 +1325,7 @@ int wl12xx_cmd_set_peer_state(struct wl1271 *wl, u8 hlid)
struct wl12xx_cmd_set_peer_state *cmd;
int ret = 0;
- wl1271_debug(DEBUG_CMD, "cmd set peer state (hlid=%d)", hlid);
+ wl1271_debug(DEBUG_CMD, "cmd set peer state (hlid=%d)\n", hlid);
cmd = kzalloc(sizeof(*cmd), GFP_KERNEL);
if (!cmd) {
@@ -1340,7 +1338,7 @@ int wl12xx_cmd_set_peer_state(struct wl1271 *wl, u8 hlid)
ret = wl1271_cmd_send(wl, CMD_SET_PEER_STATE, cmd, sizeof(*cmd), 0);
if (ret < 0) {
- wl1271_error("failed to send set peer state command");
+ wl1271_err("failed to send set peer state command\n");
goto out_free;
}
@@ -1358,7 +1356,7 @@ int wl12xx_cmd_add_peer(struct wl1271 *wl, struct wl12xx_vif *wlvif,
int i, ret;
u32 sta_rates;
- wl1271_debug(DEBUG_CMD, "cmd add peer %d", (int)hlid);
+ wl1271_debug(DEBUG_CMD, "cmd add peer %d\n", (int)hlid);
cmd = kzalloc(sizeof(*cmd), GFP_KERNEL);
if (!cmd) {
@@ -1392,12 +1390,12 @@ int wl12xx_cmd_add_peer(struct wl1271 *wl, struct wl12xx_vif *wlvif,
cpu_to_le32(wl1271_tx_enabled_rates_get(wl, sta_rates,
wlvif->band));
- wl1271_debug(DEBUG_CMD, "new peer rates=0x%x queues=0x%x",
+ wl1271_debug(DEBUG_CMD, "new peer rates=0x%x queues=0x%x\n",
cmd->supported_rates, sta->uapsd_queues);
ret = wl1271_cmd_send(wl, CMD_ADD_PEER, cmd, sizeof(*cmd), 0);
if (ret < 0) {
- wl1271_error("failed to initiate cmd add peer");
+ wl1271_err("failed to initiate cmd add peer\n");
goto out_free;
}
@@ -1413,7 +1411,7 @@ int wl12xx_cmd_remove_peer(struct wl1271 *wl, u8 hlid)
struct wl12xx_cmd_remove_peer *cmd;
int ret;
- wl1271_debug(DEBUG_CMD, "cmd remove peer %d", (int)hlid);
+ wl1271_debug(DEBUG_CMD, "cmd remove peer %d\n", (int)hlid);
cmd = kzalloc(sizeof(*cmd), GFP_KERNEL);
if (!cmd) {
@@ -1428,7 +1426,7 @@ int wl12xx_cmd_remove_peer(struct wl1271 *wl, u8 hlid)
ret = wl1271_cmd_send(wl, CMD_REMOVE_PEER, cmd, sizeof(*cmd), 0);
if (ret < 0) {
- wl1271_error("failed to initiate cmd remove peer");
+ wl1271_err("failed to initiate cmd remove peer\n");
goto out_free;
}
@@ -1451,7 +1449,7 @@ int wl12xx_cmd_config_fwlog(struct wl1271 *wl)
struct wl12xx_cmd_config_fwlog *cmd;
int ret = 0;
- wl1271_debug(DEBUG_CMD, "cmd config firmware logger");
+ wl1271_debug(DEBUG_CMD, "cmd config firmware logger\n");
cmd = kzalloc(sizeof(*cmd), GFP_KERNEL);
if (!cmd) {
@@ -1467,7 +1465,7 @@ int wl12xx_cmd_config_fwlog(struct wl1271 *wl)
ret = wl1271_cmd_send(wl, CMD_CONFIG_FWLOGGER, cmd, sizeof(*cmd), 0);
if (ret < 0) {
- wl1271_error("failed to send config firmware logger command");
+ wl1271_err("failed to send config firmware logger command\n");
goto out_free;
}
@@ -1483,7 +1481,7 @@ int wl12xx_cmd_start_fwlog(struct wl1271 *wl)
struct wl12xx_cmd_start_fwlog *cmd;
int ret = 0;
- wl1271_debug(DEBUG_CMD, "cmd start firmware logger");
+ wl1271_debug(DEBUG_CMD, "cmd start firmware logger\n");
cmd = kzalloc(sizeof(*cmd), GFP_KERNEL);
if (!cmd) {
@@ -1493,7 +1491,7 @@ int wl12xx_cmd_start_fwlog(struct wl1271 *wl)
ret = wl1271_cmd_send(wl, CMD_START_FWLOGGER, cmd, sizeof(*cmd), 0);
if (ret < 0) {
- wl1271_error("failed to send start firmware logger command");
+ wl1271_err("failed to send start firmware logger command\n");
goto out_free;
}
@@ -1509,7 +1507,7 @@ int wl12xx_cmd_stop_fwlog(struct wl1271 *wl)
struct wl12xx_cmd_stop_fwlog *cmd;
int ret = 0;
- wl1271_debug(DEBUG_CMD, "cmd stop firmware logger");
+ wl1271_debug(DEBUG_CMD, "cmd stop firmware logger\n");
cmd = kzalloc(sizeof(*cmd), GFP_KERNEL);
if (!cmd) {
@@ -1519,7 +1517,7 @@ int wl12xx_cmd_stop_fwlog(struct wl1271 *wl)
ret = wl1271_cmd_send(wl, CMD_STOP_FWLOGGER, cmd, sizeof(*cmd), 0);
if (ret < 0) {
- wl1271_error("failed to send stop firmware logger command");
+ wl1271_err("failed to send stop firmware logger command\n");
goto out_free;
}
@@ -1536,7 +1534,7 @@ static int wl12xx_cmd_roc(struct wl1271 *wl, struct wl12xx_vif *wlvif,
struct wl12xx_cmd_roc *cmd;
int ret = 0;
- wl1271_debug(DEBUG_CMD, "cmd roc %d (%d)", wlvif->channel, role_id);
+ wl1271_debug(DEBUG_CMD, "cmd roc %d (%d)\n", wlvif->channel, role_id);
if (WARN_ON(role_id == WL12XX_INVALID_ROLE_ID))
return -EINVAL;
@@ -1557,7 +1555,7 @@ static int wl12xx_cmd_roc(struct wl1271 *wl, struct wl12xx_vif *wlvif,
cmd->band = WLCORE_BAND_5GHZ;
break;
default:
- wl1271_error("roc - unknown band: %d", (int)wlvif->band);
+ wl1271_err("roc - unknown band: %d\n", (int)wlvif->band);
ret = -EINVAL;
goto out_free;
}
@@ -1565,7 +1563,7 @@ static int wl12xx_cmd_roc(struct wl1271 *wl, struct wl12xx_vif *wlvif,
ret = wl1271_cmd_send(wl, CMD_REMAIN_ON_CHANNEL, cmd, sizeof(*cmd), 0);
if (ret < 0) {
- wl1271_error("failed to send ROC command");
+ wl1271_err("failed to send ROC command\n");
goto out_free;
}
@@ -1581,7 +1579,7 @@ static int wl12xx_cmd_croc(struct wl1271 *wl, u8 role_id)
struct wl12xx_cmd_croc *cmd;
int ret = 0;
- wl1271_debug(DEBUG_CMD, "cmd croc (%d)", role_id);
+ wl1271_debug(DEBUG_CMD, "cmd croc (%d)\n", role_id);
cmd = kzalloc(sizeof(*cmd), GFP_KERNEL);
if (!cmd) {
@@ -1593,7 +1591,7 @@ static int wl12xx_cmd_croc(struct wl1271 *wl, u8 role_id)
ret = wl1271_cmd_send(wl, CMD_CANCEL_REMAIN_ON_CHANNEL, cmd,
sizeof(*cmd), 0);
if (ret < 0) {
- wl1271_error("failed to send ROC command");
+ wl1271_err("failed to send ROC command\n");
goto out_free;
}
@@ -1623,7 +1621,7 @@ int wl12xx_roc(struct wl1271 *wl, struct wl12xx_vif *wlvif, u8 role_id)
ret = wl1271_cmd_wait_for_event(wl,
REMAIN_ON_CHANNEL_COMPLETE_EVENT_ID);
if (ret < 0) {
- wl1271_error("cmd roc event completion error");
+ wl1271_err("cmd roc event completion error\n");
goto out;
}
}
@@ -1664,7 +1662,7 @@ int wl12xx_cmd_channel_switch(struct wl1271 *wl,
struct wl12xx_cmd_channel_switch *cmd;
int ret;
- wl1271_debug(DEBUG_ACX, "cmd channel switch");
+ wl1271_debug(DEBUG_ACX, "cmd channel switch\n");
cmd = kzalloc(sizeof(*cmd), GFP_KERNEL);
if (!cmd) {
@@ -1682,7 +1680,7 @@ int wl12xx_cmd_channel_switch(struct wl1271 *wl,
ret = wl1271_cmd_send(wl, CMD_CHANNEL_SWITCH, cmd, sizeof(*cmd), 0);
if (ret < 0) {
- wl1271_error("failed to send channel switch command");
+ wl1271_err("failed to send channel switch command\n");
goto out_free;
}
@@ -1698,7 +1696,7 @@ int wl12xx_cmd_stop_channel_switch(struct wl1271 *wl)
struct wl12xx_cmd_stop_channel_switch *cmd;
int ret;
- wl1271_debug(DEBUG_ACX, "cmd stop channel switch");
+ wl1271_debug(DEBUG_ACX, "cmd stop channel switch\n");
cmd = kzalloc(sizeof(*cmd), GFP_KERNEL);
if (!cmd) {
@@ -1708,7 +1706,7 @@ int wl12xx_cmd_stop_channel_switch(struct wl1271 *wl)
ret = wl1271_cmd_send(wl, CMD_STOP_CHANNEL_SWICTH, cmd, sizeof(*cmd), 0);
if (ret < 0) {
- wl1271_error("failed to stop channel switch command");
+ wl1271_err("failed to stop channel switch command\n");
goto out_free;
}
diff --git a/drivers/net/wireless/ti/wlcore/debug.h b/drivers/net/wireless/ti/wlcore/debug.h
index 6b800b3..83b72c2 100644
--- a/drivers/net/wireless/ti/wlcore/debug.h
+++ b/drivers/net/wireless/ti/wlcore/debug.h
@@ -61,22 +61,22 @@ extern u32 wl12xx_debug_level;
#define DEBUG_DUMP_LIMIT 1024
-#define wl1271_error(fmt, arg...) \
- pr_err(DRIVER_PREFIX "ERROR " fmt "\n", ##arg)
+#define wl1271_err(fmt, arg...) \
+ pr_err(DRIVER_PREFIX "ERROR " fmt, ##arg)
-#define wl1271_warning(fmt, arg...) \
- pr_warning(DRIVER_PREFIX "WARNING " fmt "\n", ##arg)
+#define wl1271_warn(fmt, arg...) \
+ pr_warn(DRIVER_PREFIX "WARNING " fmt, ##arg)
-#define wl1271_notice(fmt, arg...) \
- pr_info(DRIVER_PREFIX fmt "\n", ##arg)
+#define wl1271_notice(fmt, arg...) \
+ pr_info(DRIVER_PREFIX fmt, ##arg)
-#define wl1271_info(fmt, arg...) \
- pr_info(DRIVER_PREFIX fmt "\n", ##arg)
+#define wl1271_info(fmt, arg...) \
+ pr_info(DRIVER_PREFIX fmt, ##arg)
-#define wl1271_debug(level, fmt, arg...) \
- do { \
+#define wl1271_debug(level, fmt, arg...) \
+ do { \
if (level & wl12xx_debug_level) \
- pr_debug(DRIVER_PREFIX fmt "\n", ##arg); \
+ pr_debug(DRIVER_PREFIX fmt, ##arg); \
} while (0)
/* TODO: use pr_debug_hex_dump when it becomes available */
diff --git a/drivers/net/wireless/ti/wlcore/debugfs.c b/drivers/net/wireless/ti/wlcore/debugfs.c
index 689a847..d5bbc9a 100644
--- a/drivers/net/wireless/ti/wlcore/debugfs.c
+++ b/drivers/net/wireless/ti/wlcore/debugfs.c
@@ -109,7 +109,7 @@ static void chip_op_handler(struct wl1271 *wl, unsigned long value,
int (*chip_op) (struct wl1271 *wl);
if (!arg) {
- wl1271_warning("debugfs chip_op_handler with no callback");
+ wl1271_warn("debugfs chip_op_handler with no callback\n");
return;
}
@@ -153,12 +153,12 @@ static inline void no_write_handler(struct wl1271 *wl,
\
ret = kstrtoul_from_user(user_buf, count, 10, &value); \
if (ret < 0) { \
- wl1271_warning("illegal value for " #param); \
+ wl1271_warn("illegal value for " #param); \
return -EINVAL; \
} \
\
if (value < min_val || value > max_val) { \
- wl1271_warning(#param " is not in valid range"); \
+ wl1271_warn(#param " is not in valid range"); \
return -ERANGE; \
} \
\
@@ -209,7 +209,7 @@ static ssize_t gpio_power_write(struct file *file,
ret = kstrtoul_from_user(user_buf, count, 10, &value);
if (ret < 0) {
- wl1271_warning("illegal value in gpio_power");
+ wl1271_warn("illegal value in gpio_power\n");
return -EINVAL;
}
@@ -271,12 +271,12 @@ static ssize_t dynamic_ps_timeout_write(struct file *file,
ret = kstrtoul_from_user(user_buf, count, 10, &value);
if (ret < 0) {
- wl1271_warning("illegal value in dynamic_ps");
+ wl1271_warn("illegal value in dynamic_ps\n");
return -EINVAL;
}
if (value < 1 || value > 65535) {
- wl1271_warning("dyanmic_ps_timeout is not in valid range");
+ wl1271_warn("dyanmic_ps_timeout is not in valid range\n");
return -ERANGE;
}
@@ -335,12 +335,12 @@ static ssize_t forced_ps_write(struct file *file,
ret = kstrtoul_from_user(user_buf, count, 10, &value);
if (ret < 0) {
- wl1271_warning("illegal value in forced_ps");
+ wl1271_warn("illegal value in forced_ps\n");
return -EINVAL;
}
if (value != 1 && value != 0) {
- wl1271_warning("forced_ps should be either 0 or 1");
+ wl1271_warn("forced_ps should be either 0 or 1\n");
return -ERANGE;
}
@@ -403,12 +403,12 @@ static ssize_t split_scan_timeout_write(struct file *file,
ret = kstrtoul_from_user(user_buf, count, 10, &value);
if (ret < 0) {
- wl1271_warning("illegal value in split_scan_timeout");
+ wl1271_warn("illegal value in split_scan_timeout\n");
return -EINVAL;
}
if (value == 0)
- wl1271_info("split scan will be disabled");
+ wl1271_info("split scan will be disabled\n");
mutex_lock(&wl->mutex);
@@ -641,12 +641,12 @@ static ssize_t dtim_interval_write(struct file *file,
ret = kstrtoul_from_user(user_buf, count, 10, &value);
if (ret < 0) {
- wl1271_warning("illegal value for dtim_interval");
+ wl1271_warn("illegal value for dtim_interval\n");
return -EINVAL;
}
if (value < 1 || value > 10) {
- wl1271_warning("dtim value is not in valid range");
+ wl1271_warn("dtim value is not in valid range\n");
return -ERANGE;
}
@@ -702,12 +702,12 @@ static ssize_t suspend_dtim_interval_write(struct file *file,
ret = kstrtoul_from_user(user_buf, count, 10, &value);
if (ret < 0) {
- wl1271_warning("illegal value for suspend_dtim_interval");
+ wl1271_warn("illegal value for suspend_dtim_interval\n");
return -EINVAL;
}
if (value < 1 || value > 10) {
- wl1271_warning("suspend_dtim value is not in valid range");
+ wl1271_warn("suspend_dtim value is not in valid range\n");
return -ERANGE;
}
@@ -757,12 +757,12 @@ static ssize_t beacon_interval_write(struct file *file,
ret = kstrtoul_from_user(user_buf, count, 10, &value);
if (ret < 0) {
- wl1271_warning("illegal value for beacon_interval");
+ wl1271_warn("illegal value for beacon_interval\n");
return -EINVAL;
}
if (value < 1 || value > 255) {
- wl1271_warning("beacon interval value is not in valid range");
+ wl1271_warn("beacon interval value is not in valid range\n");
return -ERANGE;
}
@@ -801,13 +801,13 @@ static ssize_t rx_streaming_interval_write(struct file *file,
ret = kstrtoul_from_user(user_buf, count, 10, &value);
if (ret < 0) {
- wl1271_warning("illegal value in rx_streaming_interval!");
+ wl1271_warn("illegal value in rx_streaming_interval!\n");
return -EINVAL;
}
/* valid values: 0, 10-100 */
if (value && (value < 10 || value > 100)) {
- wl1271_warning("value is not in range!");
+ wl1271_warn("value is not in range!\n");
return -ERANGE;
}
@@ -856,13 +856,13 @@ static ssize_t rx_streaming_always_write(struct file *file,
ret = kstrtoul_from_user(user_buf, count, 10, &value);
if (ret < 0) {
- wl1271_warning("illegal value in rx_streaming_write!");
+ wl1271_warn("illegal value in rx_streaming_write!\n");
return -EINVAL;
}
/* valid values: 0, 10-100 */
if (!(value == 0 || value == 1)) {
- wl1271_warning("value is not in valid!");
+ wl1271_warn("value is not in valid!\n");
return -EINVAL;
}
@@ -918,7 +918,7 @@ static ssize_t beacon_filtering_write(struct file *file,
ret = kstrtoul(buf, 0, &value);
if (ret < 0) {
- wl1271_warning("illegal value for beacon_filtering!");
+ wl1271_warn("illegal value for beacon_filtering!\n");
return -EINVAL;
}
diff --git a/drivers/net/wireless/ti/wlcore/event.c b/drivers/net/wireless/ti/wlcore/event.c
index c976f04..49217f7 100644
--- a/drivers/net/wireless/ti/wlcore/event.c
+++ b/drivers/net/wireless/ti/wlcore/event.c
@@ -120,15 +120,15 @@ static int wl1271_event_process(struct wl1271 *wl)
}
if (vector & PERIODIC_SCAN_REPORT_EVENT_ID) {
- wl1271_debug(DEBUG_EVENT, "PERIODIC_SCAN_REPORT_EVENT "
- "(status 0x%0x)", mbox->scheduled_scan_status);
+ wl1271_debug(DEBUG_EVENT, "PERIODIC_SCAN_REPORT_EVENT (status 0x%0x)\n",
+ mbox->scheduled_scan_status);
wl1271_scan_sched_scan_results(wl);
}
if (vector & PERIODIC_SCAN_COMPLETE_EVENT_ID) {
- wl1271_debug(DEBUG_EVENT, "PERIODIC_SCAN_COMPLETE_EVENT "
- "(status 0x%0x)", mbox->scheduled_scan_status);
+ wl1271_debug(DEBUG_EVENT, "PERIODIC_SCAN_COMPLETE_EVENT (status 0x%0x)\n",
+ mbox->scheduled_scan_status);
if (wl->sched_scanning) {
ieee80211_sched_scan_stopped(wl->hw);
wl->sched_scanning = false;
@@ -187,8 +187,7 @@ static int wl1271_event_process(struct wl1271 *wl)
if (vector & BA_SESSION_RX_CONSTRAINT_EVENT_ID) {
u8 role_id = mbox->role_id;
- wl1271_debug(DEBUG_EVENT, "BA_SESSION_RX_CONSTRAINT_EVENT_ID. "
- "ba_allowed = 0x%x, role_id=%d",
+ wl1271_debug(DEBUG_EVENT, "BA_SESSION_RX_CONSTRAINT_EVENT_ID. ba_allowed = 0x%x, role_id=%d\n",
mbox->rx_ba_allowed, role_id);
wl12xx_for_each_wlvif(wl, wlvif) {
@@ -202,9 +201,8 @@ static int wl1271_event_process(struct wl1271 *wl)
}
if (vector & CHANNEL_SWITCH_COMPLETE_EVENT_ID) {
- wl1271_debug(DEBUG_EVENT, "CHANNEL_SWITCH_COMPLETE_EVENT_ID. "
- "status = 0x%x",
- mbox->channel_switch_status);
+ wl1271_debug(DEBUG_EVENT, "CHANNEL_SWITCH_COMPLETE_EVENT_ID. status = 0x%x\n",
+ mbox->channel_switch_status);
/*
* That event uses for two cases:
* 1) channel switch complete with status=0
diff --git a/drivers/net/wireless/ti/wlcore/main.c b/drivers/net/wireless/ti/wlcore/main.c
index 1156e3f..3795568 100644
--- a/drivers/net/wireless/ti/wlcore/main.c
+++ b/drivers/net/wireless/ti/wlcore/main.c
@@ -85,7 +85,7 @@ static int wl12xx_set_authorized(struct wl1271 *wl,
wl12xx_croc(wl, wlvif->role_id);
- wl1271_info("Association completed.");
+ wl1271_info("Association completed\n");
return 0;
}
@@ -260,7 +260,7 @@ static void wl12xx_tx_watchdog_work(struct work_struct *work)
* time (e.g. pending Tx on the non-ROC channels)
*/
if (find_first_bit(wl->roc_map, WL12XX_MAX_ROLES) < WL12XX_MAX_ROLES) {
- wl1271_debug(DEBUG_TX, "No Tx (in FW) for %d ms due to ROC",
+ wl1271_debug(DEBUG_TX, "No Tx (in FW) for %d ms due to ROC\n",
wl->conf.tx.tx_watchdog_timeout);
wl12xx_rearm_tx_watchdog_locked(wl);
goto out;
@@ -271,7 +271,7 @@ static void wl12xx_tx_watchdog_work(struct work_struct *work)
* time
*/
if (wl->scan.state != WL1271_SCAN_STATE_IDLE) {
- wl1271_debug(DEBUG_TX, "No Tx (in FW) for %d ms due to scan",
+ wl1271_debug(DEBUG_TX, "No Tx (in FW) for %d ms due to scan\n",
wl->conf.tx.tx_watchdog_timeout);
wl12xx_rearm_tx_watchdog_locked(wl);
goto out;
@@ -284,16 +284,15 @@ static void wl12xx_tx_watchdog_work(struct work_struct *work)
* stations are removed due to inactivity.
*/
if (wl->active_sta_count) {
- wl1271_debug(DEBUG_TX, "No Tx (in FW) for %d ms. AP has "
- " %d stations",
- wl->conf.tx.tx_watchdog_timeout,
- wl->active_sta_count);
+ wl1271_debug(DEBUG_TX, "No Tx (in FW) for %d ms. AP has %d stations\n",
+ wl->conf.tx.tx_watchdog_timeout,
+ wl->active_sta_count);
wl12xx_rearm_tx_watchdog_locked(wl);
goto out;
}
- wl1271_error("Tx stuck (in FW) for %d ms. Starting recovery",
- wl->conf.tx.tx_watchdog_timeout);
+ wl1271_err("Tx stuck (in FW) for %d ms. Starting recovery.\n",
+ wl->conf.tx.tx_watchdog_timeout);
wl12xx_queue_recovery_work(wl);
out:
@@ -315,7 +314,7 @@ static void wlcore_adjust_conf(struct wl1271 *wl)
wl->conf.fwlog.mem_blocks = 0;
wl->conf.fwlog.output = WL12XX_FWLOG_OUTPUT_NONE;
} else {
- wl1271_error("Unknown fwlog parameter %s", fwlog_param);
+ wl1271_err("Unknown fwlog parameter %s\n", fwlog_param);
}
}
}
@@ -358,7 +357,7 @@ static void wl12xx_irq_update_links_status(struct wl1271 *wl,
cur_fw_ps_map = le32_to_cpu(status->link_ps_bitmap);
if (wl->ap_fw_ps_map != cur_fw_ps_map) {
wl1271_debug(DEBUG_PSM,
- "link ps prev 0x%x cur 0x%x changed 0x%x",
+ "link ps prev 0x%x cur 0x%x changed 0x%x\n",
wl->ap_fw_ps_map, cur_fw_ps_map,
wl->ap_fw_ps_map ^ cur_fw_ps_map);
@@ -395,8 +394,7 @@ static void wl12xx_fw_status(struct wl1271 *wl,
wlcore_raw_read_data(wl, REG_RAW_FW_STATUS_ADDR, status_1,
status_len, false);
- wl1271_debug(DEBUG_IRQ, "intr: 0x%x (fw_rx_counter = %d, "
- "drv_rx_counter = %d, tx_results_counter = %d)",
+ wl1271_debug(DEBUG_IRQ, "intr: 0x%x (fw_rx_counter = %d, drv_rx_counter = %d, tx_results_counter = %d)\n",
status_1->intr,
status_1->fw_rx_counter,
status_1->drv_rx_counter,
@@ -512,7 +510,7 @@ static irqreturn_t wl1271_irq(int irq, void *cookie)
mutex_lock(&wl->mutex);
- wl1271_debug(DEBUG_IRQ, "IRQ work");
+ wl1271_debug(DEBUG_IRQ, "IRQ work\n");
if (unlikely(wl->state == WL1271_STATE_OFF))
goto out;
@@ -542,7 +540,7 @@ static irqreturn_t wl1271_irq(int irq, void *cookie)
}
if (unlikely(intr & WL1271_ACX_INTR_WATCHDOG)) {
- wl1271_error("HW watchdog interrupt received! starting recovery.");
+ wl1271_err("HW watchdog interrupt received! Starting recovery.\n");
wl->watchdog_recovery = true;
wl12xx_queue_recovery_work(wl);
@@ -551,8 +549,7 @@ static irqreturn_t wl1271_irq(int irq, void *cookie)
}
if (unlikely(intr & WL1271_ACX_SW_INTR_WATCHDOG)) {
- wl1271_error("SW watchdog interrupt received! "
- "starting recovery.");
+ wl1271_err("SW watchdog interrupt received! Starting recovery.\n");
wl->watchdog_recovery = true;
wl12xx_queue_recovery_work(wl);
@@ -561,7 +558,7 @@ static irqreturn_t wl1271_irq(int irq, void *cookie)
}
if (likely(intr & WL1271_ACX_INTR_DATA)) {
- wl1271_debug(DEBUG_IRQ, "WL1271_ACX_INTR_DATA");
+ wl1271_debug(DEBUG_IRQ, "WL1271_ACX_INTR_DATA\n");
wl12xx_rx(wl, wl->fw_status_1);
@@ -590,21 +587,21 @@ static irqreturn_t wl1271_irq(int irq, void *cookie)
}
if (intr & WL1271_ACX_INTR_EVENT_A) {
- wl1271_debug(DEBUG_IRQ, "WL1271_ACX_INTR_EVENT_A");
+ wl1271_debug(DEBUG_IRQ, "WL1271_ACX_INTR_EVENT_A\n");
wl1271_event_handle(wl, 0);
}
if (intr & WL1271_ACX_INTR_EVENT_B) {
- wl1271_debug(DEBUG_IRQ, "WL1271_ACX_INTR_EVENT_B");
+ wl1271_debug(DEBUG_IRQ, "WL1271_ACX_INTR_EVENT_B\n");
wl1271_event_handle(wl, 1);
}
if (intr & WL1271_ACX_INTR_INIT_COMPLETE)
wl1271_debug(DEBUG_IRQ,
- "WL1271_ACX_INTR_INIT_COMPLETE");
+ "WL1271_ACX_INTR_INIT_COMPLETE\n");
if (intr & WL1271_ACX_INTR_HW_AVAILABLE)
- wl1271_debug(DEBUG_IRQ, "WL1271_ACX_INTR_HW_AVAILABLE");
+ wl1271_debug(DEBUG_IRQ, "WL1271_ACX_INTR_HW_AVAILABLE\n");
}
wl1271_ps_elp_sleep(wl);
@@ -679,18 +676,18 @@ static int wl12xx_fetch_firmware(struct wl1271 *wl, bool plt)
if (wl->fw_type == fw_type)
return 0;
- wl1271_debug(DEBUG_BOOT, "booting firmware %s", fw_name);
+ wl1271_debug(DEBUG_BOOT, "booting firmware %s\n", fw_name);
ret = request_firmware(&fw, fw_name, wl->dev);
if (ret < 0) {
- wl1271_error("could not get firmware %s: %d", fw_name, ret);
+ wl1271_err("could not get firmware %s: %d\n", fw_name, ret);
return ret;
}
if (fw->size % 4) {
- wl1271_error("firmware size is not multiple of 32 bits: %zu",
- fw->size);
+ wl1271_err("firmware size is not multiple of 32 bits: %zu\n",
+ fw->size);
ret = -EILSEQ;
goto out;
}
@@ -701,7 +698,7 @@ static int wl12xx_fetch_firmware(struct wl1271 *wl, bool plt)
wl->fw = vmalloc(wl->fw_len);
if (!wl->fw) {
- wl1271_error("could not allocate memory for the firmware");
+ wl1271_err("could not allocate memory for the firmware\n");
ret = -ENOMEM;
goto out;
}
@@ -723,7 +720,7 @@ static void wl1271_fetch_nvs(struct wl1271 *wl)
ret = request_firmware(&fw, WL12XX_NVS_NAME, wl->dev);
if (ret < 0) {
- wl1271_debug(DEBUG_BOOT, "could not get nvs file %s: %d",
+ wl1271_debug(DEBUG_BOOT, "could not get nvs file %s: %d\n",
WL12XX_NVS_NAME, ret);
return;
}
@@ -731,7 +728,7 @@ static void wl1271_fetch_nvs(struct wl1271 *wl)
wl->nvs = kmemdup(fw->data, fw->size, GFP_KERNEL);
if (!wl->nvs) {
- wl1271_error("could not allocate memory for the nvs file");
+ wl1271_err("could not allocate memory for the nvs file\n");
goto out;
}
@@ -781,7 +778,7 @@ static void wl12xx_read_fwlog_panic(struct wl1271 *wl)
(wl->conf.fwlog.mem_blocks == 0))
return;
- wl1271_info("Reading FW panic log");
+ wl1271_info("Reading FW panic log\n");
block = kmalloc(WL12XX_HW_BLOCK_SIZE, GFP_KERNEL);
if (!block)
@@ -845,8 +842,7 @@ static void wl1271_recovery_work(struct work_struct *work)
/* change partitions momentarily so we can read the FW pc */
wlcore_set_partition(wl, &wl->ptable[PART_BOOT]);
- wl1271_info("Hardware recovery in progress. FW ver: %s pc: 0x%x "
- "hint_sts: 0x%08x",
+ wl1271_info("Hardware recovery in progress. FW ver: %s pc: 0x%x hint_sts: 0x%08x\n",
wl->chip.fw_ver_str,
wlcore_read_reg(wl, REG_PC_ON_RECOVERY),
wlcore_read_reg(wl, REG_INTERRUPT_NO_CLEAR));
@@ -856,7 +852,7 @@ static void wl1271_recovery_work(struct work_struct *work)
!test_bit(WL1271_FLAG_INTENDED_FW_RECOVERY, &wl->flags));
if (no_recovery) {
- wl1271_info("No recovery (chosen on module load). Fw will remain stuck.");
+ wl1271_info("No recovery (chosen on module load). Fw will remain stuck.\n");
clear_bit(WL1271_FLAG_RECOVERY_IN_PROGRESS, &wl->flags);
goto out_unlock;
}
@@ -998,11 +994,11 @@ int wl1271_plt_start(struct wl1271 *wl)
mutex_lock(&wl->mutex);
- wl1271_notice("power up");
+ wl1271_notice("power up\n");
if (wl->state != WL1271_STATE_OFF) {
- wl1271_error("cannot go into PLT state because not "
- "in off state: %d", wl->state);
+ wl1271_err("cannot go into PLT state because not in off state: %d\n",
+ wl->state);
ret = -EBUSY;
goto out;
}
@@ -1019,7 +1015,7 @@ int wl1271_plt_start(struct wl1271 *wl)
wl->plt = true;
wl->state = WL1271_STATE_ON;
- wl1271_notice("firmware booted in PLT mode (%s)",
+ wl1271_notice("firmware booted in PLT mode (%s)\n",
wl->chip.fw_ver_str);
/* update hw/fw version info in wiphy struct */
@@ -1033,8 +1029,8 @@ power_off:
wl1271_power_off(wl);
}
- wl1271_error("firmware boot in PLT mode failed despite %d retries",
- WL1271_BOOT_RETRIES);
+ wl1271_err("firmware boot in PLT mode failed despite %d retries\n",
+ WL1271_BOOT_RETRIES);
out:
mutex_unlock(&wl->mutex);
@@ -1045,7 +1041,7 @@ int wl1271_plt_stop(struct wl1271 *wl)
{
int ret = 0;
- wl1271_notice("power down");
+ wl1271_notice("power down\n");
/*
* Interrupts must be disabled before setting the state to OFF.
@@ -1064,8 +1060,8 @@ int wl1271_plt_stop(struct wl1271 *wl)
*/
wlcore_enable_interrupts(wl);
- wl1271_error("cannot power down because not in PLT "
- "state: %d", wl->state);
+ wl1271_err("cannot power down because not in PLT state: %d\n",
+ wl->state);
ret = -EBUSY;
goto out;
}
@@ -1121,12 +1117,12 @@ static void wl1271_op_tx(struct ieee80211_hw *hw, struct sk_buff *skb)
(wlcore_is_queue_stopped(wl, q) &&
!wlcore_is_queue_stopped_by_reason(wl, q,
WLCORE_QUEUE_STOP_REASON_WATERMARK))) {
- wl1271_debug(DEBUG_TX, "DROP skb hlid %d q %d", hlid, q);
+ wl1271_debug(DEBUG_TX, "DROP skb hlid %d q %d\n", hlid, q);
ieee80211_free_txskb(hw, skb);
goto out;
}
- wl1271_debug(DEBUG_TX, "queue skb hlid %d q %d len %d",
+ wl1271_debug(DEBUG_TX, "queue skb hlid %d q %d len %d\n",
hlid, q, skb->len);
skb_queue_tail(&wl->links[hlid].tx_queue[q], skb);
@@ -1137,7 +1133,7 @@ static void wl1271_op_tx(struct ieee80211_hw *hw, struct sk_buff *skb)
* the queue here, otherwise the queue will get too long.
*/
if (wl->tx_queue_count[q] >= WL1271_TX_QUEUE_HIGH_WATERMARK) {
- wl1271_debug(DEBUG_TX, "op_tx: stopping queues for q %d", q);
+ wl1271_debug(DEBUG_TX, "op_tx: stopping queues for q %d\n", q);
wlcore_stop_queue_locked(wl, q,
WLCORE_QUEUE_STOP_REASON_WATERMARK);
}
@@ -1200,7 +1196,7 @@ static struct sk_buff *wl12xx_alloc_dummy_packet(struct wl1271 *wl)
skb = dev_alloc_skb(TOTAL_TX_DUMMY_PACKET_SIZE);
if (!skb) {
- wl1271_warning("Failed to allocate a dummy packet skb");
+ wl1271_warn("Failed to allocate a dummy packet skb\n");
return NULL;
}
@@ -1233,7 +1229,7 @@ wl1271_validate_wowlan_pattern(struct cfg80211_wowlan_trig_pkt_pattern *p)
int i, pattern_len = 0;
if (!p->mask) {
- wl1271_warning("No mask in WoWLAN pattern");
+ wl1271_warn("No mask in WoWLAN pattern\n");
return -EINVAL;
}
@@ -1276,12 +1272,12 @@ wl1271_validate_wowlan_pattern(struct cfg80211_wowlan_trig_pkt_pattern *p)
}
if (num_fields > WL1271_RX_FILTER_MAX_FIELDS) {
- wl1271_warning("RX Filter too complex. Too many segments");
+ wl1271_warn("RX Filter too complex. Too many segments\n");
return -EINVAL;
}
if (fields_size > WL1271_RX_FILTER_MAX_FIELDS_SIZE) {
- wl1271_warning("RX filter pattern is too big");
+ wl1271_warn("RX filter pattern is too big\n");
return -E2BIG;
}
@@ -1313,7 +1309,7 @@ int wl1271_rx_filter_alloc_field(struct wl12xx_rx_filter *filter,
struct wl12xx_rx_filter_field *field;
if (filter->num_fields == WL1271_RX_FILTER_MAX_FIELDS) {
- wl1271_warning("Max fields per RX filter. can't alloc another");
+ wl1271_warn("Max fields per RX filter. can't alloc another\n");
return -EINVAL;
}
@@ -1321,7 +1317,7 @@ int wl1271_rx_filter_alloc_field(struct wl12xx_rx_filter *filter,
field->pattern = kzalloc(len, GFP_KERNEL);
if (!field->pattern) {
- wl1271_warning("Failed to allocate RX filter pattern");
+ wl1271_warn("Failed to allocate RX filter pattern\n");
return -ENOMEM;
}
@@ -1381,7 +1377,7 @@ static int wl1271_convert_wowlan_pattern_to_rx_filter(
filter = wl1271_rx_filter_alloc();
if (!filter) {
- wl1271_warning("Failed to alloc rx filter");
+ wl1271_warn("Failed to alloc rx filter\n");
ret = -ENOMEM;
goto err;
}
@@ -1452,7 +1448,7 @@ static int wl1271_configure_wowlan(struct wl1271 *wl,
for (i = 0; i < wow->n_patterns; i++) {
ret = wl1271_validate_wowlan_pattern(&wow->patterns[i]);
if (ret) {
- wl1271_warning("Bad wowlan pattern %d", i);
+ wl1271_warn("Bad wowlan pattern %d\n", i);
return ret;
}
}
@@ -1469,8 +1465,8 @@ static int wl1271_configure_wowlan(struct wl1271 *wl,
ret = wl1271_convert_wowlan_pattern_to_rx_filter(p, &filter);
if (ret) {
- wl1271_warning("Failed to create an RX filter from "
- "wowlan pattern %d", i);
+ wl1271_warn("Failed to create an RX filter from wowlan pattern %d\n",
+ i);
goto out;
}
@@ -1506,7 +1502,7 @@ static int wl1271_configure_suspend_sta(struct wl1271 *wl,
wl->conf.conn.suspend_listen_interval);
if (ret < 0)
- wl1271_error("suspend: set wake up conditions failed: %d", ret);
+ wl1271_err("suspend: set wake up conditions failed: %d\n", ret);
wl1271_ps_elp_sleep(wl);
@@ -1568,8 +1564,8 @@ static void wl1271_configure_resume(struct wl1271 *wl,
wl->conf.conn.listen_interval);
if (ret < 0)
- wl1271_error("resume: wake up conditions failed: %d",
- ret);
+ wl1271_err("resume: wake up conditions failed: %d\n",
+ ret);
} else if (is_ap) {
ret = wl1271_acx_beacon_filter_opt(wl, wlvif, false);
@@ -1596,7 +1592,7 @@ static int wl1271_op_suspend(struct ieee80211_hw *hw,
ret = wl1271_configure_suspend(wl, wlvif, wow);
if (ret < 0) {
mutex_unlock(&wl->mutex);
- wl1271_warning("couldn't prepare device to suspend");
+ wl1271_warn("couldn't prepare device to suspend\n");
return ret;
}
}
@@ -1815,7 +1811,7 @@ static u8 wl12xx_get_role_type(struct wl1271 *wl, struct wl12xx_vif *wlvif)
return WL1271_ROLE_IBSS;
default:
- wl1271_error("invalid bss_type: %d", wlvif->bss_type);
+ wl1271_err("invalid bss_type: %d\n", wlvif->bss_type);
}
return WL12XX_INVALID_ROLE_TYPE;
}
@@ -1949,12 +1945,12 @@ power_off:
}
if (!booted) {
- wl1271_error("firmware boot failed despite %d retries",
- WL1271_BOOT_RETRIES);
+ wl1271_err("firmware boot failed despite %d retries\n",
+ WL1271_BOOT_RETRIES);
goto out;
}
- wl1271_info("firmware booted (%s)", wl->chip.fw_ver_str);
+ wl1271_info("firmware booted (%s)\n", wl->chip.fw_ver_str);
/* update hw/fw version info in wiphy struct */
wiphy->hw_version = wl->chip.id;
@@ -2156,7 +2152,7 @@ static void __wl1271_op_remove_interface(struct wl1271 *wl,
if (wl->state != WL1271_STATE_ON)
return;
- wl1271_info("down");
+ wl1271_info("down\n");
if (wl->scan.state != WL1271_SCAN_STATE_IDLE &&
wl->scan_vif == vif) {
@@ -2314,7 +2310,7 @@ static int wl1271_join(struct wl1271 *wl, struct wl12xx_vif *wlvif,
* users who really like to roam a lot :)
*/
if (test_bit(WLVIF_FLAG_STA_ASSOCIATED, &wlvif->flags))
- wl1271_info("JOIN while associated.");
+ wl1271_info("JOIN while associated\n");
/* clear encryption type */
wlvif->encryption_type = KEY_NONE;
@@ -2456,8 +2452,8 @@ static int wl12xx_config_vif(struct wl1271 *wl, struct wl12xx_vif *wlvif,
if (is_ap) {
ret = wl1271_init_ap_rates(wl, wlvif);
if (ret < 0)
- wl1271_error("AP rate policy change failed %d",
- ret);
+ wl1271_err("AP rate policy change failed %d\n",
+ ret);
} else {
/*
* FIXME: the mac80211 should really provide a fixed
@@ -2473,8 +2469,8 @@ static int wl12xx_config_vif(struct wl1271 *wl, struct wl12xx_vif *wlvif,
wlvif->basic_rate_set);
ret = wl1271_acx_sta_rate_policies(wl, wlvif);
if (ret < 0)
- wl1271_warning("rate policy for channel "
- "failed %d", ret);
+ wl1271_warn("rate policy for channel failed %d\n",
+ ret);
/*
* change the ROC channel. do it only if we are
@@ -2513,23 +2509,23 @@ static int wl12xx_config_vif(struct wl1271 *wl, struct wl12xx_vif *wlvif,
ps_mode_str = "auto";
}
- wl1271_debug(DEBUG_PSM, "%s ps enabled", ps_mode_str);
+ wl1271_debug(DEBUG_PSM, "%s ps enabled\n", ps_mode_str);
ret = wl1271_ps_set_mode(wl, wlvif, ps_mode);
if (ret < 0)
- wl1271_warning("enter %s ps failed %d",
- ps_mode_str, ret);
+ wl1271_warn("enter %s ps failed %d\n",
+ ps_mode_str, ret);
} else if (!(conf->flags & IEEE80211_CONF_PS) &&
test_bit(WLVIF_FLAG_IN_PS, &wlvif->flags)) {
- wl1271_debug(DEBUG_PSM, "auto ps disabled");
+ wl1271_debug(DEBUG_PSM, "auto ps disabled\n");
ret = wl1271_ps_set_mode(wl, wlvif,
STATION_ACTIVE_MODE);
if (ret < 0)
- wl1271_warning("exit auto ps failed %d", ret);
+ wl1271_warn("exit auto ps failed %d\n", ret);
}
}
@@ -2553,13 +2549,12 @@ static int wl1271_op_config(struct ieee80211_hw *hw, u32 changed)
channel = ieee80211_frequency_to_channel(conf->channel->center_freq);
- wl1271_debug(DEBUG_MAC80211, "mac80211 config ch %d psm %s power %d %s"
- " changed 0x%x",
+ wl1271_debug(DEBUG_MAC80211, "mac80211 config ch %d psm %s power %d %s changed 0x%x\n",
channel,
conf->flags & IEEE80211_CONF_PS ? "on" : "off",
conf->power_level,
conf->flags & IEEE80211_CONF_IDLE ? "idle" : "in use",
- changed);
+ changed);
/*
* mac80211 will go to idle nearly immediately after transmitting some
@@ -2624,7 +2619,7 @@ static u64 wl1271_op_prepare_multicast(struct ieee80211_hw *hw,
fp = kzalloc(sizeof(*fp), GFP_ATOMIC);
if (!fp) {
- wl1271_error("Out of memory setting filters.");
+ wl1271_err("Out of memory setting filters\n");
return 0;
}
@@ -2661,8 +2656,8 @@ static void wl1271_op_configure_filter(struct ieee80211_hw *hw,
int ret;
- wl1271_debug(DEBUG_MAC80211, "mac80211 configure filter changed %x"
- " total %x", changed, *total);
+ wl1271_debug(DEBUG_MAC80211, "mac80211 configure filter changed %x total %x\n",
+ changed, *total);
mutex_lock(&wl->mutex);
@@ -2714,7 +2709,7 @@ static int wl1271_record_ap_key(struct wl1271 *wl, struct wl12xx_vif *wlvif,
struct wl1271_ap_key *ap_key;
int i;
- wl1271_debug(DEBUG_CRYPT, "record ap key id %d", (int)id);
+ wl1271_debug(DEBUG_CRYPT, "record ap key id %d\n", (int)id);
if (key_size > MAX_KEY_SIZE)
return -EINVAL;
@@ -2728,7 +2723,7 @@ static int wl1271_record_ap_key(struct wl1271 *wl, struct wl12xx_vif *wlvif,
break;
if (wlvif->ap.recorded_keys[i]->id == id) {
- wl1271_warning("trying to record key replacement");
+ wl1271_warn("trying to record key replacement\n");
return -EINVAL;
}
}
@@ -2910,8 +2905,8 @@ int wlcore_set_key(struct wl1271 *wl, enum set_key_cmd cmd,
wl1271_debug(DEBUG_MAC80211, "mac80211 set key");
- wl1271_debug(DEBUG_CRYPT, "CMD: 0x%x sta: %p", cmd, sta);
- wl1271_debug(DEBUG_CRYPT, "Key: algo:0x%x, id:%d, len:%d flags 0x%x",
+ wl1271_debug(DEBUG_CRYPT, "CMD: 0x%x sta: %p\n", cmd, sta);
+ wl1271_debug(DEBUG_CRYPT, "Key: algo:0x%x, id:%d, len:%d flags 0x%x\n",
key_conf->cipher, key_conf->keyidx,
key_conf->keylen, key_conf->flags);
wl1271_dump(DEBUG_CRYPT, "KEY: ", key_conf->key, key_conf->keylen);
@@ -2954,7 +2949,7 @@ int wlcore_set_key(struct wl1271 *wl, enum set_key_cmd cmd,
tx_seq_16 = WL1271_TX_SECURITY_LO16(wlvif->tx_security_seq);
break;
default:
- wl1271_error("Unknown key algo 0x%x", key_conf->cipher);
+ wl1271_err("Unknown key algo 0x%x\n", key_conf->cipher);
ret = -EOPNOTSUPP;
goto out_sleep;
@@ -2967,7 +2962,7 @@ int wlcore_set_key(struct wl1271 *wl, enum set_key_cmd cmd,
key_conf->keylen, key_conf->key,
tx_seq_32, tx_seq_16, sta);
if (ret < 0) {
- wl1271_error("Could not add or replace key");
+ wl1271_err("Could not add or replace key\n");
goto out_sleep;
}
@@ -2981,7 +2976,7 @@ int wlcore_set_key(struct wl1271 *wl, enum set_key_cmd cmd,
wlvif->encryption_type = key_type;
ret = wl1271_cmd_build_arp_rsp(wl, wlvif);
if (ret < 0) {
- wl1271_warning("build arp rsp failed: %d", ret);
+ wl1271_warn("build arp rsp failed: %d\n", ret);
goto out_sleep;
}
}
@@ -2993,13 +2988,13 @@ int wlcore_set_key(struct wl1271 *wl, enum set_key_cmd cmd,
key_conf->keylen, key_conf->key,
0, 0, sta);
if (ret < 0) {
- wl1271_error("Could not remove key");
+ wl1271_err("Could not remove key\n");
goto out_sleep;
}
break;
default:
- wl1271_error("Unsupported key cmd 0x%x", cmd);
+ wl1271_err("Unsupported key cmd 0x%x\n", cmd);
ret = -EOPNOTSUPP;
break;
}
@@ -3190,7 +3185,7 @@ static int wl1271_op_set_frag_threshold(struct ieee80211_hw *hw, u32 value)
ret = wl1271_acx_frag_threshold(wl, value);
if (ret < 0)
- wl1271_warning("wl1271_op_set_frag_threshold failed: %d", ret);
+ wl1271_warn("wl1271_op_set_frag_threshold failed: %d\n", ret);
wl1271_ps_elp_sleep(wl);
@@ -3220,7 +3215,7 @@ static int wl1271_op_set_rts_threshold(struct ieee80211_hw *hw, u32 value)
wl12xx_for_each_wlvif(wl, wlvif) {
ret = wl1271_acx_rts_threshold(wl, wlvif, value);
if (ret < 0)
- wl1271_warning("set rts threshold failed: %d", ret);
+ wl1271_warn("set rts threshold failed: %d\n", ret);
}
wl1271_ps_elp_sleep(wl);
@@ -3239,13 +3234,13 @@ static int wl1271_ssid_set(struct ieee80211_vif *vif, struct sk_buff *skb,
skb->len - offset);
if (!ptr) {
- wl1271_error("No SSID in IEs!");
+ wl1271_err("No SSID in IEs!\n");
return -ENOENT;
}
ssid_len = ptr[1];
if (ssid_len > IEEE80211_MAX_SSID_LEN) {
- wl1271_error("SSID is too long!");
+ wl1271_err("SSID is too long!\n");
return -EINVAL;
}
@@ -3306,7 +3301,7 @@ static int wl1271_ap_set_probe_resp_tmpl(struct wl1271 *wl, u32 rates,
if (ret < 0)
goto out;
- wl1271_debug(DEBUG_AP, "probe response updated");
+ wl1271_debug(DEBUG_AP, "probe response updated\n");
set_bit(WLVIF_FLAG_AP_PROBE_RESP_SET, &wlvif->flags);
out:
@@ -3334,7 +3329,7 @@ static int wl1271_ap_set_probe_resp_tmpl_legacy(struct wl1271 *wl,
rates);
if (probe_rsp_len + bss_conf->ssid_len > WL1271_CMD_TEMPL_MAX_SIZE) {
- wl1271_error("probe_rsp template too big");
+ wl1271_err("probe_rsp template too big\n");
return -EINVAL;
}
@@ -3344,7 +3339,7 @@ static int wl1271_ap_set_probe_resp_tmpl_legacy(struct wl1271 *wl,
ptr = cfg80211_find_ie(WLAN_EID_SSID, probe_rsp_data + ie_offset,
probe_rsp_len - ie_offset);
if (!ptr) {
- wl1271_error("No SSID in beacon!");
+ wl1271_err("No SSID in beacon!\n");
return -EINVAL;
}
@@ -3385,7 +3380,7 @@ static int wl1271_bss_erp_info_changed(struct wl1271 *wl,
else
ret = wl1271_acx_slot(wl, wlvif, SLOT_TIME_LONG);
if (ret < 0) {
- wl1271_warning("Set slot time failed %d", ret);
+ wl1271_warn("Set slot time failed %d\n", ret);
goto out;
}
}
@@ -3405,7 +3400,7 @@ static int wl1271_bss_erp_info_changed(struct wl1271 *wl,
ret = wl1271_acx_cts_protect(wl, wlvif,
CTSPROTECT_DISABLE);
if (ret < 0) {
- wl1271_warning("Set ctsprotect failed %d", ret);
+ wl1271_warn("Set ctsprotect failed %d\n", ret);
goto out;
}
}
@@ -3432,7 +3427,7 @@ static int wlcore_set_beacon_template(struct wl1271 *wl,
goto out;
}
- wl1271_debug(DEBUG_MASTER, "beacon updated");
+ wl1271_debug(DEBUG_MASTER, "beacon updated\n");
ret = wl1271_ssid_set(vif, beacon, ieoffset);
if (ret < 0) {
@@ -3505,8 +3500,8 @@ static int wl1271_bss_beacon_info_changed(struct wl1271 *wl,
int ret = 0;
if ((changed & BSS_CHANGED_BEACON_INT)) {
- wl1271_debug(DEBUG_MASTER, "beacon interval updated: %d",
- bss_conf->beacon_int);
+ wl1271_debug(DEBUG_MASTER, "beacon interval updated: %d\n",
+ bss_conf->beacon_int);
wlvif->beacon_int = bss_conf->beacon_int;
}
@@ -3525,7 +3520,7 @@ static int wl1271_bss_beacon_info_changed(struct wl1271 *wl,
out:
if (ret != 0)
- wl1271_error("beacon info change failed: %d", ret);
+ wl1271_err("beacon info change failed: %d\n", ret);
return ret;
}
@@ -3548,7 +3543,7 @@ static void wl1271_bss_info_changed_ap(struct wl1271 *wl,
ret = wl1271_init_ap_rates(wl, wlvif);
if (ret < 0) {
- wl1271_error("AP rate policy change failed %d", ret);
+ wl1271_err("AP rate policy change failed %d\n", ret);
goto out;
}
@@ -3581,7 +3576,7 @@ static void wl1271_bss_info_changed_ap(struct wl1271 *wl,
goto out;
set_bit(WLVIF_FLAG_AP_STARTED, &wlvif->flags);
- wl1271_debug(DEBUG_AP, "started AP");
+ wl1271_debug(DEBUG_AP, "started AP\n");
}
} else {
if (test_bit(WLVIF_FLAG_AP_STARTED, &wlvif->flags)) {
@@ -3592,7 +3587,7 @@ static void wl1271_bss_info_changed_ap(struct wl1271 *wl,
clear_bit(WLVIF_FLAG_AP_STARTED, &wlvif->flags);
clear_bit(WLVIF_FLAG_AP_PROBE_RESP_SET,
&wlvif->flags);
- wl1271_debug(DEBUG_AP, "stopped AP");
+ wl1271_debug(DEBUG_AP, "stopped AP\n");
}
}
}
@@ -3607,7 +3602,7 @@ static void wl1271_bss_info_changed_ap(struct wl1271 *wl,
ret = wl1271_acx_set_ht_information(wl, wlvif,
bss_conf->ht_operation_mode);
if (ret < 0) {
- wl1271_warning("Set ht information failed %d", ret);
+ wl1271_warn("Set ht information failed %d\n", ret);
goto out;
}
}
@@ -3658,7 +3653,7 @@ static void wl1271_bss_info_changed_sta(struct wl1271 *wl,
do_join = true;
if ((changed & BSS_CHANGED_BEACON_ENABLED) && ibss_joined) {
- wl1271_debug(DEBUG_ADHOC, "ad-hoc beaconing: %s",
+ wl1271_debug(DEBUG_ADHOC, "ad-hoc beaconing: %s\n",
bss_conf->enable_beacon ? "enabled" : "disabled");
do_join = true;
@@ -3667,7 +3662,7 @@ static void wl1271_bss_info_changed_sta(struct wl1271 *wl,
if (changed & BSS_CHANGED_IDLE && !is_ibss) {
ret = wl1271_sta_handle_idle(wl, wlvif, bss_conf->idle);
if (ret < 0)
- wl1271_warning("idle mode change failed %d", ret);
+ wl1271_warn("idle mode change failed %d\n", ret);
}
if ((changed & BSS_CHANGED_CQM)) {
@@ -3829,7 +3824,7 @@ sta_not_found:
}
if (changed & BSS_CHANGED_IBSS) {
- wl1271_debug(DEBUG_ADHOC, "ibss_joined: %d",
+ wl1271_debug(DEBUG_ADHOC, "ibss_joined: %d\n",
bss_conf->ibss_joined);
if (bss_conf->ibss_joined) {
@@ -3856,7 +3851,7 @@ sta_not_found:
if (do_join) {
ret = wl1271_join(wl, wlvif, set_assoc);
if (ret < 0) {
- wl1271_warning("cmd join failed %d", ret);
+ wl1271_warn("cmd join failed %d\n", ret);
goto out;
}
@@ -3889,8 +3884,8 @@ sta_not_found:
true,
wlvif->sta.hlid);
if (ret < 0) {
- wl1271_warning("Set ht cap true failed %d",
- ret);
+ wl1271_warn("Set ht cap true failed %d\n",
+ ret);
goto out;
}
}
@@ -3901,8 +3896,8 @@ sta_not_found:
false,
wlvif->sta.hlid);
if (ret < 0) {
- wl1271_warning("Set ht cap false failed %d",
- ret);
+ wl1271_warn("Set ht cap false failed %d\n",
+ ret);
goto out;
}
}
@@ -3914,7 +3909,7 @@ sta_not_found:
ret = wl1271_acx_set_ht_information(wl, wlvif,
bss_conf->ht_operation_mode);
if (ret < 0) {
- wl1271_warning("Set ht information failed %d", ret);
+ wl1271_warn("Set ht information failed %d\n", ret);
goto out;
}
}
@@ -3937,7 +3932,7 @@ sta_not_found:
*/
ret = wl1271_cmd_build_arp_rsp(wl, wlvif);
if (ret < 0) {
- wl1271_warning("build arp rsp failed: %d", ret);
+ wl1271_warn("build arp rsp failed: %d\n", ret);
goto out;
}
@@ -4112,14 +4107,14 @@ static int wl1271_allocate_sta(struct wl1271 *wl,
if (wl->active_sta_count >= AP_MAX_STATIONS) {
- wl1271_warning("could not allocate HLID - too much stations");
+ wl1271_warn("could not allocate HLID - too much stations\n");
return -EBUSY;
}
wl_sta = (struct wl1271_station *)sta->drv_priv;
ret = wl12xx_allocate_link(wl, wlvif, &wl_sta->hlid);
if (ret < 0) {
- wl1271_warning("could not allocate HLID - too many links");
+ wl1271_warn("could not allocate HLID - too many links\n");
return -EBUSY;
}
@@ -4344,14 +4339,14 @@ static int wl1271_op_ampdu_action(struct ieee80211_hw *hw,
if (wl->ba_rx_session_count >= RX_BA_MAX_SESSIONS) {
ret = -EBUSY;
- wl1271_error("exceeded max RX BA sessions");
+ wl1271_err("exceeded max RX BA sessions\n");
break;
}
if (*ba_bitmap & BIT(tid)) {
ret = -EINVAL;
- wl1271_error("cannot enable RX BA session on active "
- "tid: %d", tid);
+ wl1271_err("cannot enable RX BA session on active tid: %d\n",
+ tid);
break;
}
@@ -4366,8 +4361,8 @@ static int wl1271_op_ampdu_action(struct ieee80211_hw *hw,
case IEEE80211_AMPDU_RX_STOP:
if (!(*ba_bitmap & BIT(tid))) {
ret = -EINVAL;
- wl1271_error("no active RX BA session on tid: %d",
- tid);
+ wl1271_err("no active RX BA session on tid: %d\n",
+ tid);
break;
}
@@ -4390,7 +4385,7 @@ static int wl1271_op_ampdu_action(struct ieee80211_hw *hw,
break;
default:
- wl1271_error("Incorrect ampdu action id=%x\n", action);
+ wl1271_err("Incorrect ampdu action id=%x\n", action);
ret = -EINVAL;
}
@@ -4411,8 +4406,8 @@ static int wl12xx_set_bitrate_mask(struct ieee80211_hw *hw,
int i, ret = 0;
wl1271_debug(DEBUG_MAC80211, "mac80211 set_bitrate_mask 0x%x 0x%x",
- mask->control[NL80211_BAND_2GHZ].legacy,
- mask->control[NL80211_BAND_5GHZ].legacy);
+ mask->control[NL80211_BAND_2GHZ].legacy,
+ mask->control[NL80211_BAND_5GHZ].legacy);
mutex_lock(&wl->mutex);
@@ -4685,13 +4680,13 @@ u8 wlcore_rate_to_idx(struct wl1271 *wl, u8 rate, enum ieee80211_band band)
BUG_ON(band >= 2);
if (unlikely(rate >= wl->hw_tx_rate_tbl_size)) {
- wl1271_error("Illegal RX rate from HW: %d", rate);
+ wl1271_err("Illegal RX rate from HW: %d\n", rate);
return 0;
}
idx = wl->band_rate_to_idx[band][rate];
if (unlikely(idx == CONF_HW_RXTX_RATE_UNSUPPORTED)) {
- wl1271_error("Unsupported RX rate from HW: %d", rate);
+ wl1271_err("Unsupported RX rate from HW: %d\n", rate);
return 0;
}
@@ -4726,7 +4721,7 @@ static ssize_t wl1271_sysfs_store_bt_coex_state(struct device *dev,
ret = kstrtoul(buf, 10, &res);
if (ret < 0) {
- wl1271_warning("incorrect value written to bt_coex_mode");
+ wl1271_warn("incorrect value written to bt_coex_mode\n");
return count;
}
@@ -4853,7 +4848,7 @@ static void wl1271_connection_loss_work(struct work_struct *work)
dwork = container_of(work, struct delayed_work, work);
wl = container_of(dwork, struct wl1271, connection_loss_work);
- wl1271_info("Connection loss work.");
+ wl1271_info("Connection loss work\n");
mutex_lock(&wl->mutex);
@@ -4876,11 +4871,11 @@ static void wl12xx_derive_mac_addresses(struct wl1271 *wl,
{
int i;
- wl1271_debug(DEBUG_PROBE, "base address: oui %06x nic %06x, n %d",
+ wl1271_debug(DEBUG_PROBE, "base address: oui %06x nic %06x, n %d\n",
oui, nic, n);
if (nic + n - 1 > 0xffffff)
- wl1271_warning("NIC part of the MAC address wraps around!");
+ wl1271_warn("NIC part of the MAC address wraps around!\n");
for (i = 0; i < n; i++) {
wl->addresses[i].addr[0] = (u8)(oui >> 16);
@@ -4952,7 +4947,7 @@ static int wl1271_register_hw(struct wl1271 *wl)
ret = ieee80211_register_hw(wl->hw);
if (ret < 0) {
- wl1271_error("unable to register mac80211 hw: %d", ret);
+ wl1271_err("unable to register mac80211 hw: %d\n", ret);
goto out;
}
@@ -4960,7 +4955,7 @@ static int wl1271_register_hw(struct wl1271 *wl)
wl1271_debugfs_init(wl);
- wl1271_notice("loaded");
+ wl1271_notice("loaded\n");
out:
return ret;
@@ -5092,7 +5087,7 @@ struct ieee80211_hw *wlcore_alloc_hw(size_t priv_size)
hw = ieee80211_alloc_hw(sizeof(*wl), &wl1271_ops);
if (!hw) {
- wl1271_error("could not alloc ieee80211_hw");
+ wl1271_err("could not alloc ieee80211_hw\n");
ret = -ENOMEM;
goto err_hw_alloc;
}
@@ -5102,7 +5097,7 @@ struct ieee80211_hw *wlcore_alloc_hw(size_t priv_size)
wl->priv = kzalloc(priv_size, GFP_KERNEL);
if (!wl->priv) {
- wl1271_error("could not alloc wl priv");
+ wl1271_err("could not alloc wl priv\n");
ret = -ENOMEM;
goto err_priv_alloc;
}
@@ -5260,7 +5255,7 @@ static irqreturn_t wl12xx_hardirq(int irq, void *cookie)
struct wl1271 *wl = cookie;
unsigned long flags;
- wl1271_debug(DEBUG_IRQ, "IRQ");
+ wl1271_debug(DEBUG_IRQ, "IRQ\n");
/* complete the ELP completion */
spin_lock_irqsave(&wl->wl_lock, flags);
@@ -5273,7 +5268,7 @@ static irqreturn_t wl12xx_hardirq(int irq, void *cookie)
if (test_bit(WL1271_FLAG_SUSPENDED, &wl->flags)) {
/* don't enqueue a work right now. mark it as pending */
set_bit(WL1271_FLAG_PENDING_WORK, &wl->flags);
- wl1271_debug(DEBUG_IRQ, "should not enqueue work");
+ wl1271_debug(DEBUG_IRQ, "should not enqueue work\n");
disable_irq_nosync(wl->irq);
pm_wakeup_event(wl->dev, 0);
spin_unlock_irqrestore(&wl->wl_lock, flags);
@@ -5317,7 +5312,7 @@ int __devinit wlcore_probe(struct wl1271 *wl, struct platform_device *pdev)
irqflags,
pdev->name, wl);
if (ret < 0) {
- wl1271_error("request_irq() failed: %d", ret);
+ wl1271_err("request_irq() failed: %d\n", ret);
goto out_free_hw;
}
@@ -5338,7 +5333,7 @@ int __devinit wlcore_probe(struct wl1271 *wl, struct platform_device *pdev)
ret = wl12xx_get_hw_info(wl);
if (ret < 0) {
- wl1271_error("couldn't get hw info");
+ wl1271_err("couldn't get hw info\n");
goto out;
}
@@ -5357,21 +5352,21 @@ int __devinit wlcore_probe(struct wl1271 *wl, struct platform_device *pdev)
/* Create sysfs file to control bt coex state */
ret = device_create_file(wl->dev, &dev_attr_bt_coex_state);
if (ret < 0) {
- wl1271_error("failed to create sysfs file bt_coex_state");
+ wl1271_err("failed to create sysfs file bt_coex_state\n");
goto out_irq;
}
/* Create sysfs file to get HW PG version */
ret = device_create_file(wl->dev, &dev_attr_hw_pg_ver);
if (ret < 0) {
- wl1271_error("failed to create sysfs file hw_pg_ver");
+ wl1271_err("failed to create sysfs file hw_pg_ver\n");
goto out_bt_coex_state;
}
/* Create sysfs file for the FW log */
ret = device_create_bin_file(wl->dev, &fwlog_attr);
if (ret < 0) {
- wl1271_error("failed to create sysfs file fwlog");
+ wl1271_err("failed to create sysfs file fwlog\n");
goto out_hw_pg_ver;
}
diff --git a/drivers/net/wireless/ti/wlcore/ps.c b/drivers/net/wireless/ti/wlcore/ps.c
index 47e81b3..eef201f4 100644
--- a/drivers/net/wireless/ti/wlcore/ps.c
+++ b/drivers/net/wireless/ti/wlcore/ps.c
@@ -39,7 +39,7 @@ void wl1271_elp_work(struct work_struct *work)
dwork = container_of(work, struct delayed_work, work);
wl = container_of(dwork, struct wl1271, elp_work);
- wl1271_debug(DEBUG_PSM, "elp work");
+ wl1271_debug(DEBUG_PSM, "elp work\n");
mutex_lock(&wl->mutex);
@@ -62,7 +62,7 @@ void wl1271_elp_work(struct work_struct *work)
goto out;
}
- wl1271_debug(DEBUG_PSM, "chip to elp");
+ wl1271_debug(DEBUG_PSM, "chip to elp\n");
wl1271_raw_write32(wl, HW_ACCESS_ELP_CTRL_REG, ELPCTRL_SLEEP);
set_bit(WL1271_FLAG_IN_ELP, &wl->flags);
@@ -122,7 +122,7 @@ int wl1271_ps_elp_wakeup(struct wl1271 *wl)
if (!test_bit(WL1271_FLAG_IN_ELP, &wl->flags))
return 0;
- wl1271_debug(DEBUG_PSM, "waking up chip from elp");
+ wl1271_debug(DEBUG_PSM, "waking up chip from elp\n");
/*
* The spinlock is required here to synchronize both the work and
@@ -141,19 +141,19 @@ int wl1271_ps_elp_wakeup(struct wl1271 *wl)
ret = wait_for_completion_timeout(
&compl, msecs_to_jiffies(WL1271_WAKEUP_TIMEOUT));
if (ret == 0) {
- wl1271_error("ELP wakeup timeout!");
+ wl1271_err("ELP wakeup timeout!\n");
wl12xx_queue_recovery_work(wl);
ret = -ETIMEDOUT;
goto err;
} else if (ret < 0) {
- wl1271_error("ELP wakeup completion error.");
+ wl1271_err("ELP wakeup completion error\n");
goto err;
}
}
clear_bit(WL1271_FLAG_IN_ELP, &wl->flags);
- wl1271_debug(DEBUG_PSM, "wakeup time: %u ms",
+ wl1271_debug(DEBUG_PSM, "wakeup time: %u ms\n",
jiffies_to_msecs(jiffies - start_time));
goto out;
@@ -176,14 +176,14 @@ int wl1271_ps_set_mode(struct wl1271 *wl, struct wl12xx_vif *wlvif,
switch (mode) {
case STATION_AUTO_PS_MODE:
case STATION_POWER_SAVE_MODE:
- wl1271_debug(DEBUG_PSM, "entering psm (mode=%d,timeout=%u)",
+ wl1271_debug(DEBUG_PSM, "entering psm (mode=%d,timeout=%u)\n",
mode, timeout);
ret = wl1271_acx_wake_up_conditions(wl, wlvif,
wl->conf.conn.wake_up_event,
wl->conf.conn.listen_interval);
if (ret < 0) {
- wl1271_error("couldn't set wake up conditions");
+ wl1271_err("couldn't set wake up conditions\n");
return ret;
}
@@ -205,7 +205,7 @@ int wl1271_ps_set_mode(struct wl1271 *wl, struct wl12xx_vif *wlvif,
}
break;
case STATION_ACTIVE_MODE:
- wl1271_debug(DEBUG_PSM, "leaving psm");
+ wl1271_debug(DEBUG_PSM, "leaving psm\n");
/* disable beacon early termination */
if ((wlvif->band == IEEE80211_BAND_2GHZ) &&
@@ -222,7 +222,7 @@ int wl1271_ps_set_mode(struct wl1271 *wl, struct wl12xx_vif *wlvif,
clear_bit(WLVIF_FLAG_IN_PS, &wlvif->flags);
break;
default:
- wl1271_warning("trying to set ps to unsupported mode %d", mode);
+ wl1271_warn("trying to set ps to unsupported mode %d\n", mode);
ret = -EINVAL;
}
@@ -270,15 +270,15 @@ void wl12xx_ps_link_start(struct wl1271 *wl, struct wl12xx_vif *wlvif,
if (test_bit(hlid, &wl->ap_ps_map))
return;
- wl1271_debug(DEBUG_PSM, "start mac80211 PSM on hlid %d pkts %d "
- "clean_queues %d", hlid, wl->links[hlid].allocated_pkts,
+ wl1271_debug(DEBUG_PSM, "start mac80211 PSM on hlid %d pkts %d clean_queues %d\n",
+ hlid, wl->links[hlid].allocated_pkts,
clean_queues);
rcu_read_lock();
sta = ieee80211_find_sta(vif, wl->links[hlid].addr);
if (!sta) {
- wl1271_error("could not find sta %pM for starting ps",
- wl->links[hlid].addr);
+ wl1271_err("could not find sta %pM for starting ps\n",
+ wl->links[hlid].addr);
rcu_read_unlock();
return;
}
@@ -301,15 +301,15 @@ void wl12xx_ps_link_end(struct wl1271 *wl, struct wl12xx_vif *wlvif, u8 hlid)
if (!test_bit(hlid, &wl->ap_ps_map))
return;
- wl1271_debug(DEBUG_PSM, "end mac80211 PSM on hlid %d", hlid);
+ wl1271_debug(DEBUG_PSM, "end mac80211 PSM on hlid %d\n", hlid);
__clear_bit(hlid, &wl->ap_ps_map);
rcu_read_lock();
sta = ieee80211_find_sta(vif, wl->links[hlid].addr);
if (!sta) {
- wl1271_error("could not find sta %pM for ending ps",
- wl->links[hlid].addr);
+ wl1271_err("could not find sta %pM for ending ps\n",
+ wl->links[hlid].addr);
goto end;
}
diff --git a/drivers/net/wireless/ti/wlcore/rx.c b/drivers/net/wireless/ti/wlcore/rx.c
index 78200dc..99d5021 100644
--- a/drivers/net/wireless/ti/wlcore/rx.c
+++ b/drivers/net/wireless/ti/wlcore/rx.c
@@ -94,7 +94,7 @@ static void wl1271_rx_status(struct wl1271 *wl,
if (unlikely(desc_err_code == WL1271_RX_DESC_MIC_FAIL)) {
status->flag |= RX_FLAG_MMIC_ERROR;
- wl1271_warning("Michael MIC error");
+ wl1271_warn("Michael MIC error\n");
}
}
}
@@ -121,8 +121,8 @@ static int wl1271_rx_handle_data(struct wl1271 *wl, u8 *data, u32 length,
pkt_data_len = wlcore_hw_get_rx_packet_len(wl, data, length);
if (!pkt_data_len) {
- wl1271_error("Invalid packet arrived from HW. length %d",
- length);
+ wl1271_err("Invalid packet arrived from HW. length %d\n",
+ length);
return -EINVAL;
}
@@ -143,22 +143,22 @@ static int wl1271_rx_handle_data(struct wl1271 *wl, u8 *data, u32 length,
/* discard corrupted packets */
case WL1271_RX_DESC_DRIVER_RX_Q_FAIL:
case WL1271_RX_DESC_DECRYPT_FAIL:
- wl1271_warning("corrupted packet in RX with status: 0x%x",
- desc->status & WL1271_RX_DESC_STATUS_MASK);
+ wl1271_warn("corrupted packet in RX with status: 0x%x\n",
+ desc->status & WL1271_RX_DESC_STATUS_MASK);
return -EINVAL;
case WL1271_RX_DESC_SUCCESS:
case WL1271_RX_DESC_MIC_FAIL:
break;
default:
- wl1271_error("invalid RX descriptor status: 0x%x",
- desc->status & WL1271_RX_DESC_STATUS_MASK);
+ wl1271_err("invalid RX descriptor status: 0x%x\n",
+ desc->status & WL1271_RX_DESC_STATUS_MASK);
return -EINVAL;
}
/* skb length not including rx descriptor */
skb = __dev_alloc_skb(pkt_data_len + reserved, GFP_KERNEL);
if (!skb) {
- wl1271_error("Couldn't allocate RX frame");
+ wl1271_err("Couldn't allocate RX frame\n");
return -ENOMEM;
}
@@ -189,7 +189,7 @@ static int wl1271_rx_handle_data(struct wl1271 *wl, u8 *data, u32 length,
wlcore_hw_set_rx_csum(wl, desc, skb);
seq_num = (le16_to_cpu(hdr->seq_ctrl) & IEEE80211_SCTL_SEQ) >> 4;
- wl1271_debug(DEBUG_RX, "rx skb 0x%p: %d B %s seq %d hlid %d", skb,
+ wl1271_debug(DEBUG_RX, "rx skb 0x%p: %d B %s seq %d hlid %d\n", skb,
skb->len - desc->pad_len,
beacon ? "beacon" : "",
seq_num, *hlid);
@@ -228,7 +228,7 @@ void wl12xx_rx(struct wl1271 *wl, struct wl_fw_status_1 *status)
}
if (buf_size == 0) {
- wl1271_warning("received empty data");
+ wl1271_warn("received empty data\n");
break;
}
@@ -257,9 +257,8 @@ void wl12xx_rx(struct wl1271 *wl, struct wl_fw_status_1 *status)
if (hlid < WL12XX_MAX_LINKS)
__set_bit(hlid, active_hlids);
else
- WARN(1,
- "hlid exceeded WL12XX_MAX_LINKS "
- "(%d)\n", hlid);
+ WARN(1, "hlid exceeded WL12XX_MAX_LINKS (%d)\n",
+ hlid);
}
wl->rx_counter++;
@@ -288,16 +287,16 @@ int wl1271_rx_filter_enable(struct wl1271 *wl,
int ret;
if (wl->rx_filter_enabled[index] == enable) {
- wl1271_warning("Request to enable an already "
- "enabled rx filter %d", index);
+ wl1271_warn("Request to enable an already enabled rx filter %d\n",
+ index);
return 0;
}
ret = wl1271_acx_set_rx_filter(wl, index, enable, filter);
if (ret) {
- wl1271_error("Failed to %s rx data filter %d (err=%d)",
- enable ? "enable" : "disable", index, ret);
+ wl1271_err("Failed to %s rx data filter %d (err=%d)\n",
+ enable ? "enable" : "disable", index, ret);
return ret;
}
diff --git a/drivers/net/wireless/ti/wlcore/scan.c b/drivers/net/wireless/ti/wlcore/scan.c
index d9daed5..f53e6ca 100644
--- a/drivers/net/wireless/ti/wlcore/scan.c
+++ b/drivers/net/wireless/ti/wlcore/scan.c
@@ -42,7 +42,7 @@ void wl1271_scan_complete_work(struct work_struct *work)
dwork = container_of(work, struct delayed_work, work);
wl = container_of(dwork, struct wl1271, scan_complete_work);
- wl1271_debug(DEBUG_SCAN, "Scanning complete");
+ wl1271_debug(DEBUG_SCAN, "Scanning complete\n");
mutex_lock(&wl->mutex);
@@ -78,7 +78,7 @@ void wl1271_scan_complete_work(struct work_struct *work)
wl1271_ps_elp_sleep(wl);
if (wl->scan.failed) {
- wl1271_info("Scan completed due to error.");
+ wl1271_info("Scan completed due to error\n");
wl12xx_queue_recovery_work(wl);
}
@@ -114,17 +114,17 @@ static int wl1271_get_scan_channels(struct wl1271 *wl,
* marked as passive.
*/
(passive || !(flags & IEEE80211_CHAN_PASSIVE_SCAN))) {
- wl1271_debug(DEBUG_SCAN, "band %d, center_freq %d ",
+ wl1271_debug(DEBUG_SCAN, "band %d, center_freq %d\n",
req->channels[i]->band,
req->channels[i]->center_freq);
- wl1271_debug(DEBUG_SCAN, "hw_value %d, flags %X",
+ wl1271_debug(DEBUG_SCAN, "hw_value %d, flags %X\n",
req->channels[i]->hw_value,
req->channels[i]->flags);
wl1271_debug(DEBUG_SCAN,
- "max_antenna_gain %d, max_power %d",
+ "max_antenna_gain %d, max_power %d\n",
req->channels[i]->max_antenna_gain,
req->channels[i]->max_power);
- wl1271_debug(DEBUG_SCAN, "beacon_found %d",
+ wl1271_debug(DEBUG_SCAN, "beacon_found %d\n",
req->channels[i]->beacon_found);
if (!passive) {
@@ -228,7 +228,7 @@ static int wl1271_scan_send(struct wl1271 *wl, struct ieee80211_vif *vif,
wl->scan.req->ie,
wl->scan.req->ie_len);
if (ret < 0) {
- wl1271_error("PROBE request template failed");
+ wl1271_err("PROBE request template failed\n");
goto out;
}
@@ -236,7 +236,7 @@ static int wl1271_scan_send(struct wl1271 *wl, struct ieee80211_vif *vif,
ret = wl1271_cmd_send(wl, CMD_TRIGGER_SCAN_TO, trigger,
sizeof(*trigger), 0);
if (ret < 0) {
- wl1271_error("trigger scan to failed for hw scan");
+ wl1271_err("trigger scan to failed for hw scan\n");
goto out;
}
@@ -244,7 +244,7 @@ static int wl1271_scan_send(struct wl1271 *wl, struct ieee80211_vif *vif,
ret = wl1271_cmd_send(wl, CMD_SCAN, cmd, sizeof(*cmd), 0);
if (ret < 0) {
- wl1271_error("SCAN failed");
+ wl1271_err("SCAN failed\n");
goto out;
}
@@ -332,7 +332,7 @@ void wl1271_scan_stm(struct wl1271 *wl, struct ieee80211_vif *vif)
break;
default:
- wl1271_error("invalid scan state");
+ wl1271_err("invalid scan state\n");
break;
}
@@ -387,7 +387,7 @@ int wl1271_scan_stop(struct wl1271 *wl)
if (WARN_ON(wl->scan.state == WL1271_SCAN_STATE_IDLE))
return -EINVAL;
- wl1271_debug(DEBUG_CMD, "cmd scan stop");
+ wl1271_debug(DEBUG_CMD, "cmd scan stop\n");
cmd = kzalloc(sizeof(*cmd), GFP_KERNEL);
if (!cmd) {
@@ -398,7 +398,7 @@ int wl1271_scan_stop(struct wl1271 *wl)
ret = wl1271_cmd_send(wl, CMD_STOP_SCAN, cmd,
sizeof(*cmd), 0);
if (ret < 0) {
- wl1271_error("cmd stop_scan failed");
+ wl1271_err("cmd stop_scan failed\n");
goto out;
}
out:
@@ -450,15 +450,15 @@ wl1271_scan_get_sched_scan_channels(struct wl1271 *wl,
/* if radar is set, we ignore the passive flag */
(radar ||
!!(flags & IEEE80211_CHAN_PASSIVE_SCAN) == passive)) {
- wl1271_debug(DEBUG_SCAN, "band %d, center_freq %d ",
+ wl1271_debug(DEBUG_SCAN, "band %d, center_freq %d\n",
req->channels[i]->band,
req->channels[i]->center_freq);
- wl1271_debug(DEBUG_SCAN, "hw_value %d, flags %X",
+ wl1271_debug(DEBUG_SCAN, "hw_value %d, flags %X\n",
req->channels[i]->hw_value,
req->channels[i]->flags);
- wl1271_debug(DEBUG_SCAN, "max_power %d",
+ wl1271_debug(DEBUG_SCAN, "max_power %d\n",
req->channels[i]->max_power);
- wl1271_debug(DEBUG_SCAN, "min_dwell_time %d max dwell time %d",
+ wl1271_debug(DEBUG_SCAN, "min_dwell_time %d max dwell time %d\n",
min_dwell_time_active,
max_dwell_time_active);
@@ -493,7 +493,7 @@ wl1271_scan_get_sched_scan_channels(struct wl1271 *wl,
* the passive channel list
*/
(*n_pactive_ch)++;
- wl1271_debug(DEBUG_SCAN, "n_pactive_ch = %d",
+ wl1271_debug(DEBUG_SCAN, "n_pactive_ch = %d\n",
*n_pactive_ch);
}
@@ -550,11 +550,11 @@ wl1271_scan_sched_scan_channels(struct wl1271 *wl,
cfg->n_pactive_ch = n_pactive_ch;
- wl1271_debug(DEBUG_SCAN, " 2.4GHz: active %d passive %d",
+ wl1271_debug(DEBUG_SCAN, " 2.4GHz: active %d passive %d\n",
cfg->active[0], cfg->passive[0]);
- wl1271_debug(DEBUG_SCAN, " 5GHz: active %d passive %d",
+ wl1271_debug(DEBUG_SCAN, " 5GHz: active %d passive %d\n",
cfg->active[1], cfg->passive[1]);
- wl1271_debug(DEBUG_SCAN, " DFS: %d", cfg->dfs);
+ wl1271_debug(DEBUG_SCAN, " DFS: %d\n", cfg->dfs);
return cfg->passive[0] || cfg->active[0] ||
cfg->passive[1] || cfg->active[1] || cfg->dfs ||
@@ -572,7 +572,7 @@ wl12xx_scan_sched_scan_ssid_list(struct wl1271 *wl,
struct cfg80211_ssid *ssids = req->ssids;
int ret = 0, type, i, j, n_match_ssids = 0;
- wl1271_debug(DEBUG_CMD, "cmd sched scan ssid list");
+ wl1271_debug(DEBUG_CMD, "cmd sched scan ssid list\n");
/* count the match sets that contain SSIDs */
for (i = 0; i < req->n_match_sets; i++)
@@ -655,7 +655,7 @@ wl12xx_scan_sched_scan_ssid_list(struct wl1271 *wl,
ret = wl1271_cmd_send(wl, CMD_CONNECTION_SCAN_SSID_CFG, cmd,
sizeof(*cmd), 0);
if (ret < 0) {
- wl1271_error("cmd sched scan ssid list failed");
+ wl1271_err("cmd sched scan ssid list failed\n");
goto out_free;
}
@@ -677,7 +677,7 @@ int wl1271_scan_sched_scan_config(struct wl1271 *wl,
int i, ret;
bool force_passive = !req->n_ssids;
- wl1271_debug(DEBUG_CMD, "cmd sched_scan scan config");
+ wl1271_debug(DEBUG_CMD, "cmd sched_scan scan config\n");
cfg = kzalloc(sizeof(*cfg), GFP_KERNEL);
if (!cfg)
@@ -707,10 +707,10 @@ int wl1271_scan_sched_scan_config(struct wl1271 *wl,
cfg->filter_type = ret;
- wl1271_debug(DEBUG_SCAN, "filter_type = %d", cfg->filter_type);
+ wl1271_debug(DEBUG_SCAN, "filter_type = %d\n", cfg->filter_type);
if (!wl1271_scan_sched_scan_channels(wl, req, cfg)) {
- wl1271_error("scan channel list is empty");
+ wl1271_err("scan channel list is empty\n");
ret = -EINVAL;
goto out;
}
@@ -724,7 +724,7 @@ int wl1271_scan_sched_scan_config(struct wl1271 *wl,
ies->ie[band],
ies->len[band]);
if (ret < 0) {
- wl1271_error("2.4GHz PROBE request template failed");
+ wl1271_err("2.4GHz PROBE request template failed\n");
goto out;
}
}
@@ -738,7 +738,7 @@ int wl1271_scan_sched_scan_config(struct wl1271 *wl,
ies->ie[band],
ies->len[band]);
if (ret < 0) {
- wl1271_error("5GHz PROBE request template failed");
+ wl1271_err("5GHz PROBE request template failed\n");
goto out;
}
}
@@ -748,7 +748,7 @@ int wl1271_scan_sched_scan_config(struct wl1271 *wl,
ret = wl1271_cmd_send(wl, CMD_CONNECTION_SCAN_CFG, cfg,
sizeof(*cfg), 0);
if (ret < 0) {
- wl1271_error("SCAN configuration failed");
+ wl1271_err("SCAN configuration failed\n");
goto out;
}
out:
@@ -761,7 +761,7 @@ int wl1271_scan_sched_scan_start(struct wl1271 *wl, struct wl12xx_vif *wlvif)
struct wl1271_cmd_sched_scan_start *start;
int ret = 0;
- wl1271_debug(DEBUG_CMD, "cmd periodic scan start");
+ wl1271_debug(DEBUG_CMD, "cmd periodic scan start\n");
if (wlvif->bss_type != BSS_TYPE_STA_BSS)
return -EOPNOTSUPP;
@@ -779,7 +779,7 @@ int wl1271_scan_sched_scan_start(struct wl1271 *wl, struct wl12xx_vif *wlvif)
ret = wl1271_cmd_send(wl, CMD_START_PERIODIC_SCAN, start,
sizeof(*start), 0);
if (ret < 0) {
- wl1271_error("failed to send scan start command");
+ wl1271_err("failed to send scan start command\n");
goto out_free;
}
@@ -790,7 +790,7 @@ out_free:
void wl1271_scan_sched_scan_results(struct wl1271 *wl)
{
- wl1271_debug(DEBUG_SCAN, "got periodic scan results");
+ wl1271_debug(DEBUG_SCAN, "got periodic scan results\n");
ieee80211_sched_scan_results(wl->hw);
}
@@ -800,12 +800,12 @@ void wl1271_scan_sched_scan_stop(struct wl1271 *wl, struct wl12xx_vif *wlvif)
struct wl1271_cmd_sched_scan_stop *stop;
int ret = 0;
- wl1271_debug(DEBUG_CMD, "cmd periodic scan stop");
+ wl1271_debug(DEBUG_CMD, "cmd periodic scan stop\n");
/* FIXME: what to do if alloc'ing to stop fails? */
stop = kzalloc(sizeof(*stop), GFP_KERNEL);
if (!stop) {
- wl1271_error("failed to alloc memory to send sched scan stop");
+ wl1271_err("failed to alloc memory to send sched scan stop\n");
return;
}
@@ -815,7 +815,7 @@ void wl1271_scan_sched_scan_stop(struct wl1271 *wl, struct wl12xx_vif *wlvif)
ret = wl1271_cmd_send(wl, CMD_STOP_PERIODIC_SCAN, stop,
sizeof(*stop), 0);
if (ret < 0) {
- wl1271_error("failed to send sched scan stop command");
+ wl1271_err("failed to send sched scan stop command\n");
goto out_free;
}
diff --git a/drivers/net/wireless/ti/wlcore/sdio.c b/drivers/net/wireless/ti/wlcore/sdio.c
index c67ec48..b7ade55 100644
--- a/drivers/net/wireless/ti/wlcore/sdio.c
+++ b/drivers/net/wireless/ti/wlcore/sdio.c
@@ -342,8 +342,7 @@ static int wl1271_suspend(struct device *dev)
sdio_flags = sdio_get_host_pm_caps(func);
if (!(sdio_flags & MMC_PM_KEEP_POWER)) {
- dev_err(dev, "can't keep power while host "
- "is suspended\n");
+ dev_err(dev, "can't keep power while host is suspended\n");
ret = -EINVAL;
goto out;
}
diff --git a/drivers/net/wireless/ti/wlcore/testmode.c b/drivers/net/wireless/ti/wlcore/testmode.c
index 0e59ea2..05cd2de 100644
--- a/drivers/net/wireless/ti/wlcore/testmode.c
+++ b/drivers/net/wireless/ti/wlcore/testmode.c
@@ -76,7 +76,7 @@ static int wl1271_tm_cmd_test(struct wl1271 *wl, struct nlattr *tb[])
void *buf;
u8 answer = 0;
- wl1271_debug(DEBUG_TESTMODE, "testmode cmd test");
+ wl1271_debug(DEBUG_TESTMODE, "testmode cmd test\n");
if (!tb[WL1271_TM_ATTR_DATA])
return -EINVAL;
@@ -103,7 +103,7 @@ static int wl1271_tm_cmd_test(struct wl1271 *wl, struct nlattr *tb[])
ret = wl1271_cmd_test(wl, buf, buf_len, answer);
if (ret < 0) {
- wl1271_warning("testmode cmd test failed: %d", ret);
+ wl1271_warn("testmode cmd test failed: %d\n", ret);
goto out_sleep;
}
@@ -142,7 +142,7 @@ static int wl1271_tm_cmd_interrogate(struct wl1271 *wl, struct nlattr *tb[])
struct sk_buff *skb;
u8 ie_id;
- wl1271_debug(DEBUG_TESTMODE, "testmode cmd interrogate");
+ wl1271_debug(DEBUG_TESTMODE, "testmode cmd interrogate\n");
if (!tb[WL1271_TM_ATTR_IE_ID])
return -EINVAL;
@@ -168,7 +168,7 @@ static int wl1271_tm_cmd_interrogate(struct wl1271 *wl, struct nlattr *tb[])
ret = wl1271_cmd_interrogate(wl, ie_id, cmd, sizeof(*cmd));
if (ret < 0) {
- wl1271_warning("testmode cmd interrogate failed: %d", ret);
+ wl1271_warn("testmode cmd interrogate failed: %d\n", ret);
goto out_free;
}
@@ -205,7 +205,7 @@ static int wl1271_tm_cmd_configure(struct wl1271 *wl, struct nlattr *tb[])
void *buf;
u8 ie_id;
- wl1271_debug(DEBUG_TESTMODE, "testmode cmd configure");
+ wl1271_debug(DEBUG_TESTMODE, "testmode cmd configure\n");
if (!tb[WL1271_TM_ATTR_DATA])
return -EINVAL;
@@ -224,7 +224,7 @@ static int wl1271_tm_cmd_configure(struct wl1271 *wl, struct nlattr *tb[])
mutex_unlock(&wl->mutex);
if (ret < 0) {
- wl1271_warning("testmode cmd configure failed: %d", ret);
+ wl1271_warn("testmode cmd configure failed: %d\n", ret);
return ret;
}
@@ -236,7 +236,7 @@ static int wl1271_tm_cmd_set_plt_mode(struct wl1271 *wl, struct nlattr *tb[])
u32 val;
int ret;
- wl1271_debug(DEBUG_TESTMODE, "testmode cmd set plt mode");
+ wl1271_debug(DEBUG_TESTMODE, "testmode cmd set plt mode\n");
if (!tb[WL1271_TM_ATTR_PLT_MODE])
return -EINVAL;
@@ -260,7 +260,7 @@ static int wl1271_tm_cmd_set_plt_mode(struct wl1271 *wl, struct nlattr *tb[])
static int wl1271_tm_cmd_recover(struct wl1271 *wl, struct nlattr *tb[])
{
- wl1271_debug(DEBUG_TESTMODE, "testmode cmd recover");
+ wl1271_debug(DEBUG_TESTMODE, "testmode cmd recover\n");
wl12xx_queue_recovery_work(wl);
diff --git a/drivers/net/wireless/ti/wlcore/tx.c b/drivers/net/wireless/ti/wlcore/tx.c
index 6983e7a..6a0bebd 100644
--- a/drivers/net/wireless/ti/wlcore/tx.c
+++ b/drivers/net/wireless/ti/wlcore/tx.c
@@ -54,7 +54,7 @@ static int wl1271_set_default_wep_key(struct wl1271 *wl,
if (ret < 0)
return ret;
- wl1271_debug(DEBUG_CRYPT, "default wep key idx: %d", (int)id);
+ wl1271_debug(DEBUG_CRYPT, "default wep key idx: %d\n", (int)id);
return 0;
}
@@ -235,7 +235,7 @@ static int wl1271_tx_allocate(struct wl1271 *wl, struct wl12xx_vif *wlvif,
ret = 0;
wl1271_debug(DEBUG_TX,
- "tx_allocate: size: %d, blocks: %d, id: %d",
+ "tx_allocate: size: %d, blocks: %d, id: %d\n",
total_len, total_blocks, id);
} else {
wl1271_free_tx_id(wl, id);
@@ -380,7 +380,7 @@ static int wl1271_prepare_tx_frame(struct wl1271 *wl, struct wl12xx_vif *wlvif,
}
hlid = wl12xx_tx_get_hlid(wl, wlvif, skb);
if (hlid == WL12XX_INVALID_LINK_ID) {
- wl1271_error("invalid hlid. dropping skb 0x%p", skb);
+ wl1271_err("invalid hlid. dropping skb 0x%p\n", skb);
return -EINVAL;
}
@@ -797,7 +797,7 @@ static void wl1271_tx_complete_packet(struct wl1271 *wl,
/* check for id legality */
if (unlikely(id >= wl->num_tx_desc || wl->tx_frames[id] == NULL)) {
- wl1271_warning("TX result illegal id: %d", id);
+ wl1271_warn("TX result illegal id: %d\n", id);
return;
}
@@ -865,8 +865,7 @@ static void wl1271_tx_complete_packet(struct wl1271 *wl,
skb_pull(skb, WL1271_EXTRA_SPACE_TKIP);
}
- wl1271_debug(DEBUG_TX, "tx status id %u skb 0x%p failures %u rate 0x%x"
- " status 0x%x",
+ wl1271_debug(DEBUG_TX, "tx status id %u skb 0x%p failures %u rate 0x%x status 0x%x\n",
result->id, skb, result->ack_failures,
result->rate_class_index, result->status);
@@ -895,11 +894,11 @@ void wl1271_tx_complete(struct wl1271 *wl)
tx_result_host_counter), fw_counter);
count = fw_counter - wl->tx_results_count;
- wl1271_debug(DEBUG_TX, "tx_complete received, packets: %d", count);
+ wl1271_debug(DEBUG_TX, "tx_complete received, packets: %d\n", count);
/* verify that the result buffer is not getting overrun */
if (unlikely(count > TX_HW_RESULT_QUEUE_LEN))
- wl1271_warning("TX result overflow from chipset: %d", count);
+ wl1271_warn("TX result overflow from chipset: %d\n", count);
/* process the results */
for (i = 0; i < count; i++) {
@@ -926,7 +925,7 @@ void wl1271_tx_reset_link_queues(struct wl1271 *wl, u8 hlid)
for (i = 0; i < NUM_TX_QUEUES; i++) {
total[i] = 0;
while ((skb = skb_dequeue(&wl->links[hlid].tx_queue[i]))) {
- wl1271_debug(DEBUG_TX, "link freeing skb 0x%p", skb);
+ wl1271_debug(DEBUG_TX, "link freeing skb 0x%p\n", skb);
if (!wl12xx_is_dummy_packet(wl, skb)) {
info = IEEE80211_SKB_CB(skb);
@@ -994,7 +993,7 @@ void wl12xx_tx_reset(struct wl1271 *wl)
skb = wl->tx_frames[i];
wl1271_free_tx_id(wl, i);
- wl1271_debug(DEBUG_TX, "freeing skb 0x%p", skb);
+ wl1271_debug(DEBUG_TX, "freeing skb 0x%p\n", skb);
if (!wl12xx_is_dummy_packet(wl, skb)) {
/*
@@ -1037,7 +1036,7 @@ void wl1271_tx_flush(struct wl1271 *wl)
while (!time_after(jiffies, timeout)) {
mutex_lock(&wl->mutex);
- wl1271_debug(DEBUG_TX, "flushing tx buffer: %d %d",
+ wl1271_debug(DEBUG_TX, "flushing tx buffer: %d %d\n",
wl->tx_frames_cnt,
wl1271_tx_total_queue_count(wl));
if ((wl->tx_frames_cnt == 0) &&
@@ -1049,7 +1048,7 @@ void wl1271_tx_flush(struct wl1271 *wl)
msleep(1);
}
- wl1271_warning("Unable to flush all TX buffers, timed out.");
+ wl1271_warn("Unable to flush all TX buffers, timed out\n");
/* forcibly flush all Tx buffers on our queues */
mutex_lock(&wl->mutex);
--
1.7.8.111.gad25c.dirty
^ permalink raw reply related
* [PATCH wireless-next 19/20] wl3501_cs: Use pr_<level>
From: Joe Perches @ 2012-06-15 5:53 UTC (permalink / raw)
To: Arnaldo Carvalho de Melo, John W. Linville
Cc: linux-wireless, netdev, linux-kernel
In-Reply-To: <cover.1339739415.git.joe@perches.com>
Use a more current logging style.
Convert printks to pr_<level>.
Coalesce formats, align arguments.
Add newline terminations to pr_debug uses.
Signed-off-by: Joe Perches <joe@perches.com>
---
drivers/net/wireless/wl3501_cs.c | 80 ++++++++++++++++++--------------------
1 files changed, 38 insertions(+), 42 deletions(-)
diff --git a/drivers/net/wireless/wl3501_cs.c b/drivers/net/wireless/wl3501_cs.c
index 00f6e69..a7dac1a 100644
--- a/drivers/net/wireless/wl3501_cs.c
+++ b/drivers/net/wireless/wl3501_cs.c
@@ -27,6 +27,8 @@
* with a SMP machine (dual pentium 100), using pktgen, 432 pps (pkt_size = 60)
*/
+#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
+
#include <linux/delay.h>
#include <linux/types.h>
#include <linux/init.h>
@@ -431,9 +433,9 @@ static int wl3501_pwr_mgmt(struct wl3501_card *this, int suspend)
spin_unlock_irqrestore(&this->lock, flags);
rc = wait_event_interruptible(this->wait,
this->sig_pwr_mgmt_confirm.status != 255);
- printk(KERN_INFO "%s: %s status=%d\n", __func__,
- suspend ? "suspend" : "resume",
- this->sig_pwr_mgmt_confirm.status);
+ pr_info("%s: %s status=%d\n",
+ __func__, suspend ? "suspend" : "resume",
+ this->sig_pwr_mgmt_confirm.status);
goto out;
}
}
@@ -650,10 +652,10 @@ static void wl3501_mgmt_scan_confirm(struct wl3501_card *this, u16 addr)
int matchflag = 0;
struct wl3501_scan_confirm sig;
- pr_debug("entry");
+ pr_debug("entry\n");
wl3501_get_from_wla(this, addr, &sig, sizeof(sig));
if (sig.status == WL3501_STATUS_SUCCESS) {
- pr_debug("success");
+ pr_debug("success\n");
if ((this->net_type == IW_MODE_INFRA &&
(sig.cap_info & WL3501_MGMT_CAPABILITY_ESS)) ||
(this->net_type == IW_MODE_ADHOC &&
@@ -688,7 +690,7 @@ static void wl3501_mgmt_scan_confirm(struct wl3501_card *this, u16 addr)
}
}
} else if (sig.status == WL3501_STATUS_TIMEOUT) {
- pr_debug("timeout");
+ pr_debug("timeout\n");
this->join_sta_bss = 0;
for (i = this->join_sta_bss; i < this->bss_cnt; i++)
if (!wl3501_mgmt_join(this, i))
@@ -822,8 +824,8 @@ static void wl3501_online(struct net_device *dev)
{
struct wl3501_card *this = netdev_priv(dev);
- printk(KERN_INFO "%s: Wireless LAN online. BSSID: %pM\n",
- dev->name, this->bssid);
+ pr_info("%s: Wireless LAN online. BSSID: %pM\n",
+ dev->name, this->bssid);
netif_wake_queue(dev);
}
@@ -845,7 +847,7 @@ static int wl3501_mgmt_auth(struct wl3501_card *this)
.timeout = 1000,
};
- pr_debug("entry");
+ pr_debug("entry\n");
memcpy(sig.mac_addr, this->bssid, ETH_ALEN);
return wl3501_esbq_exec(this, &sig, sizeof(sig));
}
@@ -859,7 +861,7 @@ static int wl3501_mgmt_association(struct wl3501_card *this)
.cap_info = this->cap_info,
};
- pr_debug("entry");
+ pr_debug("entry\n");
memcpy(sig.mac_addr, this->bssid, ETH_ALEN);
return wl3501_esbq_exec(this, &sig, sizeof(sig));
}
@@ -869,7 +871,7 @@ static void wl3501_mgmt_join_confirm(struct net_device *dev, u16 addr)
struct wl3501_card *this = netdev_priv(dev);
struct wl3501_join_confirm sig;
- pr_debug("entry");
+ pr_debug("entry\n");
wl3501_get_from_wla(this, addr, &sig, sizeof(sig));
if (sig.status == WL3501_STATUS_SUCCESS) {
if (this->net_type == IW_MODE_INFRA) {
@@ -916,7 +918,7 @@ static inline void wl3501_alarm_interrupt(struct net_device *dev,
struct wl3501_card *this)
{
if (this->net_type == IW_MODE_INFRA) {
- printk(KERN_INFO "Wireless LAN offline\n");
+ pr_info("Wireless LAN offline\n");
netif_stop_queue(dev);
wl3501_mgmt_resync(this);
}
@@ -928,7 +930,7 @@ static inline void wl3501_md_confirm_interrupt(struct net_device *dev,
{
struct wl3501_md_confirm sig;
- pr_debug("entry");
+ pr_debug("entry\n");
wl3501_get_from_wla(this, addr, &sig, sizeof(sig));
wl3501_free_tx_buffer(this, sig.data);
if (netif_queue_stopped(dev))
@@ -956,7 +958,7 @@ static inline void wl3501_md_ind_interrupt(struct net_device *dev,
&addr4, sizeof(addr4));
if (!(addr4[0] == 0xAA && addr4[1] == 0xAA &&
addr4[2] == 0x03 && addr4[4] == 0x00)) {
- printk(KERN_INFO "Insupported packet type!\n");
+ pr_info("Insupported packet type!\n");
return;
}
pkt_len = sig.size + 12 - 24 - 4 - 6;
@@ -964,8 +966,8 @@ static inline void wl3501_md_ind_interrupt(struct net_device *dev,
skb = dev_alloc_skb(pkt_len + 5);
if (!skb) {
- printk(KERN_WARNING "%s: Can't alloc a sk_buff of size %d.\n",
- dev->name, pkt_len);
+ pr_warn("%s: Can't alloc a sk_buff of size %d\n",
+ dev->name, pkt_len);
dev->stats.rx_dropped++;
} else {
skb->dev = dev;
@@ -983,7 +985,7 @@ static inline void wl3501_md_ind_interrupt(struct net_device *dev,
static inline void wl3501_get_confirm_interrupt(struct wl3501_card *this,
u16 addr, void *sig, int size)
{
- pr_debug("entry");
+ pr_debug("entry\n");
wl3501_get_from_wla(this, addr, &this->sig_get_confirm,
sizeof(this->sig_get_confirm));
wake_up(&this->wait);
@@ -995,7 +997,7 @@ static inline void wl3501_start_confirm_interrupt(struct net_device *dev,
{
struct wl3501_start_confirm sig;
- pr_debug("entry");
+ pr_debug("entry\n");
wl3501_get_from_wla(this, addr, &sig, sizeof(sig));
if (sig.status == WL3501_STATUS_SUCCESS)
netif_wake_queue(dev);
@@ -1007,7 +1009,7 @@ static inline void wl3501_assoc_confirm_interrupt(struct net_device *dev,
struct wl3501_card *this = netdev_priv(dev);
struct wl3501_assoc_confirm sig;
- pr_debug("entry");
+ pr_debug("entry\n");
wl3501_get_from_wla(this, addr, &sig, sizeof(sig));
if (sig.status == WL3501_STATUS_SUCCESS)
@@ -1019,7 +1021,7 @@ static inline void wl3501_auth_confirm_interrupt(struct wl3501_card *this,
{
struct wl3501_auth_confirm sig;
- pr_debug("entry");
+ pr_debug("entry\n");
wl3501_get_from_wla(this, addr, &sig, sizeof(sig));
if (sig.status == WL3501_STATUS_SUCCESS)
@@ -1035,7 +1037,7 @@ static inline void wl3501_rx_interrupt(struct net_device *dev)
u8 sig_id;
struct wl3501_card *this = netdev_priv(dev);
- pr_debug("entry");
+ pr_debug("entry\n");
loop:
morepkts = 0;
if (!wl3501_esbq_confirm(this))
@@ -1158,7 +1160,7 @@ static int wl3501_reset_board(struct wl3501_card *this)
}
WL3501_NOPLOOP(10);
}
- printk(KERN_WARNING "%s: failed to reset the board!\n", __func__);
+ pr_warn("%s: failed to reset the board!\n", __func__);
rc = -ENODEV;
out:
return rc;
@@ -1209,7 +1211,7 @@ static int wl3501_init_firmware(struct wl3501_card *this)
out:
return rc;
fail:
- printk(KERN_WARNING "%s: failed!\n", __func__);
+ pr_warn("%s: failed!\n", __func__);
goto out;
}
@@ -1232,7 +1234,7 @@ static int wl3501_close(struct net_device *dev)
wl3501_block_interrupt(this);
rc = 0;
- printk(KERN_INFO "%s: WL3501 closed\n", dev->name);
+ pr_info("%s: WL3501 closed\n", dev->name);
spin_unlock_irqrestore(&this->lock, flags);
return rc;
}
@@ -1253,8 +1255,7 @@ static int wl3501_reset(struct net_device *dev)
wl3501_block_interrupt(this);
if (wl3501_init_firmware(this)) {
- printk(KERN_WARNING "%s: Can't initialize Firmware!\n",
- dev->name);
+ pr_warn("%s: Can't initialize Firmware!\n", dev->name);
/* Free IRQ, and mark IRQ as unused */
free_irq(dev->irq, dev);
goto out;
@@ -1268,7 +1269,7 @@ static int wl3501_reset(struct net_device *dev)
wl3501_ack_interrupt(this);
wl3501_unblock_interrupt(this);
wl3501_mgmt_scan(this, 100);
- pr_debug("%s: device reset", dev->name);
+ pr_debug("%s: device reset\n", dev->name);
rc = 0;
out:
return rc;
@@ -1286,7 +1287,7 @@ static void wl3501_tx_timeout(struct net_device *dev)
rc = wl3501_reset(dev);
spin_unlock_irqrestore(&this->lock, flags);
if (rc)
- printk(KERN_ERR "%s: Error %d resetting card on Tx timeout!\n",
+ pr_err("%s: Error %d resetting card on Tx timeout!\n",
dev->name, rc);
else {
dev->trans_start = jiffies; /* prevent tx timeout */
@@ -1341,7 +1342,7 @@ static int wl3501_open(struct net_device *dev)
link->open++;
/* Initial WL3501 firmware */
- pr_debug("%s: Initialize WL3501 firmware...", dev->name);
+ pr_debug("%s: Initialize WL3501 firmware...\n", dev->name);
if (wl3501_init_firmware(this))
goto fail;
/* Initial device variables */
@@ -1353,16 +1354,14 @@ static int wl3501_open(struct net_device *dev)
wl3501_unblock_interrupt(this);
wl3501_mgmt_scan(this, 100);
rc = 0;
- pr_debug("%s: WL3501 opened", dev->name);
- printk(KERN_INFO "%s: Card Name: %s\n"
- "%s: Firmware Date: %s\n",
- dev->name, this->card_name,
- dev->name, this->firmware_date);
+ pr_debug("%s: WL3501 opened\n", dev->name);
+ pr_info("%s: Card Name: %s\n", dev->name, this->card_name);
+ pr_info("%s: Firmware Date: %s\n", dev->name, this->firmware_date);
out:
spin_unlock_irqrestore(&this->lock, flags);
return rc;
fail:
- printk(KERN_WARNING "%s: Can't initialize firmware!\n", dev->name);
+ pr_warn("%s: Can't initialize firmware!\n", dev->name);
goto out;
}
@@ -1922,7 +1921,7 @@ static int wl3501_config(struct pcmcia_device *link)
dev->base_addr = link->resource[0]->start;
SET_NETDEV_DEV(dev, &link->dev);
if (register_netdev(dev)) {
- printk(KERN_NOTICE "wl3501_cs: register_netdev() failed\n");
+ pr_notice("register_netdev() failed\n");
goto failed;
}
@@ -1931,8 +1930,7 @@ static int wl3501_config(struct pcmcia_device *link)
this->base_addr = dev->base_addr;
if (!wl3501_get_flash_mac_addr(this)) {
- printk(KERN_WARNING "%s: Can't read MAC addr in flash ROM?\n",
- dev->name);
+ pr_warn("%s: Can't read MAC addr in flash ROM?\n", dev->name);
unregister_netdev(dev);
goto failed;
}
@@ -1941,10 +1939,8 @@ static int wl3501_config(struct pcmcia_device *link)
dev->dev_addr[i] = ((char *)&this->mac_addr)[i];
/* print probe information */
- printk(KERN_INFO "%s: wl3501 @ 0x%3.3x, IRQ %d, "
- "MAC addr in flash ROM:%pM\n",
- dev->name, this->base_addr, (int)dev->irq,
- dev->dev_addr);
+ pr_info("%s: wl3501 @ 0x%3.3x, IRQ %d, MAC addr in flash ROM:%pM\n",
+ dev->name, this->base_addr, (int)dev->irq, dev->dev_addr);
/*
* Initialize card parameters - added by jss
*/
--
1.7.8.111.gad25c.dirty
^ permalink raw reply related
* [PATCH wireless-next 20/20] zd_usb: Use pr_<level>
From: Joe Perches @ 2012-06-15 5:54 UTC (permalink / raw)
To: Daniel Drake, Ulrich Kunitz
Cc: John W. Linville, linux-wireless, netdev, linux-kernel
In-Reply-To: <cover.1339739415.git.joe@perches.com>
Use a more current logging style.
Convert printks to pr_<level>.
Coalesce formats, align arguments.
Signed-off-by: Joe Perches <joe@perches.com>
---
drivers/net/wireless/zd1211rw/zd_usb.c | 13 +++++++------
1 files changed, 7 insertions(+), 6 deletions(-)
diff --git a/drivers/net/wireless/zd1211rw/zd_usb.c b/drivers/net/wireless/zd1211rw/zd_usb.c
index af83c43..7acaa1d 100644
--- a/drivers/net/wireless/zd1211rw/zd_usb.c
+++ b/drivers/net/wireless/zd1211rw/zd_usb.c
@@ -19,6 +19,8 @@
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
+#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
+
#include <linux/kernel.h>
#include <linux/init.h>
#include <linux/firmware.h>
@@ -1551,29 +1553,28 @@ static int __init usb_init(void)
{
int r;
- pr_debug("%s usb_init()\n", driver.name);
+ pr_debug("usb_init()\n");
zd_workqueue = create_singlethread_workqueue(driver.name);
if (zd_workqueue == NULL) {
- printk(KERN_ERR "%s couldn't create workqueue\n", driver.name);
+ pr_err("couldn't create workqueue\n");
return -ENOMEM;
}
r = usb_register(&driver);
if (r) {
destroy_workqueue(zd_workqueue);
- printk(KERN_ERR "%s usb_register() failed. Error number %d\n",
- driver.name, r);
+ pr_err("usb_register() failed. Error number %d\n", r);
return r;
}
- pr_debug("%s initialized\n", driver.name);
+ pr_debug("initialized\n");
return 0;
}
static void __exit usb_exit(void)
{
- pr_debug("%s usb_exit()\n", driver.name);
+ pr_debug("usb_exit()\n");
usb_deregister(&driver);
destroy_workqueue(zd_workqueue);
}
--
1.7.8.111.gad25c.dirty
^ permalink raw reply related
* [PATCH wireless-next 17/20] rtl818x: Use pr_<level>
From: Joe Perches @ 2012-06-15 5:53 UTC (permalink / raw)
To: John W. Linville, Herton Ronaldo Krzesinski, Hin-Tak Leung,
Larry Finger
Cc: linux-wireless, netdev, linux-kernel
In-Reply-To: <cover.1339739415.git.joe@perches.com>
Use a more current logging style.
Convert printks to pr_<level>.
Convert printk(KERN_DEBUG to pr_debug(.
Coalesce formats, align arguments.
Signed-off-by: Joe Perches <joe@perches.com>
---
drivers/net/wireless/rtl818x/rtl8180/dev.c | 35 ++++++++++---------------
drivers/net/wireless/rtl818x/rtl8187/dev.c | 15 +++++-----
drivers/net/wireless/rtl818x/rtl8187/leds.c | 6 +++-
drivers/net/wireless/rtl818x/rtl8187/rfkill.c | 9 +++---
4 files changed, 30 insertions(+), 35 deletions(-)
diff --git a/drivers/net/wireless/rtl818x/rtl8180/dev.c b/drivers/net/wireless/rtl818x/rtl8180/dev.c
index 2bebcb7..b0818a9 100644
--- a/drivers/net/wireless/rtl818x/rtl8180/dev.c
+++ b/drivers/net/wireless/rtl818x/rtl8180/dev.c
@@ -15,6 +15,8 @@
* published by the Free Software Foundation.
*/
+#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
+
#include <linux/init.h>
#include <linux/interrupt.h>
#include <linux/pci.h>
@@ -913,15 +915,13 @@ static int __devinit rtl8180_probe(struct pci_dev *pdev,
err = pci_enable_device(pdev);
if (err) {
- printk(KERN_ERR "%s (rtl8180): Cannot enable new PCI device\n",
- pci_name(pdev));
+ pr_err("%s: Cannot enable new PCI device\n", pci_name(pdev));
return err;
}
err = pci_request_regions(pdev, KBUILD_MODNAME);
if (err) {
- printk(KERN_ERR "%s (rtl8180): Cannot obtain PCI resources\n",
- pci_name(pdev));
+ pr_err("%s: Cannot obtain PCI resources\n", pci_name(pdev));
return err;
}
@@ -932,16 +932,14 @@ static int __devinit rtl8180_probe(struct pci_dev *pdev,
if (mem_len < sizeof(struct rtl818x_csr) ||
io_len < sizeof(struct rtl818x_csr)) {
- printk(KERN_ERR "%s (rtl8180): Too short PCI resources\n",
- pci_name(pdev));
+ pr_err("%s: Too short PCI resources\n", pci_name(pdev));
err = -ENOMEM;
goto err_free_reg;
}
if ((err = pci_set_dma_mask(pdev, DMA_BIT_MASK(32))) ||
(err = pci_set_consistent_dma_mask(pdev, DMA_BIT_MASK(32)))) {
- printk(KERN_ERR "%s (rtl8180): No suitable DMA available\n",
- pci_name(pdev));
+ pr_err("%s: No suitable DMA available\n", pci_name(pdev));
goto err_free_reg;
}
@@ -949,8 +947,7 @@ static int __devinit rtl8180_probe(struct pci_dev *pdev,
dev = ieee80211_alloc_hw(sizeof(*priv), &rtl8180_ops);
if (!dev) {
- printk(KERN_ERR "%s (rtl8180): ieee80211 alloc failed\n",
- pci_name(pdev));
+ pr_err("%s: ieee80211 alloc failed\n", pci_name(pdev));
err = -ENOMEM;
goto err_free_reg;
}
@@ -967,8 +964,7 @@ static int __devinit rtl8180_probe(struct pci_dev *pdev,
priv->map = pci_iomap(pdev, 0, io_len);
if (!priv->map) {
- printk(KERN_ERR "%s (rtl8180): Cannot map device memory\n",
- pci_name(pdev));
+ pr_err("%s: Cannot map device memory\n", pci_name(pdev));
goto err_free_dev;
}
@@ -1010,8 +1006,7 @@ static int __devinit rtl8180_probe(struct pci_dev *pdev,
chip_name = "RTL8185vD";
break;
default:
- printk(KERN_ERR "%s (rtl8180): Unknown chip! (0x%x)\n",
- pci_name(pdev), reg >> 25);
+ pr_err("%s: Unknown chip! (0x%x)\n", pci_name(pdev), reg >> 25);
goto err_iounmap;
}
@@ -1052,13 +1047,12 @@ static int __devinit rtl8180_probe(struct pci_dev *pdev,
rf_name = "RTL8255";
break;
default:
- printk(KERN_ERR "%s (rtl8180): Unknown RF! (0x%x)\n",
- pci_name(pdev), eeprom_val);
+ pr_err("%s: Unknown RF! (0x%x)\n", pci_name(pdev), eeprom_val);
goto err_iounmap;
}
if (!priv->rf) {
- printk(KERN_ERR "%s (rtl8180): %s RF frontend not supported!\n",
+ pr_err("%s: %s RF frontend not supported!\n",
pci_name(pdev), rf_name);
goto err_iounmap;
}
@@ -1074,8 +1068,8 @@ static int __devinit rtl8180_probe(struct pci_dev *pdev,
eeprom_93cx6_multiread(&eeprom, 0x7, (__le16 *)mac_addr, 3);
if (!is_valid_ether_addr(mac_addr)) {
- printk(KERN_WARNING "%s (rtl8180): Invalid hwaddr! Using"
- " randomly generated MAC addr\n", pci_name(pdev));
+ pr_warn("%s: Invalid hwaddr! Using randomly generated MAC addr\n",
+ pci_name(pdev));
random_ether_addr(mac_addr);
}
SET_IEEE80211_PERM_ADDR(dev, mac_addr);
@@ -1104,8 +1098,7 @@ static int __devinit rtl8180_probe(struct pci_dev *pdev,
err = ieee80211_register_hw(dev);
if (err) {
- printk(KERN_ERR "%s (rtl8180): Cannot register device\n",
- pci_name(pdev));
+ pr_err("%s: Cannot register device\n", pci_name(pdev));
goto err_iounmap;
}
diff --git a/drivers/net/wireless/rtl818x/rtl8187/dev.c b/drivers/net/wireless/rtl818x/rtl8187/dev.c
index 4fb1ca1..ae631b4 100644
--- a/drivers/net/wireless/rtl818x/rtl8187/dev.c
+++ b/drivers/net/wireless/rtl818x/rtl8187/dev.c
@@ -20,6 +20,8 @@
* published by the Free Software Foundation.
*/
+#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
+
#include <linux/init.h>
#include <linux/usb.h>
#include <linux/slab.h>
@@ -1425,7 +1427,7 @@ static int __devinit rtl8187_probe(struct usb_interface *intf,
dev = ieee80211_alloc_hw(sizeof(*priv), &rtl8187_ops);
if (!dev) {
- printk(KERN_ERR "rtl8187: ieee80211 alloc failed\n");
+ pr_err("ieee80211 alloc failed\n");
return -ENOMEM;
}
@@ -1484,8 +1486,7 @@ static int __devinit rtl8187_probe(struct usb_interface *intf,
eeprom_93cx6_multiread(&eeprom, RTL8187_EEPROM_MAC_ADDR,
(__le16 __force *)mac_addr, 3);
if (!is_valid_ether_addr(mac_addr)) {
- printk(KERN_WARNING "rtl8187: Invalid hwaddr! Using randomly "
- "generated MAC address\n");
+ pr_warn("Invalid hwaddr! Using randomly generated MAC address\n");
random_ether_addr(mac_addr);
}
SET_IEEE80211_PERM_ADDR(dev, mac_addr);
@@ -1540,8 +1541,7 @@ static int __devinit rtl8187_probe(struct usb_interface *intf,
* only uses it in their sources
*/
/*if (priv->asic_rev == 0) {
- printk(KERN_WARNING "rtl8187: Forcing use of USB "
- "requests to write to radio registers\n");
+ pr_warn("Forcing use of USB requests to write to radio registers\n");
priv->asic_rev = 1;
}*/
switch (rtl818x_ioread8(priv, (u8 *)0xFFE1)) {
@@ -1595,8 +1595,7 @@ static int __devinit rtl8187_probe(struct usb_interface *intf,
BIT(NL80211_IFTYPE_ADHOC) ;
if ((id->driver_info == DEVICE_RTL8187) && priv->is_rtl8187b)
- printk(KERN_INFO "rtl8187: inconsistency between id with OEM"
- " info!\n");
+ pr_info("inconsistency between id with OEM info!\n");
priv->rf = rtl8187_detect_rf(dev);
dev->extra_tx_headroom = (!priv->is_rtl8187b) ?
@@ -1609,7 +1608,7 @@ static int __devinit rtl8187_probe(struct usb_interface *intf,
err = ieee80211_register_hw(dev);
if (err) {
- printk(KERN_ERR "rtl8187: Cannot register device\n");
+ pr_err("Cannot register device\n");
goto err_free_dmabuf;
}
mutex_init(&priv->conf_mutex);
diff --git a/drivers/net/wireless/rtl818x/rtl8187/leds.c b/drivers/net/wireless/rtl818x/rtl8187/leds.c
index c2d5b49..ad6bde4 100644
--- a/drivers/net/wireless/rtl818x/rtl8187/leds.c
+++ b/drivers/net/wireless/rtl818x/rtl8187/leds.c
@@ -15,6 +15,8 @@
#ifdef CONFIG_RTL8187_LEDS
+#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
+
#include <net/mac80211.h>
#include <linux/usb.h>
#include <linux/eeprom_93cx6.h>
@@ -154,7 +156,7 @@ static int rtl8187_register_led(struct ieee80211_hw *dev,
err = led_classdev_register(&priv->udev->dev, &led->led_dev);
if (err) {
- printk(KERN_INFO "LEDs: Failed to register %s\n", name);
+ pr_info("Failed to register %s\n", name);
led->dev = NULL;
return err;
}
@@ -181,7 +183,7 @@ void rtl8187_leds_init(struct ieee80211_hw *dev, u16 custid)
/* According to the vendor driver, the LED operation depends on the
* customer ID encoded in the EEPROM
*/
- printk(KERN_INFO "rtl8187: Customer ID is 0x%02X\n", custid);
+ pr_info("Customer ID is 0x%02X\n", custid);
switch (custid) {
case EEPROM_CID_RSVD0:
case EEPROM_CID_RSVD1:
diff --git a/drivers/net/wireless/rtl818x/rtl8187/rfkill.c b/drivers/net/wireless/rtl818x/rtl8187/rfkill.c
index 3411671..cc9223f 100644
--- a/drivers/net/wireless/rtl818x/rtl8187/rfkill.c
+++ b/drivers/net/wireless/rtl818x/rtl8187/rfkill.c
@@ -13,6 +13,8 @@
* published by the Free Software Foundation.
*/
+#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
+
#include <linux/types.h>
#include <linux/usb.h>
#include <net/mac80211.h>
@@ -36,8 +38,7 @@ void rtl8187_rfkill_init(struct ieee80211_hw *hw)
struct rtl8187_priv *priv = hw->priv;
priv->rfkill_off = rtl8187_is_radio_enabled(priv);
- printk(KERN_INFO "rtl8187: wireless switch is %s\n",
- priv->rfkill_off ? "on" : "off");
+ pr_info("wireless switch is %s\n", priv->rfkill_off ? "on" : "off");
wiphy_rfkill_set_hw_state(hw->wiphy, !priv->rfkill_off);
wiphy_rfkill_start_polling(hw->wiphy);
}
@@ -51,8 +52,8 @@ void rtl8187_rfkill_poll(struct ieee80211_hw *hw)
enabled = rtl8187_is_radio_enabled(priv);
if (unlikely(enabled != priv->rfkill_off)) {
priv->rfkill_off = enabled;
- printk(KERN_INFO "rtl8187: wireless radio switch turned %s\n",
- enabled ? "on" : "off");
+ pr_info("wireless radio switch turned %s\n",
+ enabled ? "on" : "off");
wiphy_rfkill_set_hw_state(hw->wiphy, !enabled);
}
mutex_unlock(&priv->conf_mutex);
--
1.7.8.111.gad25c.dirty
^ permalink raw reply related
* Re: [net-next.git 1/4 (v5)] phy: add the EEE support and the way to access to the MMD registers.
From: Giuseppe CAVALLARO @ 2012-06-15 6:06 UTC (permalink / raw)
To: Ben Hutchings; +Cc: netdev, eric.dumazet, rayagond, davem, yuvalmin
In-Reply-To: <1339630137.2612.83.camel@bwh-desktop.uk.solarflarecom.com>
Hello Ben
On 6/14/2012 1:28 AM, Ben Hutchings wrote:
[snip]
>> > + */
>> > +int phy_init_eee(struct phy_device *phydev, bool clk_stop_enable)
>> > +{
>> > + int ret = -EPROTONOSUPPORT;
>> > +
>> > + /* According to 802.3az,the EEE is supported only in full duplex-mode.
>> > + * Also EEE feature is active when core is operating with MII, GMII
>> > + * or RGMII.
>> > + */
>> > + if ((phydev->duplex == DUPLEX_FULL) &&
>> > + ((phydev->interface == PHY_INTERFACE_MODE_MII) ||
>> > + (phydev->interface == PHY_INTERFACE_MODE_GMII) ||
>> > + (phydev->interface == PHY_INTERFACE_MODE_RGMII))) {
>> > + int eee_cap, eee_link;
>> > +
>> > + /* EEE ability must be supported in both local and remote
>> > + * PHY devices.
>> > + */
>> > + eee_cap = phy_read_mmd_indirect(phydev->bus, MDIO_AN_EEE_LPABLE,
>> > + MDIO_MMD_AN, phydev->addr);
>> > + if (eee_cap < 0)
>> > + return eee_cap;
>> > +
>> > + eee_link = phy_read_mmd_indirect(phydev->bus, MDIO_PCS_EEE_ABLE,
>> > + MDIO_MMD_PCS, phydev->addr);
>> > + if (eee_link < 0)
>> > + return eee_link;
>> > +
>> > + if (eee_cap && eee_link) {
> I don't see any harm in setting the 'clock stop' bit if requested, even
> if EEE is not supported and therefore we will never receive LPI from the
> link partner.
ok
> But you also use this condition to decide whether to enable TX LPI, so
> it's important that it does match the specification (§78.3) for whether
> EEE is supported - but it doesn't. You need to work out what mode was
> autonegotiated, then check that the relevant bit is set in both our EEE
> advertising (*not* supported) and the LP EEE advertising masks.
I've some doubts and, before resending the patch, I kindly ask you some
further details just on this point.
In the code, I check if the EEE is supported and on GMII, MII and RGMII
and duplex mode; in case of success the Ethernet driver can enable the
TX LPI.
Indeed, I am only using the 3.20 and 7.61 registers w/o looking at the
7.60. So this should be fixed, shouldn't it?
Am I missing anything else?
What do you mean when say that it doesn't match the specification
(§78.3)? I'm pointing to the '78.3 Capabilities Negotiation' chapter of
the IEEE802-3az, is it ok?\x02\x03\x03\x03\x04\x05\x06\a\x04\b
\x03\x03\x03\x04Thanks for your feedback in advance.
peppe
^ permalink raw reply
* Re: [PATCH] net: remove skb_orphan_try()
From: Oliver Hartkopp @ 2012-06-15 7:15 UTC (permalink / raw)
To: Eric Dumazet; +Cc: David Miller, jhautbois, netdev
In-Reply-To: <1339692164.7491.64.camel@edumazet-glaptop>
On 14.06.2012 18:42, Eric Dumazet wrote:
>
> [PATCH] net: remove skb_orphan_try()
>
> Orphaning skb in dev_hard_start_xmit() makes bonding behavior
> unfriendly for applications sending big UDP bursts : Once packets
> pass the bonding device and come to real device, they might hit a full
> qdisc and be dropped. Without orphaning, the sender is automatically
> throttled because sk->sk_wmemalloc reaches sk->sk_sndbuf (assuming
> sk_sndbuf is not too big)
>
> We could try to defer the orphaning adding another test in
> dev_hard_start_xmit(), but all this seems of little gain,
> now that BQL tends to make packets more likely to be parked
> in Qdisc queues instead of NIC TX ring, in cases where performance
> matters.
>
> Reverts commits :
> fc6055a5ba31 net: Introduce skb_orphan_try()
> 87fd308cfc6b net: skb_tx_hash() fix relative to skb_orphan_try()
> and removes SKBTX_DRV_NEEDS_SK_REF flag
>
> Reported-and-bisected-by: Jean-Michel Hautbois <jhautbois@gmail.com>
> Signed-off-by: Eric Dumazet <edumazet@google.com>
> ---
> include/linux/skbuff.h | 7 ++-----
> net/can/raw.c | 3 ---
> net/core/dev.c | 23 +----------------------
> net/iucv/af_iucv.c | 1 -
> 4 files changed, 3 insertions(+), 31 deletions(-)
>
As i originally introduced the SKBTX_DRV_NEEDS_SK_REF flag to preserve the skb
packet flow for CAN i'm pretty happy to see that skb_orphan_try() goes away
again :-)
I also tested this patch with my test-apps that would detect these problems.
Tested-by: Oliver Hartkopp <socketcan@hartkopp.net>
Acked-by: Oliver Hartkopp <socketcan@hartkopp.net>
Tnx Eric!
Regards,
Oliver
^ permalink raw reply
* Re: [PATCH 0/8] dcbnl: Major simplifications
From: Thomas Graf @ 2012-06-15 7:26 UTC (permalink / raw)
To: John Fastabend; +Cc: alexander.h.duyck, David Miller, netdev, lucy.liu
In-Reply-To: <4FDA0BFC.90807@intel.com>
On Thu, Jun 14, 2012 at 09:06:20AM -0700, John Fastabend wrote:
> On 6/14/2012 12:54 AM, Thomas Graf wrote:
> >On Wed, Jun 13, 2012 at 03:55:41PM -0700, David Miller wrote:
> >>Lots of deleted code, I like it :-)
> >>
> >>Applied, but could you send a follow-on patch to use BUG_ON() instead
> >>of that "if (!ptr) { /* ... */ BUG(); }" construct?
> >
> >Sure, I must have had a weak moment right there :)
> >
>
> Nice! I'm a bit late but dumped this into my dcbnl netlink test kit
> and everything looks good so...
Thank you for testing John. Are you referring to lldp/test/nltest.c?
I only discovered it after you mentioned a test kit. I've been feeding
a list of commands through dcbtool for testing so far.
BTW, I believe you mentioned at some point, that there is a patch
available allowing non net_device based DCB users to use dcbnl.
Otherwise I would start with the effort :)
^ permalink raw reply
* Re: [PATCH wireless-next 00/20] Use pr_<level>
From: Johannes Berg @ 2012-06-15 7:36 UTC (permalink / raw)
To: Joe Perches; +Cc: linux-wireless, b43-dev, libertas-dev, netdev, linux-kernel
In-Reply-To: <cover.1339739415.git.joe@perches.com>
On Thu, 2012-06-14 at 22:53 -0700, Joe Perches wrote:
> Update logging style
So ... since we make everybody else explain *why* they make a change, I
think you should too. I don't see a reason for this random patching of
perfectly good code.
johannes
^ permalink raw reply
* Re: [PATCH] net: remove my future former mail address
From: Sakari Ailus @ 2012-06-15 7:44 UTC (permalink / raw)
To: Rémi Denis-Courmont; +Cc: netdev, Rémi Denis-Courmont
In-Reply-To: <1339662543-7203-1-git-send-email-remi@remlab.net>
Hi Rémi,
Rémi Denis-Courmont wrote:
> From: Rémi Denis-Courmont <remi.denis-courmont@nokia.com>
>
> Signed-off-by: Rémi Denis-Courmont <remi@remlab.net>
> Cc: Sakari Ailus <sakari.ailus@nokia.com>
Hmm. While you're at it, could you please remove mine from the same
files as well, please?
I wonder if this also means that the code will be without a maintainer
in the future.
Kind regards,
--
Sakari Ailus
sakari.ailus@maxwell.research.nokia.com
^ permalink raw reply
* RE: [RFC] Introduce to batch variants of accept() and epoll_ctl() syscall
From: David Laight @ 2012-06-15 8:35 UTC (permalink / raw)
To: Li Yu, Linux Netdev List; +Cc: Linux Kernel Mailing List, davidel
In-Reply-To: <4FDAB652.6070201@gmail.com>
> We encounter a performance problem in a large scale computer
> cluster, which needs to handle a lot of incoming concurrent TCP
> connection requests.
>
> The top shows the kernel is most cpu hog, the testing is simple,
> just a accept() -> epoll_ctl(ADD) loop, the ratio of cpu util sys% to
> si% is about 2:5.
>
> I also asked some experienced webserver/proxy developers in my team
> for suggestions, it seem that behavior of many userland
> programs already
> called accept() multiple times after it is waked up by
> epoll_wait(). And the common action is adding the fd that accept()
> return into epoll interface by epoll_ctl() syscall then.
>
> Therefore, I think that we'd better to introduce to batch
> variants of
> accept() and epoll_ctl() syscall, just like sendmmsg() or recvmmsg().
...
Having seen the support added to NetBSD for sendmmsg() and
recvmmsg() (and I'm told the linux code is much the same),
I'm surprised that just cutting out a system call entry/exit
and fd lookup is significant above the rest of the costs
involved in sending a message (which I presume is UDP here).
I'd be even more surprised if it is significant for an
incoming connection.
David
^ permalink raw reply
* Re: [PATCH wireless-next 18/20] ti: Use pr_<level>
From: Luciano Coelho @ 2012-06-15 8:36 UTC (permalink / raw)
To: Joe Perches; +Cc: linux-kernel, John W. Linville, linux-wireless, netdev
In-Reply-To: <a4533db379be3689e3b29ed9b0d170263d875f7d.1339739416.git.joe@perches.com>
Hi Joe,
On Thu, 2012-06-14 at 22:53 -0700, Joe Perches wrote:
> Use a more current logging style.
>
> Convert printks to pr_<level>.
> Coalesce formats, align arguments.
>
> Add newlines to calls, remove from macros.
> Remove unnecessary duplicate newlines from calls.
> Remove spaces before newlines.
>
> Signed-off-by: Joe Perches <joe@perches.com>
> ---
As Johannes already mentioned, I have to also ask why do you need to do
this? I see the point, slightly, with the wl1251 code, because it is
still using printks, but with wlcore and friends, there's no functional
change.
[...]
> diff --git a/drivers/net/wireless/ti/wl1251/wl1251.h b/drivers/net/wireless/ti/wl1251/wl1251.h
> index 9d8f581..e4d0063 100644
> --- a/drivers/net/wireless/ti/wl1251/wl1251.h
> +++ b/drivers/net/wireless/ti/wl1251/wl1251.h
> @@ -54,22 +54,22 @@ enum {
>
> #define DEBUG_DUMP_LIMIT 1024
>
> -#define wl1251_error(fmt, arg...) \
> - printk(KERN_ERR DRIVER_PREFIX "ERROR " fmt "\n", ##arg)
> +#define wl1251_err(fmt, arg...) \
> + pr_err(DRIVER_PREFIX "ERROR " fmt, ##arg)
>
> -#define wl1251_warning(fmt, arg...) \
> - printk(KERN_WARNING DRIVER_PREFIX "WARNING " fmt "\n", ##arg)
> +#define wl1251_warn(fmt, arg...) \
> + pr_warn(DRIVER_PREFIX "WARNING " fmt, ##arg)
>
> -#define wl1251_notice(fmt, arg...) \
> - printk(KERN_INFO DRIVER_PREFIX fmt "\n", ##arg)
> +#define wl1251_notice(fmt, arg...) \
> + pr_info(DRIVER_PREFIX fmt, ##arg)
>
> -#define wl1251_info(fmt, arg...) \
> - printk(KERN_DEBUG DRIVER_PREFIX fmt "\n", ##arg)
> +#define wl1251_info(fmt, arg...) \
> + printk(KERN_DEBUG DRIVER_PREFIX fmt, ##arg)
>
> #define wl1251_debug(level, fmt, arg...) \
> - do { \
> + do { \
> if (level & DEBUG_LEVEL) \
> - printk(KERN_DEBUG DRIVER_PREFIX fmt "\n", ##arg); \
> + printk(KERN_DEBUG DRIVER_PREFIX fmt, ##arg); \
> } while (0)
As mentioned above, this change here is acceptable, but removing the \n
from the macro and adding it at the end of each and every call is
useless and will just skew git-blame and make it harder to do rebase or
apply patches because of conflicts.
[...]
> diff --git a/drivers/net/wireless/ti/wlcore/debug.h b/drivers/net/wireless/ti/wlcore/debug.h
> index 6b800b3..83b72c2 100644
> --- a/drivers/net/wireless/ti/wlcore/debug.h
> +++ b/drivers/net/wireless/ti/wlcore/debug.h
> @@ -61,22 +61,22 @@ extern u32 wl12xx_debug_level;
>
> #define DEBUG_DUMP_LIMIT 1024
>
> -#define wl1271_error(fmt, arg...) \
> - pr_err(DRIVER_PREFIX "ERROR " fmt "\n", ##arg)
> +#define wl1271_err(fmt, arg...) \
> + pr_err(DRIVER_PREFIX "ERROR " fmt, ##arg)
>
> -#define wl1271_warning(fmt, arg...) \
> - pr_warning(DRIVER_PREFIX "WARNING " fmt "\n", ##arg)
> +#define wl1271_warn(fmt, arg...) \
> + pr_warn(DRIVER_PREFIX "WARNING " fmt, ##arg)
Using pr_warn instead of pr_warning is pointless. pr_warning is the
main definition, actually, and pr_warn is just a "mirror".
> -#define wl1271_notice(fmt, arg...) \
> - pr_info(DRIVER_PREFIX fmt "\n", ##arg)
> +#define wl1271_notice(fmt, arg...) \
> + pr_info(DRIVER_PREFIX fmt, ##arg)
>
> -#define wl1271_info(fmt, arg...) \
> - pr_info(DRIVER_PREFIX fmt "\n", ##arg)
> +#define wl1271_info(fmt, arg...) \
> + pr_info(DRIVER_PREFIX fmt, ##arg)
>
> -#define wl1271_debug(level, fmt, arg...) \
> - do { \
> +#define wl1271_debug(level, fmt, arg...) \
> + do { \
> if (level & wl12xx_debug_level) \
> - pr_debug(DRIVER_PREFIX fmt "\n", ##arg); \
> + pr_debug(DRIVER_PREFIX fmt, ##arg); \
> } while (0)
Again, moving the \n from the macro definition and changing all the
callers is an unnecessary, intrusive change.
We have wanted to change "wl1271" to "wl12xx" for a long time, but we
don't do it exactly because this means we need to change the calls
everywhere.
So, this is a NACK from me, unless you have a really good reason why
this change is needed.
--
Luca.
^ permalink raw reply
* [Patch] bonding: show all the link status of slaves
From: Cong Wang @ 2012-06-15 8:39 UTC (permalink / raw)
To: netdev; +Cc: David S. Miller, Jay Vosburgh, Andy Gospodarek, Cong Wang
There are four link statuses of a bonding slave, the procfs
code shows a wrong status when using downdelay/updelay:
(slave->link == BOND_LINK_UP) ? "up" : "down"
It doesn't respect the rest two statuses. This patch fixes it.
Cc: Jay Vosburgh <fubar@us.ibm.com>
Cc: Andy Gospodarek <andy@greyhouse.net>
Cc: "David S. Miller" <davem@davemloft.net>
Signed-off-by: Cong Wang <amwang@redhat.com>
---
diff --git a/drivers/net/bonding/bond_procfs.c b/drivers/net/bonding/bond_procfs.c
index ad284ba..3cea38d 100644
--- a/drivers/net/bonding/bond_procfs.c
+++ b/drivers/net/bonding/bond_procfs.c
@@ -150,14 +150,25 @@ static void bond_info_show_master(struct seq_file *seq)
}
}
+static const char *bond_slave_link_status(s8 link)
+{
+ static const char * const status[] = {
+ [BOND_LINK_UP] = "up",
+ [BOND_LINK_FAIL] = "going down",
+ [BOND_LINK_DOWN] = "down",
+ [BOND_LINK_BACK] = "going back",
+ };
+
+ return status[link];
+}
+
static void bond_info_show_slave(struct seq_file *seq,
const struct slave *slave)
{
struct bonding *bond = seq->private;
seq_printf(seq, "\nSlave Interface: %s\n", slave->dev->name);
- seq_printf(seq, "MII Status: %s\n",
- (slave->link == BOND_LINK_UP) ? "up" : "down");
+ seq_printf(seq, "MII Status: %s\n", bond_slave_link_status(slave->link));
if (slave->speed == SPEED_UNKNOWN)
seq_printf(seq, "Speed: %s\n", "Unknown");
else
^ permalink raw reply related
* Re: [RFC] Introduce to batch variants of accept() and epoll_ctl() syscall
From: Eric Dumazet @ 2012-06-15 8:51 UTC (permalink / raw)
To: Li Yu; +Cc: Changli Gao, Linux Netdev List, Linux Kernel Mailing List,
davidel
In-Reply-To: <4FDACA26.70004@gmail.com>
On Fri, 2012-06-15 at 13:37 +0800, Li Yu wrote:
> Of course, I think that implementing them should not be a hard work :)
>
> Em. I really do not know whether it is necessary to introduce to a new
> syscall here. An alternative solution to add new socket option to handle
> such batch requirement, so applications also can detect if kernel has
> this extended ability with a easy getsockopt() call.
>
> Any way, I am going to try to write a prototype first.
Before that, could you post the result of "perf top", or "perf
record ...;perf report"
> The top shows the kernel is most cpu hog, the testing is simple,
> just a accept() -> epoll_ctl(ADD) loop, the ratio of cpu util sys% to
> si% is about 2:5.
This ratio is not meaningful, if we dont know where time is spent.
I doubt epoll_ctl(ADD) is a problem here...
If it is, batching the fds wont speed the thing anyway...
I believe accept() is the problem here, because it contends with the
softirq processing the tcp session handshake.
^ permalink raw reply
* [PATCH] ipv6: Prevent access to uninitialized fib_table_hash via /proc/net/ipv6_route
From: Thomas Graf @ 2012-06-15 9:00 UTC (permalink / raw)
To: davem; +Cc: netdev
/proc/net/ipv6_route reflects the contents of fib_table_hash. The proc
handler is installed in ip6_route_net_init() whereas fib_table_hash is
allocated in fib6_net_init() _after_ the proc handler has been installed.
This opens up a short time frame to access fib_table_hash with its pants
down.
fib6_init() as a whole can't be moved to an earlier position as it also
registers the rtnetlink message handlers which should be registered at
the end. Therefore split it into fib6_init() which is run early and
fib6_init_late() to register the rtnetlink message handlers.
Signed-off-by: Thomas Graf <tgraf@suug.ch>
---
include/net/ip6_fib.h | 2 ++
net/ipv6/ip6_fib.c | 18 +++++++++++-------
net/ipv6/route.c | 16 +++++++++++-----
3 files changed, 24 insertions(+), 12 deletions(-)
diff --git a/include/net/ip6_fib.h b/include/net/ip6_fib.h
index 0ae759a..209af13 100644
--- a/include/net/ip6_fib.h
+++ b/include/net/ip6_fib.h
@@ -271,6 +271,8 @@ extern void fib6_run_gc(unsigned long expires,
extern void fib6_gc_cleanup(void);
extern int fib6_init(void);
+extern int fib6_init_late(void);
+extern void fib6_cleanup_late(void);
#ifdef CONFIG_IPV6_MULTIPLE_TABLES
extern int fib6_rules_init(void);
diff --git a/net/ipv6/ip6_fib.c b/net/ipv6/ip6_fib.c
index 74c21b9..fbd4aff 100644
--- a/net/ipv6/ip6_fib.c
+++ b/net/ipv6/ip6_fib.c
@@ -1692,21 +1692,25 @@ int __init fib6_init(void)
ret = register_pernet_subsys(&fib6_net_ops);
if (ret)
goto out_kmem_cache_create;
-
- ret = __rtnl_register(PF_INET6, RTM_GETROUTE, NULL, inet6_dump_fib,
- NULL);
- if (ret)
- goto out_unregister_subsys;
out:
return ret;
-out_unregister_subsys:
- unregister_pernet_subsys(&fib6_net_ops);
out_kmem_cache_create:
kmem_cache_destroy(fib6_node_kmem);
goto out;
}
+int __init fib6_init_late(void)
+{
+ return __rtnl_register(PF_INET6, RTM_GETROUTE, NULL, inet6_dump_fib,
+ NULL);
+}
+
+void fib6_cleanup_late(void)
+{
+ rtnl_unregister(PF_INET6, RTM_GETROUTE);
+}
+
void fib6_gc_cleanup(void)
{
unregister_pernet_subsys(&fib6_net_ops);
diff --git a/net/ipv6/route.c b/net/ipv6/route.c
index 999a982..dc60bf5 100644
--- a/net/ipv6/route.c
+++ b/net/ipv6/route.c
@@ -3018,10 +3018,14 @@ int __init ip6_route_init(void)
if (ret)
goto out_kmem_cache;
- ret = register_pernet_subsys(&ip6_route_net_ops);
+ ret = fib6_init();
if (ret)
goto out_dst_entries;
+ ret = register_pernet_subsys(&ip6_route_net_ops);
+ if (ret)
+ goto out_fib6_init;
+
ip6_dst_blackhole_ops.kmem_cachep = ip6_dst_ops_template.kmem_cachep;
/* Registering of the loopback is done before this portion of code,
@@ -3035,13 +3039,13 @@ int __init ip6_route_init(void)
init_net.ipv6.ip6_blk_hole_entry->dst.dev = init_net.loopback_dev;
init_net.ipv6.ip6_blk_hole_entry->rt6i_idev = in6_dev_get(init_net.loopback_dev);
#endif
- ret = fib6_init();
+ ret = fib6_init_late();
if (ret)
goto out_register_subsys;
ret = xfrm6_init();
if (ret)
- goto out_fib6_init;
+ goto out_fib6_init_late;
ret = fib6_rules_init();
if (ret)
@@ -3064,10 +3068,12 @@ fib6_rules_init:
fib6_rules_cleanup();
xfrm6_init:
xfrm6_fini();
-out_fib6_init:
- fib6_gc_cleanup();
+out_fib6_init_late:
+ fib6_cleanup_late();
out_register_subsys:
unregister_pernet_subsys(&ip6_route_net_ops);
+out_fib6_init:
+ fib6_gc_cleanup();
out_dst_entries:
dst_entries_destroy(&ip6_dst_blackhole_ops);
out_kmem_cache:
--
1.7.7.6
^ permalink raw reply related
* PROBLEM: regression in ipv6 / udpv6_sendmsg between 3.2/3.3 kernels, causing panics
From: Mike Kazantsev @ 2012-06-15 9:10 UTC (permalink / raw)
To: netdev
[-- Attachment #1.1: Type: text/plain, Size: 2646 bytes --]
Good day,
Local IPv6-enabled system suffers from really frequent (but somewhat
random) kernel panics with mainline kernel versions starting from 3.3,
always featuring udpv6_sendmsg in the produced stack trace.
Machine in question acts as an internet gateway, hosting quite a few
services itself, traffic goes through it as well as originates from it.
It is connected to IPv6 via sit tunnel over regular ISP-provided direct
IPv4 connection (no tunneling, just dhcp-assigned internet IPv4).
First time I've seen this error was just a few seconds after network was
configured on first boot with 3.3 kernel.
I've tried updating kernel to later 3.3.X versions and 3.4 series
(stack trace captured is from 3.4.2).
Machine worked months with different 3.2.X kernels (starting from 3.2,
latest being 3.2.16) with no problems of this kind whatsoever (no major
kernel errors like oops, bug or panic).
Panic seem to happen reliably within 12 hours of booting kernel 3.3+ and
enabling ipv6 sit tunnel to the outside world.
So far, I've seen about 5-10 of these and they always feature
udpv6_sendmsg somewhere at the top.
Latest traceback (with 3.4.2, ver_linux output attached as well) on a
laptop camera and is attached.
I've tried reproducing it on local ipv6 network with iperf-generated
udp traffic (since there doesn't seem to be any local ipv6/udp services
on the machine) with no luck thus far.
In most cases, mainline (Linus tree) kernel versions from kernel.org
were used with AppArmor userspace compatibility patches
(http://wiki.apparmor.net/index.php/Main_Page#Userspace, included in the
archive).
Seeing apparmor calls in the stack traces (and since no apparmor
profiles are used on this machine), I've tried disabling AppArmor LSM,
but eventually got the same panic.
Hardware is a low-spec commodity amd64 Intel Atom miniITX platform.
Kernel config and hardware information attached.
Only workarounds I've been able to find so far is running 3.2.X kernels
or disabling sit tunnel (and IPv6 connectivity), but both seem to be
far from perfect.
Bisection doesn't seem to be an easy option, because error seem to be
fairly random, not triggered by just any udp traffic.
Can someone maybe point out specific commits I can try to revert, to
see if it'll solve the issue?
I haven't looked at the changes to the relevant code paths in 3.2-3.3
timeframe myself yet, but intend to try eventually, though I'm not
familiar enough with the kernel architecture and code to make much
sense of it, I'm afraid.
Thanks in advance for any assistance.
--
Mike Kazantsev // fraggod.net
[-- Attachment #1.2: udpv6_sendmsg_cpuinfo.txt --]
[-- Type: text/plain, Size: 3040 bytes --]
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 28
model name : Intel(R) Atom(TM) CPU D510 @ 1.66GHz
stepping : 10
microcode : 0x107
cpu MHz : 1666.732
cache size : 512 KB
physical id : 0
siblings : 4
core id : 0
cpu cores : 2
apicid : 0
initial apicid : 0
fpu : yes
fpu_exception : yes
cpuid level : 10
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc arch_perfmon pebs bts rep_good nopl aperfmperf pni dtes64 monitor ds_cpl tm2 ssse3 cx16 xtpr pdcm movbe lahf_lm dts
bogomips : 3334.35
clflush size : 64
cache_alignment : 64
address sizes : 36 bits physical, 48 bits virtual
power management:
processor : 1
vendor_id : GenuineIntel
cpu family : 6
model : 28
model name : Intel(R) Atom(TM) CPU D510 @ 1.66GHz
stepping : 10
microcode : 0x107
cpu MHz : 1666.732
cache size : 512 KB
physical id : 0
siblings : 4
core id : 0
cpu cores : 2
apicid : 1
initial apicid : 1
fpu : yes
fpu_exception : yes
cpuid level : 10
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc arch_perfmon pebs bts rep_good nopl aperfmperf pni dtes64 monitor ds_cpl tm2 ssse3 cx16 xtpr pdcm movbe lahf_lm dts
bogomips : 3334.35
clflush size : 64
cache_alignment : 64
address sizes : 36 bits physical, 48 bits virtual
power management:
processor : 2
vendor_id : GenuineIntel
cpu family : 6
model : 28
model name : Intel(R) Atom(TM) CPU D510 @ 1.66GHz
stepping : 10
microcode : 0x107
cpu MHz : 1666.732
cache size : 512 KB
physical id : 0
siblings : 4
core id : 1
cpu cores : 2
apicid : 2
initial apicid : 2
fpu : yes
fpu_exception : yes
cpuid level : 10
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc arch_perfmon pebs bts rep_good nopl aperfmperf pni dtes64 monitor ds_cpl tm2 ssse3 cx16 xtpr pdcm movbe lahf_lm dts
bogomips : 3334.35
clflush size : 64
cache_alignment : 64
address sizes : 36 bits physical, 48 bits virtual
power management:
processor : 3
vendor_id : GenuineIntel
cpu family : 6
model : 28
model name : Intel(R) Atom(TM) CPU D510 @ 1.66GHz
stepping : 10
microcode : 0x107
cpu MHz : 1666.732
cache size : 512 KB
physical id : 0
siblings : 4
core id : 1
cpu cores : 2
apicid : 3
initial apicid : 3
fpu : yes
fpu_exception : yes
cpuid level : 10
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc arch_perfmon pebs bts rep_good nopl aperfmperf pni dtes64 monitor ds_cpl tm2 ssse3 cx16 xtpr pdcm movbe lahf_lm dts
bogomips : 3334.35
clflush size : 64
cache_alignment : 64
address sizes : 36 bits physical, 48 bits virtual
power management:
[-- Attachment #1.3: udpv6_sendmsg_iomem.txt --]
[-- Type: text/plain, Size: 2235 bytes --]
00000000-0000ffff : reserved
00010000-0008efff : System RAM
0008f000-0008ffff : reserved
00090000-0009ebff : System RAM
0009ec00-0009ffff : reserved
000a0000-000bffff : PCI Bus 0000:00
000c0000-000c7fff : Video ROM
000ce000-000ce7ff : Adapter ROM
000e0000-000fffff : reserved
000f0000-000fffff : System ROM
00100000-7ee97fff : System RAM
01000000-014c3a70 : Kernel code
014c3a71-0185bc7f : Kernel data
018e3000-0197dfff : Kernel bss
7ee98000-7eebefff : reserved
7eebf000-7ef47fff : System RAM
7ef48000-7efbefff : ACPI Non-volatile Storage
7efbf000-7eff0fff : System RAM
7eff1000-7effefff : ACPI Tables
7efff000-7effffff : System RAM
7f000000-7fffffff : reserved
d0000000-f7ffffff : PCI Bus 0000:00
d0000000-d04fffff : PCI Bus 0000:01
d0500000-d06fffff : PCI Bus 0000:02
d0700000-d08fffff : PCI Bus 0000:02
d0900000-d0afffff : PCI Bus 0000:03
d0b00000-d0cfffff : PCI Bus 0000:03
d0d00000-d0efffff : PCI Bus 0000:04
d0f00000-d10fffff : PCI Bus 0000:04
e0000000-efffffff : 0000:00:02.0
f0000000-f00fffff : PCI Bus 0000:01
f0000000-f0003fff : 0000:01:00.0
f0000000-f0003fff : r8169
f0004000-f0004fff : 0000:01:00.0
f0004000-f0004fff : r8169
f0020000-f003ffff : 0000:01:00.0
f0100000-f01fffff : PCI Bus 0000:05
f0100000-f01fffff : PCI Bus 0000:06
f0100000-f011ffff : 0000:06:05.0
f0100000-f011ffff : e100
f0120000-f013ffff : 0000:06:04.0
f0120000-f013ffff : e100
f0140000-f0140fff : 0000:06:05.0
f0140000-f0140fff : e100
f0141000-f0141fff : 0000:06:04.0
f0141000-f0141fff : e100
f0200000-f02fffff : 0000:00:02.0
f0300000-f037ffff : 0000:00:02.0
f0380000-f03803ff : 0000:00:1f.2
f0380000-f03803ff : ahci
f0380400-f03807ff : 0000:00:1d.7
f0380400-f03807ff : ehci_hcd
f8000000-fbffffff : PCI MMCONFIG 0000 [bus 00-3f]
f8000000-fbffffff : reserved
f8000000-fbffffff : pnp 00:01
fec00000-fec003ff : IOAPIC 0
fed00000-fed003ff : HPET 0
fed14000-fed17fff : pnp 00:01
fed18000-fed18fff : pnp 00:01
fed19000-fed19fff : pnp 00:01
fed1c000-fed1ffff : pnp 00:01
fee00000-fee00fff : Local APIC
fff00000-ffffffff : reserved
fff00000-ffffffff : pnp 00:01
[-- Attachment #1.4: udpv6_sendmsg_ioports.txt --]
[-- Type: text/plain, Size: 1626 bytes --]
0000-0cf7 : PCI Bus 0000:00
0000-001f : dma1
0020-0021 : pic1
0040-0043 : timer0
0050-0053 : timer1
0060-0060 : keyboard
0064-0064 : keyboard
0070-0071 : rtc0
0080-008f : dma page reg
00a0-00a1 : pic2
00c0-00df : dma2
00f0-00ff : fpu
0295-0296 : w83627hf
0295-0296 : pnp 00:06
0295-0296 : w83627hf
0378-037a : parport0
03c0-03df : vga+
0400-047f : pnp 00:06
0400-0403 : ACPI PM1a_EVT_BLK
0404-0405 : ACPI PM1a_CNT_BLK
0408-040b : ACPI PM_TMR
0410-0415 : ACPI CPU throttle
0420-0420 : ACPI PM2_CNT_BLK
0428-042f : ACPI GPE0_BLK
0500-053f : pnp 00:06
0680-06ff : pnp 00:06
0cf8-0cff : PCI conf1
0d00-ffff : PCI Bus 0000:00
1000-1fff : PCI Bus 0000:05
1000-1fff : PCI Bus 0000:06
1000-103f : 0000:06:05.0
1000-103f : e100
1040-107f : 0000:06:04.0
1040-107f : e100
2000-2fff : PCI Bus 0000:01
2000-20ff : 0000:01:00.0
2000-20ff : r8169
3000-301f : 0000:00:1f.3
3000-301f : i801_smbus
3020-303f : 0000:00:1d.3
3020-303f : uhci_hcd
3040-305f : 0000:00:1d.2
3040-305f : uhci_hcd
3060-307f : 0000:00:1d.1
3060-307f : uhci_hcd
3080-309f : 0000:00:1d.0
3080-309f : uhci_hcd
30a0-30af : 0000:00:1f.2
30a0-30af : ahci
30b0-30b7 : 0000:00:1f.2
30b0-30b7 : ahci
30b8-30bf : 0000:00:1f.2
30b8-30bf : ahci
30c0-30c7 : 0000:00:02.0
30c8-30cb : 0000:00:1f.2
30c8-30cb : ahci
30cc-30cf : 0000:00:1f.2
30cc-30cf : ahci
4000-4fff : PCI Bus 0000:02
5000-5fff : PCI Bus 0000:03
6000-6fff : PCI Bus 0000:04
[-- Attachment #1.5: udpv6_sendmsg_kconfig.txt --]
[-- Type: text/plain, Size: 76110 bytes --]
#
# Automatically generated file; DO NOT EDIT.
# Linux/x86_64 3.4.2 Kernel Configuration
#
CONFIG_64BIT=y
# CONFIG_X86_32 is not set
CONFIG_X86_64=y
CONFIG_X86=y
CONFIG_INSTRUCTION_DECODER=y
CONFIG_OUTPUT_FORMAT="elf64-x86-64"
CONFIG_ARCH_DEFCONFIG="arch/x86/configs/x86_64_defconfig"
CONFIG_GENERIC_CMOS_UPDATE=y
CONFIG_CLOCKSOURCE_WATCHDOG=y
CONFIG_GENERIC_CLOCKEVENTS=y
CONFIG_ARCH_CLOCKSOURCE_DATA=y
CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y
CONFIG_LOCKDEP_SUPPORT=y
CONFIG_STACKTRACE_SUPPORT=y
CONFIG_HAVE_LATENCYTOP_SUPPORT=y
CONFIG_MMU=y
CONFIG_NEED_DMA_MAP_STATE=y
CONFIG_NEED_SG_DMA_LENGTH=y
CONFIG_GENERIC_ISA_DMA=y
CONFIG_GENERIC_BUG=y
CONFIG_GENERIC_BUG_RELATIVE_POINTERS=y
CONFIG_GENERIC_HWEIGHT=y
CONFIG_ARCH_MAY_HAVE_PC_FDC=y
# CONFIG_RWSEM_GENERIC_SPINLOCK is not set
CONFIG_RWSEM_XCHGADD_ALGORITHM=y
CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y
CONFIG_GENERIC_CALIBRATE_DELAY=y
CONFIG_GENERIC_TIME_VSYSCALL=y
CONFIG_ARCH_HAS_CPU_RELAX=y
CONFIG_ARCH_HAS_DEFAULT_IDLE=y
CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y
CONFIG_ARCH_HAS_CPU_AUTOPROBE=y
CONFIG_HAVE_SETUP_PER_CPU_AREA=y
CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y
CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=y
CONFIG_ARCH_HIBERNATION_POSSIBLE=y
CONFIG_ARCH_SUSPEND_POSSIBLE=y
CONFIG_ZONE_DMA32=y
CONFIG_AUDIT_ARCH=y
CONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING=y
CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
CONFIG_HAVE_INTEL_TXT=y
CONFIG_X86_64_SMP=y
CONFIG_X86_HT=y
CONFIG_ARCH_HWEIGHT_CFLAGS="-fcall-saved-rdi -fcall-saved-rsi -fcall-saved-rdx -fcall-saved-rcx -fcall-saved-r8 -fcall-saved-r9 -fcall-saved-r10 -fcall-saved-r11"
# CONFIG_KTIME_SCALAR is not set
CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
CONFIG_HAVE_IRQ_WORK=y
CONFIG_IRQ_WORK=y
#
# General setup
#
CONFIG_EXPERIMENTAL=y
CONFIG_INIT_ENV_ARG_LIMIT=32
CONFIG_CROSS_COMPILE=""
CONFIG_LOCALVERSION="-fg.mf_master"
CONFIG_LOCALVERSION_AUTO=y
CONFIG_HAVE_KERNEL_GZIP=y
CONFIG_HAVE_KERNEL_BZIP2=y
CONFIG_HAVE_KERNEL_LZMA=y
CONFIG_HAVE_KERNEL_XZ=y
CONFIG_HAVE_KERNEL_LZO=y
# CONFIG_KERNEL_GZIP is not set
# CONFIG_KERNEL_BZIP2 is not set
# CONFIG_KERNEL_LZMA is not set
CONFIG_KERNEL_XZ=y
# CONFIG_KERNEL_LZO is not set
CONFIG_DEFAULT_HOSTNAME="(none)"
CONFIG_SWAP=y
CONFIG_SYSVIPC=y
CONFIG_SYSVIPC_SYSCTL=y
CONFIG_POSIX_MQUEUE=y
CONFIG_POSIX_MQUEUE_SYSCTL=y
CONFIG_BSD_PROCESS_ACCT=y
CONFIG_BSD_PROCESS_ACCT_V3=y
CONFIG_FHANDLE=y
CONFIG_TASKSTATS=y
CONFIG_TASK_DELAY_ACCT=y
CONFIG_TASK_XACCT=y
CONFIG_TASK_IO_ACCOUNTING=y
CONFIG_AUDIT=y
CONFIG_AUDITSYSCALL=y
CONFIG_AUDIT_WATCH=y
CONFIG_AUDIT_TREE=y
CONFIG_AUDIT_LOGINUID_IMMUTABLE=y
CONFIG_HAVE_GENERIC_HARDIRQS=y
#
# IRQ subsystem
#
CONFIG_GENERIC_HARDIRQS=y
CONFIG_GENERIC_IRQ_PROBE=y
CONFIG_GENERIC_IRQ_SHOW=y
CONFIG_GENERIC_PENDING_IRQ=y
CONFIG_IRQ_FORCED_THREADING=y
CONFIG_SPARSE_IRQ=y
#
# RCU Subsystem
#
CONFIG_TREE_RCU=y
# CONFIG_PREEMPT_RCU is not set
CONFIG_RCU_FANOUT=64
# CONFIG_RCU_FANOUT_EXACT is not set
# CONFIG_RCU_FAST_NO_HZ is not set
# CONFIG_TREE_RCU_TRACE is not set
CONFIG_IKCONFIG=y
CONFIG_IKCONFIG_PROC=y
CONFIG_LOG_BUF_SHIFT=18
CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y
CONFIG_CGROUPS=y
# CONFIG_CGROUP_DEBUG is not set
CONFIG_CGROUP_FREEZER=y
CONFIG_CGROUP_DEVICE=y
# CONFIG_CPUSETS is not set
CONFIG_CGROUP_CPUACCT=y
CONFIG_RESOURCE_COUNTERS=y
CONFIG_CGROUP_MEM_RES_CTLR=y
CONFIG_CGROUP_MEM_RES_CTLR_SWAP=y
CONFIG_CGROUP_MEM_RES_CTLR_SWAP_ENABLED=y
# CONFIG_CGROUP_MEM_RES_CTLR_KMEM is not set
# CONFIG_CGROUP_PERF is not set
CONFIG_CGROUP_SCHED=y
CONFIG_FAIR_GROUP_SCHED=y
CONFIG_CFS_BANDWIDTH=y
CONFIG_RT_GROUP_SCHED=y
CONFIG_BLK_CGROUP=y
# CONFIG_DEBUG_BLK_CGROUP is not set
# CONFIG_CHECKPOINT_RESTORE is not set
CONFIG_NAMESPACES=y
CONFIG_UTS_NS=y
CONFIG_IPC_NS=y
CONFIG_USER_NS=y
CONFIG_PID_NS=y
CONFIG_NET_NS=y
# CONFIG_SCHED_AUTOGROUP is not set
CONFIG_MM_OWNER=y
# CONFIG_SYSFS_DEPRECATED is not set
# CONFIG_RELAY is not set
CONFIG_BLK_DEV_INITRD=y
CONFIG_INITRAMFS_SOURCE=""
CONFIG_RD_GZIP=y
CONFIG_RD_BZIP2=y
CONFIG_RD_LZMA=y
CONFIG_RD_XZ=y
CONFIG_RD_LZO=y
CONFIG_CC_OPTIMIZE_FOR_SIZE=y
CONFIG_SYSCTL=y
CONFIG_ANON_INODES=y
# CONFIG_EXPERT is not set
CONFIG_UID16=y
# CONFIG_SYSCTL_SYSCALL is not set
CONFIG_KALLSYMS=y
# CONFIG_KALLSYMS_ALL is not set
CONFIG_HOTPLUG=y
CONFIG_PRINTK=y
CONFIG_BUG=y
CONFIG_ELF_CORE=y
CONFIG_PCSPKR_PLATFORM=y
CONFIG_HAVE_PCSPKR_PLATFORM=y
CONFIG_BASE_FULL=y
CONFIG_FUTEX=y
CONFIG_EPOLL=y
CONFIG_SIGNALFD=y
CONFIG_TIMERFD=y
CONFIG_EVENTFD=y
CONFIG_SHMEM=y
CONFIG_AIO=y
# CONFIG_EMBEDDED is not set
CONFIG_HAVE_PERF_EVENTS=y
#
# Kernel Performance Events And Counters
#
CONFIG_PERF_EVENTS=y
# CONFIG_PERF_COUNTERS is not set
# CONFIG_DEBUG_PERF_USE_VMALLOC is not set
CONFIG_VM_EVENT_COUNTERS=y
CONFIG_PCI_QUIRKS=y
CONFIG_SLUB_DEBUG=y
# CONFIG_COMPAT_BRK is not set
# CONFIG_SLAB is not set
CONFIG_SLUB=y
# CONFIG_PROFILING is not set
CONFIG_HAVE_OPROFILE=y
CONFIG_OPROFILE_NMI_TIMER=y
# CONFIG_KPROBES is not set
CONFIG_JUMP_LABEL=y
CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
CONFIG_HAVE_IOREMAP_PROT=y
CONFIG_HAVE_KPROBES=y
CONFIG_HAVE_KRETPROBES=y
CONFIG_HAVE_OPTPROBES=y
CONFIG_HAVE_ARCH_TRACEHOOK=y
CONFIG_HAVE_DMA_ATTRS=y
CONFIG_USE_GENERIC_SMP_HELPERS=y
CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
CONFIG_HAVE_DMA_API_DEBUG=y
CONFIG_HAVE_HW_BREAKPOINT=y
CONFIG_HAVE_MIXED_BREAKPOINTS_REGS=y
CONFIG_HAVE_USER_RETURN_NOTIFIER=y
CONFIG_HAVE_PERF_EVENTS_NMI=y
CONFIG_HAVE_ARCH_JUMP_LABEL=y
CONFIG_ARCH_HAVE_NMI_SAFE_CMPXCHG=y
CONFIG_HAVE_ALIGNED_STRUCT_PAGE=y
CONFIG_HAVE_CMPXCHG_LOCAL=y
CONFIG_HAVE_CMPXCHG_DOUBLE=y
CONFIG_ARCH_WANT_OLD_COMPAT_IPC=y
#
# GCOV-based kernel profiling
#
# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
CONFIG_SLABINFO=y
CONFIG_RT_MUTEXES=y
CONFIG_BASE_SMALL=0
CONFIG_MODULES=y
CONFIG_MODULE_FORCE_LOAD=y
CONFIG_MODULE_UNLOAD=y
CONFIG_MODULE_FORCE_UNLOAD=y
# CONFIG_MODVERSIONS is not set
# CONFIG_MODULE_SRCVERSION_ALL is not set
CONFIG_STOP_MACHINE=y
CONFIG_BLOCK=y
CONFIG_BLK_DEV_BSG=y
# CONFIG_BLK_DEV_BSGLIB is not set
# CONFIG_BLK_DEV_INTEGRITY is not set
CONFIG_BLK_DEV_THROTTLING=y
#
# Partition Types
#
CONFIG_PARTITION_ADVANCED=y
# CONFIG_ACORN_PARTITION is not set
# CONFIG_OSF_PARTITION is not set
# CONFIG_AMIGA_PARTITION is not set
# CONFIG_ATARI_PARTITION is not set
# CONFIG_MAC_PARTITION is not set
CONFIG_MSDOS_PARTITION=y
CONFIG_BSD_DISKLABEL=y
# CONFIG_MINIX_SUBPARTITION is not set
CONFIG_SOLARIS_X86_PARTITION=y
# CONFIG_UNIXWARE_DISKLABEL is not set
CONFIG_LDM_PARTITION=y
# CONFIG_LDM_DEBUG is not set
# CONFIG_SGI_PARTITION is not set
# CONFIG_ULTRIX_PARTITION is not set
# CONFIG_SUN_PARTITION is not set
# CONFIG_KARMA_PARTITION is not set
CONFIG_EFI_PARTITION=y
# CONFIG_SYSV68_PARTITION is not set
CONFIG_BLOCK_COMPAT=y
#
# IO Schedulers
#
CONFIG_IOSCHED_NOOP=y
# CONFIG_IOSCHED_DEADLINE is not set
CONFIG_IOSCHED_CFQ=y
CONFIG_CFQ_GROUP_IOSCHED=y
CONFIG_DEFAULT_CFQ=y
# CONFIG_DEFAULT_NOOP is not set
CONFIG_DEFAULT_IOSCHED="cfq"
CONFIG_PADATA=y
# CONFIG_INLINE_SPIN_TRYLOCK is not set
# CONFIG_INLINE_SPIN_TRYLOCK_BH is not set
# CONFIG_INLINE_SPIN_LOCK is not set
# CONFIG_INLINE_SPIN_LOCK_BH is not set
# CONFIG_INLINE_SPIN_LOCK_IRQ is not set
# CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set
# CONFIG_INLINE_SPIN_UNLOCK_BH is not set
CONFIG_INLINE_SPIN_UNLOCK_IRQ=y
# CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set
# CONFIG_INLINE_READ_TRYLOCK is not set
# CONFIG_INLINE_READ_LOCK is not set
# CONFIG_INLINE_READ_LOCK_BH is not set
# CONFIG_INLINE_READ_LOCK_IRQ is not set
# CONFIG_INLINE_READ_LOCK_IRQSAVE is not set
CONFIG_INLINE_READ_UNLOCK=y
# CONFIG_INLINE_READ_UNLOCK_BH is not set
CONFIG_INLINE_READ_UNLOCK_IRQ=y
# CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set
# CONFIG_INLINE_WRITE_TRYLOCK is not set
# CONFIG_INLINE_WRITE_LOCK is not set
# CONFIG_INLINE_WRITE_LOCK_BH is not set
# CONFIG_INLINE_WRITE_LOCK_IRQ is not set
# CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set
CONFIG_INLINE_WRITE_UNLOCK=y
# CONFIG_INLINE_WRITE_UNLOCK_BH is not set
CONFIG_INLINE_WRITE_UNLOCK_IRQ=y
# CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set
CONFIG_MUTEX_SPIN_ON_OWNER=y
CONFIG_FREEZER=y
#
# Processor type and features
#
CONFIG_ZONE_DMA=y
CONFIG_TICK_ONESHOT=y
CONFIG_NO_HZ=y
CONFIG_HIGH_RES_TIMERS=y
CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
CONFIG_GENERIC_CLOCKEVENTS_MIN_ADJUST=y
CONFIG_SMP=y
# CONFIG_X86_X2APIC is not set
CONFIG_X86_MPPARSE=y
# CONFIG_X86_EXTENDED_PLATFORM is not set
CONFIG_X86_SUPPORTS_MEMORY_FAILURE=y
CONFIG_SCHED_OMIT_FRAME_POINTER=y
# CONFIG_PARAVIRT_GUEST is not set
CONFIG_NO_BOOTMEM=y
# CONFIG_MEMTEST is not set
# CONFIG_MK8 is not set
# CONFIG_MPSC is not set
# CONFIG_MCORE2 is not set
CONFIG_MATOM=y
# CONFIG_GENERIC_CPU is not set
CONFIG_X86_INTERNODE_CACHE_SHIFT=6
CONFIG_X86_CMPXCHG=y
CONFIG_X86_L1_CACHE_SHIFT=6
CONFIG_X86_XADD=y
CONFIG_X86_WP_WORKS_OK=y
CONFIG_X86_USE_PPRO_CHECKSUM=y
CONFIG_X86_TSC=y
CONFIG_X86_CMPXCHG64=y
CONFIG_X86_CMOV=y
CONFIG_X86_MINIMUM_CPU_FAMILY=64
CONFIG_X86_DEBUGCTLMSR=y
CONFIG_CPU_SUP_INTEL=y
CONFIG_CPU_SUP_AMD=y
CONFIG_CPU_SUP_CENTAUR=y
CONFIG_HPET_TIMER=y
CONFIG_HPET_EMULATE_RTC=y
CONFIG_DMI=y
CONFIG_GART_IOMMU=y
CONFIG_CALGARY_IOMMU=y
CONFIG_CALGARY_IOMMU_ENABLED_BY_DEFAULT=y
CONFIG_SWIOTLB=y
CONFIG_IOMMU_HELPER=y
# CONFIG_MAXSMP is not set
CONFIG_NR_CPUS=8
CONFIG_SCHED_SMT=y
CONFIG_SCHED_MC=y
# CONFIG_IRQ_TIME_ACCOUNTING is not set
CONFIG_PREEMPT_NONE=y
# CONFIG_PREEMPT_VOLUNTARY is not set
# CONFIG_PREEMPT is not set
CONFIG_X86_LOCAL_APIC=y
CONFIG_X86_IO_APIC=y
# CONFIG_X86_REROUTE_FOR_BROKEN_BOOT_IRQS is not set
CONFIG_X86_MCE=y
CONFIG_X86_MCE_INTEL=y
# CONFIG_X86_MCE_AMD is not set
CONFIG_X86_MCE_THRESHOLD=y
# CONFIG_X86_MCE_INJECT is not set
CONFIG_X86_THERMAL_VECTOR=y
# CONFIG_I8K is not set
CONFIG_MICROCODE=y
CONFIG_MICROCODE_INTEL=y
# CONFIG_MICROCODE_AMD is not set
CONFIG_MICROCODE_OLD_INTERFACE=y
CONFIG_X86_MSR=y
CONFIG_X86_CPUID=y
CONFIG_ARCH_PHYS_ADDR_T_64BIT=y
CONFIG_ARCH_DMA_ADDR_T_64BIT=y
CONFIG_DIRECT_GBPAGES=y
# CONFIG_NUMA is not set
CONFIG_ARCH_SPARSEMEM_ENABLE=y
CONFIG_ARCH_SPARSEMEM_DEFAULT=y
CONFIG_ARCH_SELECT_MEMORY_MODEL=y
CONFIG_ARCH_PROC_KCORE_TEXT=y
CONFIG_ILLEGAL_POINTER_VALUE=0xdead000000000000
CONFIG_SELECT_MEMORY_MODEL=y
CONFIG_SPARSEMEM_MANUAL=y
CONFIG_SPARSEMEM=y
CONFIG_HAVE_MEMORY_PRESENT=y
CONFIG_SPARSEMEM_EXTREME=y
CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y
CONFIG_SPARSEMEM_ALLOC_MEM_MAP_TOGETHER=y
CONFIG_SPARSEMEM_VMEMMAP=y
CONFIG_HAVE_MEMBLOCK=y
CONFIG_HAVE_MEMBLOCK_NODE_MAP=y
CONFIG_ARCH_DISCARD_MEMBLOCK=y
# CONFIG_MEMORY_HOTPLUG is not set
CONFIG_PAGEFLAGS_EXTENDED=y
CONFIG_SPLIT_PTLOCK_CPUS=4
CONFIG_COMPACTION=y
CONFIG_MIGRATION=y
CONFIG_PHYS_ADDR_T_64BIT=y
CONFIG_ZONE_DMA_FLAG=1
CONFIG_BOUNCE=y
CONFIG_VIRT_TO_BUS=y
# CONFIG_KSM is not set
CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
CONFIG_ARCH_SUPPORTS_MEMORY_FAILURE=y
CONFIG_MEMORY_FAILURE=y
# CONFIG_HWPOISON_INJECT is not set
CONFIG_TRANSPARENT_HUGEPAGE=y
CONFIG_TRANSPARENT_HUGEPAGE_ALWAYS=y
# CONFIG_TRANSPARENT_HUGEPAGE_MADVISE is not set
CONFIG_CLEANCACHE=y
# CONFIG_X86_CHECK_BIOS_CORRUPTION is not set
CONFIG_X86_RESERVE_LOW=64
CONFIG_MTRR=y
CONFIG_MTRR_SANITIZER=y
CONFIG_MTRR_SANITIZER_ENABLE_DEFAULT=0
CONFIG_MTRR_SANITIZER_SPARE_REG_NR_DEFAULT=1
CONFIG_X86_PAT=y
CONFIG_ARCH_USES_PG_UNCACHED=y
CONFIG_ARCH_RANDOM=y
# CONFIG_EFI is not set
CONFIG_SECCOMP=y
# CONFIG_CC_STACKPROTECTOR is not set
# CONFIG_HZ_100 is not set
# CONFIG_HZ_250 is not set
CONFIG_HZ_300=y
# CONFIG_HZ_1000 is not set
CONFIG_HZ=300
CONFIG_SCHED_HRTICK=y
CONFIG_KEXEC=y
# CONFIG_CRASH_DUMP is not set
CONFIG_PHYSICAL_START=0x1000000
# CONFIG_RELOCATABLE is not set
CONFIG_PHYSICAL_ALIGN=0x1000000
# CONFIG_HOTPLUG_CPU is not set
CONFIG_COMPAT_VDSO=y
# CONFIG_CMDLINE_BOOL is not set
CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
#
# Power management and ACPI options
#
# CONFIG_SUSPEND is not set
# CONFIG_HIBERNATION is not set
# CONFIG_PM_RUNTIME is not set
CONFIG_ACPI=y
# CONFIG_ACPI_PROCFS is not set
# CONFIG_ACPI_PROCFS_POWER is not set
# CONFIG_ACPI_EC_DEBUGFS is not set
# CONFIG_ACPI_PROC_EVENT is not set
# CONFIG_ACPI_AC is not set
# CONFIG_ACPI_BATTERY is not set
CONFIG_ACPI_BUTTON=y
CONFIG_ACPI_FAN=y
CONFIG_ACPI_DOCK=y
CONFIG_ACPI_PROCESSOR=y
# CONFIG_ACPI_PROCESSOR_AGGREGATOR is not set
CONFIG_ACPI_THERMAL=y
# CONFIG_ACPI_CUSTOM_DSDT is not set
CONFIG_ACPI_BLACKLIST_YEAR=0
# CONFIG_ACPI_DEBUG is not set
# CONFIG_ACPI_PCI_SLOT is not set
CONFIG_X86_PM_TIMER=y
# CONFIG_ACPI_CONTAINER is not set
# CONFIG_ACPI_SBS is not set
# CONFIG_ACPI_HED is not set
# CONFIG_ACPI_BGRT is not set
# CONFIG_ACPI_APEI is not set
# CONFIG_SFI is not set
#
# CPU Frequency scaling
#
# CONFIG_CPU_FREQ is not set
CONFIG_CPU_IDLE=y
CONFIG_CPU_IDLE_GOV_LADDER=y
CONFIG_CPU_IDLE_GOV_MENU=y
CONFIG_INTEL_IDLE=y
#
# Memory power savings
#
# CONFIG_I7300_IDLE is not set
#
# Bus options (PCI etc.)
#
CONFIG_PCI=y
CONFIG_PCI_DIRECT=y
CONFIG_PCI_MMCONFIG=y
CONFIG_PCI_DOMAINS=y
# CONFIG_PCI_CNB20LE_QUIRK is not set
CONFIG_PCIEPORTBUS=y
CONFIG_PCIEAER=y
# CONFIG_PCIE_ECRC is not set
# CONFIG_PCIEAER_INJECT is not set
CONFIG_PCIEASPM=y
# CONFIG_PCIEASPM_DEBUG is not set
CONFIG_PCIEASPM_DEFAULT=y
# CONFIG_PCIEASPM_POWERSAVE is not set
# CONFIG_PCIEASPM_PERFORMANCE is not set
CONFIG_ARCH_SUPPORTS_MSI=y
CONFIG_PCI_MSI=y
# CONFIG_PCI_DEBUG is not set
# CONFIG_PCI_REALLOC_ENABLE_AUTO is not set
# CONFIG_PCI_STUB is not set
CONFIG_HT_IRQ=y
# CONFIG_PCI_IOV is not set
# CONFIG_PCI_PRI is not set
# CONFIG_PCI_PASID is not set
CONFIG_PCI_IOAPIC=y
CONFIG_PCI_LABEL=y
CONFIG_ISA_DMA_API=y
CONFIG_AMD_NB=y
# CONFIG_PCCARD is not set
# CONFIG_HOTPLUG_PCI is not set
# CONFIG_RAPIDIO is not set
#
# Executable file formats / Emulations
#
CONFIG_BINFMT_ELF=y
CONFIG_COMPAT_BINFMT_ELF=y
CONFIG_ARCH_BINFMT_ELF_RANDOMIZE_PIE=y
# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
# CONFIG_HAVE_AOUT is not set
# CONFIG_BINFMT_MISC is not set
CONFIG_IA32_EMULATION=y
CONFIG_IA32_AOUT=m
CONFIG_X86_X32=y
CONFIG_COMPAT=y
CONFIG_COMPAT_FOR_U64_ALIGNMENT=y
CONFIG_SYSVIPC_COMPAT=y
CONFIG_KEYS_COMPAT=y
CONFIG_HAVE_TEXT_POKE_SMP=y
CONFIG_NET=y
#
# Networking options
#
CONFIG_PACKET=y
CONFIG_UNIX=y
CONFIG_UNIX_DIAG=m
CONFIG_XFRM=y
CONFIG_XFRM_USER=y
# CONFIG_XFRM_SUB_POLICY is not set
CONFIG_XFRM_MIGRATE=y
# CONFIG_XFRM_STATISTICS is not set
CONFIG_XFRM_IPCOMP=m
CONFIG_NET_KEY=y
CONFIG_NET_KEY_MIGRATE=y
CONFIG_INET=y
CONFIG_IP_MULTICAST=y
CONFIG_IP_ADVANCED_ROUTER=y
# CONFIG_IP_FIB_TRIE_STATS is not set
CONFIG_IP_MULTIPLE_TABLES=y
CONFIG_IP_ROUTE_MULTIPATH=y
CONFIG_IP_ROUTE_VERBOSE=y
CONFIG_IP_ROUTE_CLASSID=y
# CONFIG_IP_PNP is not set
CONFIG_NET_IPIP=m
CONFIG_NET_IPGRE_DEMUX=m
CONFIG_NET_IPGRE=m
CONFIG_NET_IPGRE_BROADCAST=y
CONFIG_IP_MROUTE=y
CONFIG_IP_MROUTE_MULTIPLE_TABLES=y
CONFIG_IP_PIMSM_V1=y
CONFIG_IP_PIMSM_V2=y
CONFIG_ARPD=y
CONFIG_SYN_COOKIES=y
CONFIG_INET_AH=m
CONFIG_INET_ESP=m
CONFIG_INET_IPCOMP=m
CONFIG_INET_XFRM_TUNNEL=m
CONFIG_INET_TUNNEL=m
CONFIG_INET_XFRM_MODE_TRANSPORT=m
CONFIG_INET_XFRM_MODE_TUNNEL=m
CONFIG_INET_XFRM_MODE_BEET=m
CONFIG_INET_LRO=y
CONFIG_INET_DIAG=y
CONFIG_INET_TCP_DIAG=y
CONFIG_INET_UDP_DIAG=m
CONFIG_TCP_CONG_ADVANCED=y
CONFIG_TCP_CONG_BIC=m
CONFIG_TCP_CONG_CUBIC=y
CONFIG_TCP_CONG_WESTWOOD=m
CONFIG_TCP_CONG_HTCP=m
CONFIG_TCP_CONG_HSTCP=m
CONFIG_TCP_CONG_HYBLA=m
CONFIG_TCP_CONG_VEGAS=m
CONFIG_TCP_CONG_SCALABLE=m
CONFIG_TCP_CONG_LP=m
CONFIG_TCP_CONG_VENO=m
CONFIG_TCP_CONG_YEAH=m
CONFIG_TCP_CONG_ILLINOIS=m
CONFIG_DEFAULT_CUBIC=y
# CONFIG_DEFAULT_RENO is not set
CONFIG_DEFAULT_TCP_CONG="cubic"
CONFIG_TCP_MD5SIG=y
CONFIG_IPV6=y
CONFIG_IPV6_PRIVACY=y
CONFIG_IPV6_ROUTER_PREF=y
CONFIG_IPV6_ROUTE_INFO=y
CONFIG_IPV6_OPTIMISTIC_DAD=y
CONFIG_INET6_AH=m
CONFIG_INET6_ESP=m
CONFIG_INET6_IPCOMP=m
CONFIG_IPV6_MIP6=m
CONFIG_INET6_XFRM_TUNNEL=m
CONFIG_INET6_TUNNEL=m
CONFIG_INET6_XFRM_MODE_TRANSPORT=m
CONFIG_INET6_XFRM_MODE_TUNNEL=m
CONFIG_INET6_XFRM_MODE_BEET=m
CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m
CONFIG_IPV6_SIT=m
CONFIG_IPV6_SIT_6RD=y
CONFIG_IPV6_NDISC_NODETYPE=y
CONFIG_IPV6_TUNNEL=m
CONFIG_IPV6_MULTIPLE_TABLES=y
CONFIG_IPV6_SUBTREES=y
CONFIG_IPV6_MROUTE=y
CONFIG_IPV6_MROUTE_MULTIPLE_TABLES=y
CONFIG_IPV6_PIMSM_V2=y
# CONFIG_NETLABEL is not set
CONFIG_NETWORK_SECMARK=y
# CONFIG_NETWORK_PHY_TIMESTAMPING is not set
CONFIG_NETFILTER=y
# CONFIG_NETFILTER_DEBUG is not set
CONFIG_NETFILTER_ADVANCED=y
CONFIG_BRIDGE_NETFILTER=y
#
# Core Netfilter Configuration
#
CONFIG_NETFILTER_NETLINK=m
CONFIG_NETFILTER_NETLINK_ACCT=m
CONFIG_NETFILTER_NETLINK_QUEUE=m
CONFIG_NETFILTER_NETLINK_LOG=m
CONFIG_NF_CONNTRACK=y
CONFIG_NF_CONNTRACK_MARK=y
CONFIG_NF_CONNTRACK_SECMARK=y
CONFIG_NF_CONNTRACK_ZONES=y
CONFIG_NF_CONNTRACK_PROCFS=y
CONFIG_NF_CONNTRACK_EVENTS=y
CONFIG_NF_CONNTRACK_TIMEOUT=y
CONFIG_NF_CONNTRACK_TIMESTAMP=y
CONFIG_NF_CT_PROTO_DCCP=m
CONFIG_NF_CT_PROTO_GRE=m
CONFIG_NF_CT_PROTO_SCTP=m
CONFIG_NF_CT_PROTO_UDPLITE=m
CONFIG_NF_CONNTRACK_AMANDA=m
CONFIG_NF_CONNTRACK_FTP=m
CONFIG_NF_CONNTRACK_H323=m
CONFIG_NF_CONNTRACK_IRC=m
CONFIG_NF_CONNTRACK_BROADCAST=m
CONFIG_NF_CONNTRACK_NETBIOS_NS=m
CONFIG_NF_CONNTRACK_SNMP=m
CONFIG_NF_CONNTRACK_PPTP=m
CONFIG_NF_CONNTRACK_SANE=m
CONFIG_NF_CONNTRACK_SIP=m
CONFIG_NF_CONNTRACK_TFTP=m
CONFIG_NF_CT_NETLINK=m
CONFIG_NF_CT_NETLINK_TIMEOUT=m
CONFIG_NETFILTER_TPROXY=m
CONFIG_NETFILTER_XTABLES=y
#
# Xtables combined modules
#
CONFIG_NETFILTER_XT_MARK=m
CONFIG_NETFILTER_XT_CONNMARK=m
CONFIG_NETFILTER_XT_SET=m
#
# Xtables targets
#
CONFIG_NETFILTER_XT_TARGET_AUDIT=m
CONFIG_NETFILTER_XT_TARGET_CHECKSUM=m
CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
CONFIG_NETFILTER_XT_TARGET_CONNMARK=m
CONFIG_NETFILTER_XT_TARGET_CONNSECMARK=m
CONFIG_NETFILTER_XT_TARGET_CT=m
CONFIG_NETFILTER_XT_TARGET_DSCP=m
CONFIG_NETFILTER_XT_TARGET_HL=m
CONFIG_NETFILTER_XT_TARGET_IDLETIMER=m
CONFIG_NETFILTER_XT_TARGET_LOG=m
CONFIG_NETFILTER_XT_TARGET_MARK=m
CONFIG_NETFILTER_XT_TARGET_NFLOG=m
CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
CONFIG_NETFILTER_XT_TARGET_NOTRACK=y
CONFIG_NETFILTER_XT_TARGET_RATEEST=m
CONFIG_NETFILTER_XT_TARGET_TEE=m
CONFIG_NETFILTER_XT_TARGET_TPROXY=m
CONFIG_NETFILTER_XT_TARGET_TRACE=m
CONFIG_NETFILTER_XT_TARGET_SECMARK=m
CONFIG_NETFILTER_XT_TARGET_TCPMSS=m
CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m
#
# Xtables matches
#
CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=m
CONFIG_NETFILTER_XT_MATCH_CLUSTER=m
CONFIG_NETFILTER_XT_MATCH_COMMENT=m
CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m
CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m
CONFIG_NETFILTER_XT_MATCH_CONNMARK=m
CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
CONFIG_NETFILTER_XT_MATCH_CPU=m
CONFIG_NETFILTER_XT_MATCH_DCCP=m
CONFIG_NETFILTER_XT_MATCH_DEVGROUP=m
CONFIG_NETFILTER_XT_MATCH_DSCP=m
CONFIG_NETFILTER_XT_MATCH_ECN=m
CONFIG_NETFILTER_XT_MATCH_ESP=m
CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m
CONFIG_NETFILTER_XT_MATCH_HELPER=m
CONFIG_NETFILTER_XT_MATCH_HL=m
CONFIG_NETFILTER_XT_MATCH_IPRANGE=y
CONFIG_NETFILTER_XT_MATCH_LENGTH=m
CONFIG_NETFILTER_XT_MATCH_LIMIT=y
CONFIG_NETFILTER_XT_MATCH_MAC=y
CONFIG_NETFILTER_XT_MATCH_MARK=m
CONFIG_NETFILTER_XT_MATCH_MULTIPORT=y
CONFIG_NETFILTER_XT_MATCH_NFACCT=m
CONFIG_NETFILTER_XT_MATCH_OSF=m
CONFIG_NETFILTER_XT_MATCH_OWNER=y
CONFIG_NETFILTER_XT_MATCH_POLICY=m
CONFIG_NETFILTER_XT_MATCH_PHYSDEV=m
CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
CONFIG_NETFILTER_XT_MATCH_QUOTA=m
CONFIG_NETFILTER_XT_MATCH_RATEEST=m
CONFIG_NETFILTER_XT_MATCH_REALM=m
CONFIG_NETFILTER_XT_MATCH_RECENT=m
CONFIG_NETFILTER_XT_MATCH_SCTP=m
CONFIG_NETFILTER_XT_MATCH_SOCKET=m
CONFIG_NETFILTER_XT_MATCH_STATE=y
CONFIG_NETFILTER_XT_MATCH_STATISTIC=m
CONFIG_NETFILTER_XT_MATCH_STRING=m
CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
CONFIG_NETFILTER_XT_MATCH_TIME=m
CONFIG_NETFILTER_XT_MATCH_U32=m
CONFIG_IP_SET=m
CONFIG_IP_SET_MAX=256
CONFIG_IP_SET_BITMAP_IP=m
CONFIG_IP_SET_BITMAP_IPMAC=m
CONFIG_IP_SET_BITMAP_PORT=m
CONFIG_IP_SET_HASH_IP=m
CONFIG_IP_SET_HASH_IPPORT=m
CONFIG_IP_SET_HASH_IPPORTIP=m
CONFIG_IP_SET_HASH_IPPORTNET=m
CONFIG_IP_SET_HASH_NET=m
CONFIG_IP_SET_HASH_NETPORT=m
CONFIG_IP_SET_HASH_NETIFACE=m
CONFIG_IP_SET_LIST_SET=m
# CONFIG_IP_VS is not set
#
# IP: Netfilter Configuration
#
CONFIG_NF_DEFRAG_IPV4=y
CONFIG_NF_CONNTRACK_IPV4=y
CONFIG_NF_CONNTRACK_PROC_COMPAT=y
# CONFIG_IP_NF_QUEUE is not set
CONFIG_IP_NF_IPTABLES=y
CONFIG_IP_NF_MATCH_AH=m
CONFIG_IP_NF_MATCH_ECN=m
CONFIG_IP_NF_MATCH_RPFILTER=m
CONFIG_IP_NF_MATCH_TTL=m
CONFIG_IP_NF_FILTER=y
CONFIG_IP_NF_TARGET_REJECT=y
CONFIG_IP_NF_TARGET_ULOG=y
CONFIG_NF_NAT=y
CONFIG_NF_NAT_NEEDED=y
CONFIG_IP_NF_TARGET_MASQUERADE=y
CONFIG_IP_NF_TARGET_NETMAP=m
CONFIG_IP_NF_TARGET_REDIRECT=m
CONFIG_NF_NAT_SNMP_BASIC=m
CONFIG_NF_NAT_PROTO_DCCP=m
CONFIG_NF_NAT_PROTO_GRE=m
CONFIG_NF_NAT_PROTO_UDPLITE=m
CONFIG_NF_NAT_PROTO_SCTP=m
CONFIG_NF_NAT_FTP=m
CONFIG_NF_NAT_IRC=m
CONFIG_NF_NAT_TFTP=m
CONFIG_NF_NAT_AMANDA=m
CONFIG_NF_NAT_PPTP=m
CONFIG_NF_NAT_H323=m
CONFIG_NF_NAT_SIP=m
CONFIG_IP_NF_MANGLE=m
CONFIG_IP_NF_TARGET_CLUSTERIP=m
CONFIG_IP_NF_TARGET_ECN=m
CONFIG_IP_NF_TARGET_TTL=m
CONFIG_IP_NF_RAW=y
CONFIG_IP_NF_SECURITY=m
CONFIG_IP_NF_ARPTABLES=m
CONFIG_IP_NF_ARPFILTER=m
CONFIG_IP_NF_ARP_MANGLE=m
#
# IPv6: Netfilter Configuration
#
CONFIG_NF_DEFRAG_IPV6=y
CONFIG_NF_CONNTRACK_IPV6=y
# CONFIG_IP6_NF_QUEUE is not set
CONFIG_IP6_NF_IPTABLES=y
CONFIG_IP6_NF_MATCH_AH=m
CONFIG_IP6_NF_MATCH_EUI64=m
CONFIG_IP6_NF_MATCH_FRAG=m
CONFIG_IP6_NF_MATCH_OPTS=m
CONFIG_IP6_NF_MATCH_HL=m
CONFIG_IP6_NF_MATCH_IPV6HEADER=m
CONFIG_IP6_NF_MATCH_MH=m
CONFIG_IP6_NF_MATCH_RPFILTER=m
CONFIG_IP6_NF_MATCH_RT=m
CONFIG_IP6_NF_TARGET_HL=m
CONFIG_IP6_NF_FILTER=y
CONFIG_IP6_NF_TARGET_REJECT=y
CONFIG_IP6_NF_MANGLE=m
CONFIG_IP6_NF_RAW=y
CONFIG_IP6_NF_SECURITY=m
CONFIG_BRIDGE_NF_EBTABLES=m
CONFIG_BRIDGE_EBT_BROUTE=m
CONFIG_BRIDGE_EBT_T_FILTER=m
CONFIG_BRIDGE_EBT_T_NAT=m
CONFIG_BRIDGE_EBT_802_3=m
CONFIG_BRIDGE_EBT_AMONG=m
CONFIG_BRIDGE_EBT_ARP=m
CONFIG_BRIDGE_EBT_IP=m
CONFIG_BRIDGE_EBT_IP6=m
CONFIG_BRIDGE_EBT_LIMIT=m
CONFIG_BRIDGE_EBT_MARK=m
CONFIG_BRIDGE_EBT_PKTTYPE=m
CONFIG_BRIDGE_EBT_STP=m
CONFIG_BRIDGE_EBT_VLAN=m
CONFIG_BRIDGE_EBT_ARPREPLY=m
CONFIG_BRIDGE_EBT_DNAT=m
CONFIG_BRIDGE_EBT_MARK_T=m
CONFIG_BRIDGE_EBT_REDIRECT=m
CONFIG_BRIDGE_EBT_SNAT=m
CONFIG_BRIDGE_EBT_LOG=m
CONFIG_BRIDGE_EBT_ULOG=m
CONFIG_BRIDGE_EBT_NFLOG=m
# CONFIG_IP_DCCP is not set
CONFIG_IP_SCTP=m
# CONFIG_SCTP_DBG_MSG is not set
# CONFIG_SCTP_DBG_OBJCNT is not set
# CONFIG_SCTP_HMAC_NONE is not set
CONFIG_SCTP_HMAC_SHA1=y
# CONFIG_SCTP_HMAC_MD5 is not set
# CONFIG_RDS is not set
# CONFIG_TIPC is not set
# CONFIG_ATM is not set
# CONFIG_L2TP is not set
CONFIG_STP=y
CONFIG_BRIDGE=y
CONFIG_BRIDGE_IGMP_SNOOPING=y
# CONFIG_NET_DSA is not set
CONFIG_VLAN_8021Q=m
# CONFIG_VLAN_8021Q_GVRP is not set
# CONFIG_DECNET is not set
CONFIG_LLC=y
# CONFIG_LLC2 is not set
# CONFIG_IPX is not set
# CONFIG_ATALK is not set
# CONFIG_X25 is not set
# CONFIG_LAPB is not set
# CONFIG_ECONET is not set
# CONFIG_WAN_ROUTER is not set
# CONFIG_PHONET is not set
# CONFIG_IEEE802154 is not set
CONFIG_NET_SCHED=y
#
# Queueing/Scheduling
#
CONFIG_NET_SCH_CBQ=m
CONFIG_NET_SCH_HTB=m
CONFIG_NET_SCH_HFSC=m
CONFIG_NET_SCH_PRIO=m
CONFIG_NET_SCH_MULTIQ=m
CONFIG_NET_SCH_RED=m
CONFIG_NET_SCH_SFB=m
CONFIG_NET_SCH_SFQ=m
CONFIG_NET_SCH_TEQL=m
CONFIG_NET_SCH_TBF=m
CONFIG_NET_SCH_GRED=m
CONFIG_NET_SCH_DSMARK=m
CONFIG_NET_SCH_NETEM=m
CONFIG_NET_SCH_DRR=m
CONFIG_NET_SCH_MQPRIO=m
CONFIG_NET_SCH_CHOKE=m
CONFIG_NET_SCH_QFQ=m
CONFIG_NET_SCH_INGRESS=m
CONFIG_NET_SCH_PLUG=m
#
# Classification
#
CONFIG_NET_CLS=y
CONFIG_NET_CLS_BASIC=m
CONFIG_NET_CLS_TCINDEX=m
CONFIG_NET_CLS_ROUTE4=m
CONFIG_NET_CLS_FW=m
CONFIG_NET_CLS_U32=m
CONFIG_CLS_U32_PERF=y
CONFIG_CLS_U32_MARK=y
CONFIG_NET_CLS_RSVP=m
CONFIG_NET_CLS_RSVP6=m
CONFIG_NET_CLS_FLOW=m
CONFIG_NET_CLS_CGROUP=m
CONFIG_NET_EMATCH=y
CONFIG_NET_EMATCH_STACK=32
CONFIG_NET_EMATCH_CMP=m
CONFIG_NET_EMATCH_NBYTE=m
CONFIG_NET_EMATCH_U32=m
CONFIG_NET_EMATCH_META=m
CONFIG_NET_EMATCH_TEXT=m
CONFIG_NET_CLS_ACT=y
CONFIG_NET_ACT_POLICE=m
CONFIG_NET_ACT_GACT=m
CONFIG_GACT_PROB=y
CONFIG_NET_ACT_MIRRED=m
CONFIG_NET_ACT_IPT=m
CONFIG_NET_ACT_NAT=m
CONFIG_NET_ACT_PEDIT=m
CONFIG_NET_ACT_SIMP=m
CONFIG_NET_ACT_SKBEDIT=m
CONFIG_NET_ACT_CSUM=m
CONFIG_NET_CLS_IND=y
CONFIG_NET_SCH_FIFO=y
# CONFIG_DCB is not set
CONFIG_DNS_RESOLVER=y
CONFIG_BATMAN_ADV=m
# CONFIG_BATMAN_ADV_DEBUG is not set
# CONFIG_OPENVSWITCH is not set
CONFIG_RPS=y
CONFIG_RFS_ACCEL=y
CONFIG_XPS=y
CONFIG_NETPRIO_CGROUP=m
CONFIG_BQL=y
CONFIG_HAVE_BPF_JIT=y
CONFIG_BPF_JIT=y
#
# Network testing
#
# CONFIG_NET_PKTGEN is not set
# CONFIG_HAMRADIO is not set
# CONFIG_CAN is not set
# CONFIG_IRDA is not set
CONFIG_BT=m
CONFIG_BT_RFCOMM=m
CONFIG_BT_RFCOMM_TTY=y
CONFIG_BT_BNEP=m
CONFIG_BT_BNEP_MC_FILTER=y
CONFIG_BT_BNEP_PROTO_FILTER=y
CONFIG_BT_HIDP=m
#
# Bluetooth device drivers
#
CONFIG_BT_HCIBTUSB=m
# CONFIG_BT_HCIUART is not set
# CONFIG_BT_HCIBCM203X is not set
# CONFIG_BT_HCIBPA10X is not set
# CONFIG_BT_HCIBFUSB is not set
CONFIG_BT_HCIVHCI=m
# CONFIG_BT_MRVL is not set
# CONFIG_BT_ATH3K is not set
CONFIG_AF_RXRPC=m
# CONFIG_AF_RXRPC_DEBUG is not set
# CONFIG_RXKAD is not set
CONFIG_FIB_RULES=y
# CONFIG_WIRELESS is not set
# CONFIG_WIMAX is not set
CONFIG_RFKILL=m
CONFIG_RFKILL_INPUT=y
CONFIG_NET_9P=m
# CONFIG_NET_9P_DEBUG is not set
# CONFIG_CAIF is not set
CONFIG_CEPH_LIB=m
# CONFIG_CEPH_LIB_PRETTYDEBUG is not set
# CONFIG_CEPH_LIB_USE_DNS_RESOLVER is not set
# CONFIG_NFC is not set
#
# Device Drivers
#
#
# Generic Driver Options
#
CONFIG_UEVENT_HELPER_PATH=""
CONFIG_DEVTMPFS=y
# CONFIG_DEVTMPFS_MOUNT is not set
CONFIG_STANDALONE=y
CONFIG_PREVENT_FIRMWARE_BUILD=y
CONFIG_FW_LOADER=y
CONFIG_FIRMWARE_IN_KERNEL=y
CONFIG_EXTRA_FIRMWARE=""
# CONFIG_DEBUG_DRIVER is not set
# CONFIG_DEBUG_DEVRES is not set
# CONFIG_SYS_HYPERVISOR is not set
# CONFIG_GENERIC_CPU_DEVICES is not set
# CONFIG_DMA_SHARED_BUFFER is not set
CONFIG_CONNECTOR=y
CONFIG_PROC_EVENTS=y
# CONFIG_MTD is not set
CONFIG_PARPORT=m
CONFIG_PARPORT_PC=m
CONFIG_PARPORT_PC_FIFO=y
CONFIG_PARPORT_PC_SUPERIO=y
# CONFIG_PARPORT_GSC is not set
# CONFIG_PARPORT_AX88796 is not set
CONFIG_PARPORT_1284=y
CONFIG_PNP=y
CONFIG_PNP_DEBUG_MESSAGES=y
#
# Protocols
#
CONFIG_PNPACPI=y
CONFIG_BLK_DEV=y
# CONFIG_BLK_DEV_FD is not set
# CONFIG_PARIDE is not set
# CONFIG_BLK_DEV_PCIESSD_MTIP32XX is not set
# CONFIG_BLK_CPQ_DA is not set
# CONFIG_BLK_CPQ_CISS_DA is not set
# CONFIG_BLK_DEV_DAC960 is not set
# CONFIG_BLK_DEV_UMEM is not set
# CONFIG_BLK_DEV_COW_COMMON is not set
CONFIG_BLK_DEV_LOOP=y
CONFIG_BLK_DEV_LOOP_MIN_COUNT=8
CONFIG_BLK_DEV_CRYPTOLOOP=m
CONFIG_BLK_DEV_DRBD=m
# CONFIG_DRBD_FAULT_INJECTION is not set
CONFIG_BLK_DEV_NBD=m
# CONFIG_BLK_DEV_NVME is not set
# CONFIG_BLK_DEV_SX8 is not set
# CONFIG_BLK_DEV_UB is not set
CONFIG_BLK_DEV_RAM=y
CONFIG_BLK_DEV_RAM_COUNT=16
CONFIG_BLK_DEV_RAM_SIZE=8192
CONFIG_BLK_DEV_XIP=y
# CONFIG_CDROM_PKTCDVD is not set
CONFIG_ATA_OVER_ETH=m
# CONFIG_BLK_DEV_HD is not set
CONFIG_BLK_DEV_RBD=m
#
# Misc devices
#
# CONFIG_SENSORS_LIS3LV02D is not set
# CONFIG_AD525X_DPOT is not set
# CONFIG_IBM_ASM is not set
# CONFIG_PHANTOM is not set
# CONFIG_INTEL_MID_PTI is not set
# CONFIG_SGI_IOC4 is not set
# CONFIG_TIFM_CORE is not set
# CONFIG_ICS932S401 is not set
# CONFIG_ENCLOSURE_SERVICES is not set
# CONFIG_HP_ILO is not set
# CONFIG_APDS9802ALS is not set
# CONFIG_ISL29003 is not set
# CONFIG_ISL29020 is not set
# CONFIG_SENSORS_TSL2550 is not set
# CONFIG_SENSORS_BH1780 is not set
# CONFIG_SENSORS_BH1770 is not set
# CONFIG_SENSORS_APDS990X is not set
# CONFIG_HMC6352 is not set
# CONFIG_DS1682 is not set
# CONFIG_VMWARE_BALLOON is not set
# CONFIG_BMP085 is not set
# CONFIG_PCH_PHUB is not set
# CONFIG_USB_SWITCH_FSA9480 is not set
# CONFIG_C2PORT is not set
#
# EEPROM support
#
# CONFIG_EEPROM_AT24 is not set
# CONFIG_EEPROM_LEGACY is not set
# CONFIG_EEPROM_MAX6875 is not set
# CONFIG_EEPROM_93CX6 is not set
# CONFIG_CB710_CORE is not set
#
# Texas Instruments shared transport line discipline
#
# CONFIG_SENSORS_LIS3_I2C is not set
#
# Altera FPGA firmware download module
#
# CONFIG_ALTERA_STAPL is not set
CONFIG_HAVE_IDE=y
# CONFIG_IDE is not set
#
# SCSI device support
#
CONFIG_SCSI_MOD=y
# CONFIG_RAID_ATTRS is not set
CONFIG_SCSI=y
CONFIG_SCSI_DMA=y
CONFIG_SCSI_TGT=m
# CONFIG_SCSI_NETLINK is not set
# CONFIG_SCSI_PROC_FS is not set
#
# SCSI support type (disk, tape, CD-ROM)
#
CONFIG_BLK_DEV_SD=y
# CONFIG_CHR_DEV_ST is not set
# CONFIG_CHR_DEV_OSST is not set
CONFIG_BLK_DEV_SR=m
CONFIG_BLK_DEV_SR_VENDOR=y
# CONFIG_CHR_DEV_SG is not set
# CONFIG_CHR_DEV_SCH is not set
# CONFIG_SCSI_MULTI_LUN is not set
# CONFIG_SCSI_CONSTANTS is not set
# CONFIG_SCSI_LOGGING is not set
CONFIG_SCSI_SCAN_ASYNC=y
CONFIG_SCSI_WAIT_SCAN=m
#
# SCSI Transports
#
# CONFIG_SCSI_SPI_ATTRS is not set
# CONFIG_SCSI_FC_ATTRS is not set
# CONFIG_SCSI_ISCSI_ATTRS is not set
# CONFIG_SCSI_SAS_ATTRS is not set
# CONFIG_SCSI_SAS_LIBSAS is not set
# CONFIG_SCSI_SRP_ATTRS is not set
# CONFIG_SCSI_LOWLEVEL is not set
# CONFIG_SCSI_DH is not set
# CONFIG_SCSI_OSD_INITIATOR is not set
CONFIG_ATA=y
# CONFIG_ATA_NONSTANDARD is not set
CONFIG_ATA_VERBOSE_ERROR=y
CONFIG_ATA_ACPI=y
CONFIG_SATA_PMP=y
#
# Controllers with non-SFF native interface
#
CONFIG_SATA_AHCI=y
# CONFIG_SATA_AHCI_PLATFORM is not set
# CONFIG_SATA_INIC162X is not set
# CONFIG_SATA_ACARD_AHCI is not set
# CONFIG_SATA_SIL24 is not set
CONFIG_ATA_SFF=y
#
# SFF controllers with custom DMA interface
#
# CONFIG_PDC_ADMA is not set
# CONFIG_SATA_QSTOR is not set
# CONFIG_SATA_SX4 is not set
CONFIG_ATA_BMDMA=y
#
# SATA SFF controllers with BMDMA
#
CONFIG_ATA_PIIX=y
# CONFIG_SATA_MV is not set
# CONFIG_SATA_NV is not set
# CONFIG_SATA_PROMISE is not set
# CONFIG_SATA_SIL is not set
# CONFIG_SATA_SIS is not set
# CONFIG_SATA_SVW is not set
# CONFIG_SATA_ULI is not set
# CONFIG_SATA_VIA is not set
# CONFIG_SATA_VITESSE is not set
#
# PATA SFF controllers with BMDMA
#
# CONFIG_PATA_ALI is not set
# CONFIG_PATA_AMD is not set
# CONFIG_PATA_ARTOP is not set
# CONFIG_PATA_ATIIXP is not set
# CONFIG_PATA_ATP867X is not set
# CONFIG_PATA_CMD64X is not set
# CONFIG_PATA_CS5520 is not set
# CONFIG_PATA_CS5530 is not set
# CONFIG_PATA_CS5536 is not set
# CONFIG_PATA_CYPRESS is not set
# CONFIG_PATA_EFAR is not set
# CONFIG_PATA_HPT366 is not set
# CONFIG_PATA_HPT37X is not set
# CONFIG_PATA_HPT3X2N is not set
# CONFIG_PATA_HPT3X3 is not set
# CONFIG_PATA_IT8213 is not set
# CONFIG_PATA_IT821X is not set
CONFIG_PATA_JMICRON=m
# CONFIG_PATA_MARVELL is not set
# CONFIG_PATA_NETCELL is not set
# CONFIG_PATA_NINJA32 is not set
# CONFIG_PATA_NS87415 is not set
# CONFIG_PATA_OLDPIIX is not set
# CONFIG_PATA_OPTIDMA is not set
# CONFIG_PATA_PDC2027X is not set
# CONFIG_PATA_PDC_OLD is not set
# CONFIG_PATA_RADISYS is not set
# CONFIG_PATA_RDC is not set
# CONFIG_PATA_SC1200 is not set
# CONFIG_PATA_SCH is not set
# CONFIG_PATA_SERVERWORKS is not set
# CONFIG_PATA_SIL680 is not set
# CONFIG_PATA_SIS is not set
# CONFIG_PATA_TOSHIBA is not set
# CONFIG_PATA_TRIFLEX is not set
# CONFIG_PATA_VIA is not set
# CONFIG_PATA_WINBOND is not set
#
# PIO-only SFF controllers
#
# CONFIG_PATA_CMD640_PCI is not set
# CONFIG_PATA_MPIIX is not set
# CONFIG_PATA_NS87410 is not set
# CONFIG_PATA_OPTI is not set
# CONFIG_PATA_RZ1000 is not set
#
# Generic fallback / legacy drivers
#
# CONFIG_PATA_ACPI is not set
# CONFIG_ATA_GENERIC is not set
# CONFIG_PATA_LEGACY is not set
CONFIG_MD=y
CONFIG_BLK_DEV_MD=y
CONFIG_MD_AUTODETECT=y
# CONFIG_MD_LINEAR is not set
# CONFIG_MD_RAID0 is not set
CONFIG_MD_RAID1=y
# CONFIG_MD_RAID10 is not set
CONFIG_MD_RAID456=y
CONFIG_MULTICORE_RAID456=y
# CONFIG_MD_MULTIPATH is not set
# CONFIG_MD_FAULTY is not set
CONFIG_BLK_DEV_DM=y
# CONFIG_DM_DEBUG is not set
CONFIG_DM_BUFIO=y
CONFIG_DM_PERSISTENT_DATA=y
CONFIG_DM_CRYPT=y
CONFIG_DM_SNAPSHOT=y
CONFIG_DM_THIN_PROVISIONING=y
# CONFIG_DM_DEBUG_BLOCK_STACK_TRACING is not set
# CONFIG_DM_DEBUG_SPACE_MAPS is not set
CONFIG_DM_MIRROR=y
# CONFIG_DM_RAID is not set
# CONFIG_DM_LOG_USERSPACE is not set
# CONFIG_DM_ZERO is not set
# CONFIG_DM_MULTIPATH is not set
# CONFIG_DM_DELAY is not set
CONFIG_DM_UEVENT=y
# CONFIG_DM_FLAKEY is not set
# CONFIG_DM_VERITY is not set
# CONFIG_TARGET_CORE is not set
# CONFIG_FUSION is not set
#
# IEEE 1394 (FireWire) support
#
# CONFIG_FIREWIRE is not set
# CONFIG_FIREWIRE_NOSY is not set
# CONFIG_I2O is not set
# CONFIG_MACINTOSH_DRIVERS is not set
CONFIG_NETDEVICES=y
CONFIG_NET_CORE=y
CONFIG_BONDING=m
CONFIG_DUMMY=m
# CONFIG_EQUALIZER is not set
# CONFIG_NET_FC is not set
CONFIG_MII=y
CONFIG_IFB=m
CONFIG_NET_TEAM=m
CONFIG_NET_TEAM_MODE_ROUNDROBIN=m
CONFIG_NET_TEAM_MODE_ACTIVEBACKUP=m
CONFIG_MACVLAN=m
CONFIG_MACVTAP=m
CONFIG_NETCONSOLE=m
CONFIG_NETCONSOLE_DYNAMIC=y
CONFIG_NETPOLL=y
CONFIG_NETPOLL_TRAP=y
CONFIG_NET_POLL_CONTROLLER=y
CONFIG_TUN=m
CONFIG_VETH=m
# CONFIG_ARCNET is not set
#
# CAIF transport drivers
#
CONFIG_ETHERNET=y
# CONFIG_NET_VENDOR_3COM is not set
# CONFIG_NET_VENDOR_ADAPTEC is not set
# CONFIG_NET_VENDOR_ALTEON is not set
# CONFIG_NET_VENDOR_AMD is not set
# CONFIG_NET_VENDOR_ATHEROS is not set
# CONFIG_NET_VENDOR_BROADCOM is not set
# CONFIG_NET_VENDOR_BROCADE is not set
# CONFIG_NET_CALXEDA_XGMAC is not set
# CONFIG_NET_VENDOR_CHELSIO is not set
# CONFIG_NET_VENDOR_CISCO is not set
# CONFIG_DNET is not set
# CONFIG_NET_VENDOR_DEC is not set
# CONFIG_NET_VENDOR_DLINK is not set
# CONFIG_NET_VENDOR_EMULEX is not set
# CONFIG_NET_VENDOR_EXAR is not set
# CONFIG_NET_VENDOR_HP is not set
CONFIG_NET_VENDOR_INTEL=y
CONFIG_E100=m
# CONFIG_E1000 is not set
# CONFIG_E1000E is not set
# CONFIG_IGB is not set
# CONFIG_IGBVF is not set
# CONFIG_IXGB is not set
# CONFIG_IXGBE is not set
# CONFIG_IXGBEVF is not set
# CONFIG_NET_VENDOR_I825XX is not set
# CONFIG_IP1000 is not set
# CONFIG_JME is not set
# CONFIG_NET_VENDOR_MARVELL is not set
# CONFIG_NET_VENDOR_MELLANOX is not set
# CONFIG_NET_VENDOR_MICREL is not set
# CONFIG_NET_VENDOR_MYRI is not set
# CONFIG_FEALNX is not set
# CONFIG_NET_VENDOR_NATSEMI is not set
# CONFIG_NET_VENDOR_NVIDIA is not set
# CONFIG_NET_VENDOR_OKI is not set
# CONFIG_ETHOC is not set
# CONFIG_NET_PACKET_ENGINE is not set
# CONFIG_NET_VENDOR_QLOGIC is not set
CONFIG_NET_VENDOR_REALTEK=y
# CONFIG_ATP is not set
CONFIG_8139CP=m
CONFIG_8139TOO=m
# CONFIG_8139TOO_PIO is not set
CONFIG_8139TOO_TUNE_TWISTER=y
CONFIG_8139TOO_8129=y
# CONFIG_8139_OLD_RX_RESET is not set
CONFIG_R8169=y
# CONFIG_NET_VENDOR_RDC is not set
# CONFIG_NET_VENDOR_SEEQ is not set
# CONFIG_NET_VENDOR_SILAN is not set
# CONFIG_NET_VENDOR_SIS is not set
# CONFIG_SFC is not set
# CONFIG_NET_VENDOR_SMSC is not set
# CONFIG_NET_VENDOR_STMICRO is not set
# CONFIG_NET_VENDOR_SUN is not set
# CONFIG_NET_VENDOR_TEHUTI is not set
# CONFIG_NET_VENDOR_TI is not set
CONFIG_NET_VENDOR_VIA=y
CONFIG_VIA_RHINE=m
CONFIG_VIA_RHINE_MMIO=y
# CONFIG_VIA_VELOCITY is not set
# CONFIG_FDDI is not set
# CONFIG_HIPPI is not set
# CONFIG_NET_SB1000 is not set
CONFIG_PHYLIB=y
#
# MII PHY device drivers
#
# CONFIG_AMD_PHY is not set
# CONFIG_MARVELL_PHY is not set
# CONFIG_DAVICOM_PHY is not set
# CONFIG_QSEMI_PHY is not set
# CONFIG_LXT_PHY is not set
# CONFIG_CICADA_PHY is not set
# CONFIG_VITESSE_PHY is not set
# CONFIG_SMSC_PHY is not set
# CONFIG_BROADCOM_PHY is not set
# CONFIG_ICPLUS_PHY is not set
CONFIG_REALTEK_PHY=y
# CONFIG_NATIONAL_PHY is not set
# CONFIG_STE10XP is not set
# CONFIG_LSI_ET1011C_PHY is not set
# CONFIG_MICREL_PHY is not set
# CONFIG_FIXED_PHY is not set
# CONFIG_MDIO_BITBANG is not set
# CONFIG_PLIP is not set
CONFIG_PPP=m
CONFIG_PPP_BSDCOMP=m
CONFIG_PPP_DEFLATE=m
# CONFIG_PPP_FILTER is not set
CONFIG_PPP_MPPE=m
# CONFIG_PPP_MULTILINK is not set
CONFIG_PPPOE=m
CONFIG_PPTP=m
CONFIG_PPP_ASYNC=m
CONFIG_PPP_SYNC_TTY=m
# CONFIG_SLIP is not set
CONFIG_SLHC=m
# CONFIG_TR is not set
#
# USB Network Adapters
#
# CONFIG_USB_CATC is not set
# CONFIG_USB_KAWETH is not set
# CONFIG_USB_PEGASUS is not set
# CONFIG_USB_RTL8150 is not set
# CONFIG_USB_USBNET is not set
# CONFIG_USB_HSO is not set
# CONFIG_USB_IPHETH is not set
# CONFIG_WLAN is not set
#
# Enable WiMAX (Networking options) to see the WiMAX drivers
#
# CONFIG_WAN is not set
# CONFIG_VMXNET3 is not set
# CONFIG_ISDN is not set
#
# Input device support
#
CONFIG_INPUT=y
# CONFIG_INPUT_FF_MEMLESS is not set
# CONFIG_INPUT_POLLDEV is not set
# CONFIG_INPUT_SPARSEKMAP is not set
#
# Userland interfaces
#
CONFIG_INPUT_MOUSEDEV=y
CONFIG_INPUT_MOUSEDEV_PSAUX=y
CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
# CONFIG_INPUT_JOYDEV is not set
CONFIG_INPUT_EVDEV=y
# CONFIG_INPUT_EVBUG is not set
#
# Input Device Drivers
#
CONFIG_INPUT_KEYBOARD=y
# CONFIG_KEYBOARD_ADP5588 is not set
# CONFIG_KEYBOARD_ADP5589 is not set
CONFIG_KEYBOARD_ATKBD=y
# CONFIG_KEYBOARD_QT1070 is not set
# CONFIG_KEYBOARD_QT2160 is not set
# CONFIG_KEYBOARD_LKKBD is not set
# CONFIG_KEYBOARD_TCA6416 is not set
# CONFIG_KEYBOARD_TCA8418 is not set
# CONFIG_KEYBOARD_MAX7359 is not set
# CONFIG_KEYBOARD_MCS is not set
# CONFIG_KEYBOARD_MPR121 is not set
# CONFIG_KEYBOARD_NEWTON is not set
# CONFIG_KEYBOARD_OPENCORES is not set
# CONFIG_KEYBOARD_STOWAWAY is not set
# CONFIG_KEYBOARD_SUNKBD is not set
# CONFIG_KEYBOARD_OMAP4 is not set
# CONFIG_KEYBOARD_XTKBD is not set
# CONFIG_INPUT_MOUSE is not set
# CONFIG_INPUT_JOYSTICK is not set
# CONFIG_INPUT_TABLET is not set
# CONFIG_INPUT_TOUCHSCREEN is not set
# CONFIG_INPUT_MISC is not set
#
# Hardware I/O ports
#
CONFIG_SERIO=y
CONFIG_SERIO_I8042=y
# CONFIG_SERIO_SERPORT is not set
# CONFIG_SERIO_CT82C710 is not set
# CONFIG_SERIO_PARKBD is not set
# CONFIG_SERIO_PCIPS2 is not set
CONFIG_SERIO_LIBPS2=y
# CONFIG_SERIO_RAW is not set
# CONFIG_SERIO_ALTERA_PS2 is not set
# CONFIG_SERIO_PS2MULT is not set
# CONFIG_GAMEPORT is not set
#
# Character devices
#
CONFIG_VT=y
CONFIG_CONSOLE_TRANSLATIONS=y
CONFIG_VT_CONSOLE=y
CONFIG_HW_CONSOLE=y
# CONFIG_VT_HW_CONSOLE_BINDING is not set
CONFIG_UNIX98_PTYS=y
CONFIG_DEVPTS_MULTIPLE_INSTANCES=y
CONFIG_LEGACY_PTYS=y
CONFIG_LEGACY_PTY_COUNT=256
# CONFIG_SERIAL_NONSTANDARD is not set
# CONFIG_NOZOMI is not set
# CONFIG_N_GSM is not set
# CONFIG_TRACE_SINK is not set
CONFIG_DEVKMEM=y
#
# Serial drivers
#
# CONFIG_SERIAL_8250 is not set
CONFIG_FIX_EARLYCON_MEM=y
#
# Non-8250 serial port support
#
# CONFIG_SERIAL_MFD_HSU is not set
# CONFIG_SERIAL_JSM is not set
# CONFIG_SERIAL_TIMBERDALE is not set
# CONFIG_SERIAL_ALTERA_JTAGUART is not set
# CONFIG_SERIAL_ALTERA_UART is not set
# CONFIG_SERIAL_PCH_UART is not set
# CONFIG_SERIAL_XILINX_PS_UART is not set
# CONFIG_PRINTER is not set
CONFIG_PPDEV=m
# CONFIG_IPMI_HANDLER is not set
CONFIG_HW_RANDOM=y
CONFIG_HW_RANDOM_TIMERIOMEM=y
CONFIG_HW_RANDOM_INTEL=y
# CONFIG_HW_RANDOM_AMD is not set
# CONFIG_HW_RANDOM_VIA is not set
CONFIG_NVRAM=y
# CONFIG_R3964 is not set
# CONFIG_APPLICOM is not set
# CONFIG_MWAVE is not set
CONFIG_RAW_DRIVER=y
CONFIG_MAX_RAW_DEVS=256
CONFIG_HPET=y
CONFIG_HPET_MMAP=y
CONFIG_HANGCHECK_TIMER=y
# CONFIG_TCG_TPM is not set
# CONFIG_TELCLOCK is not set
CONFIG_DEVPORT=y
# CONFIG_RAMOOPS is not set
CONFIG_I2C=y
CONFIG_I2C_BOARDINFO=y
CONFIG_I2C_COMPAT=y
CONFIG_I2C_CHARDEV=m
# CONFIG_I2C_MUX is not set
CONFIG_I2C_HELPER_AUTO=y
#
# I2C Hardware Bus support
#
#
# PC SMBus host controller drivers
#
# CONFIG_I2C_ALI1535 is not set
# CONFIG_I2C_ALI1563 is not set
# CONFIG_I2C_ALI15X3 is not set
# CONFIG_I2C_AMD756 is not set
# CONFIG_I2C_AMD8111 is not set
CONFIG_I2C_I801=m
# CONFIG_I2C_ISCH is not set
# CONFIG_I2C_PIIX4 is not set
# CONFIG_I2C_NFORCE2 is not set
# CONFIG_I2C_SIS5595 is not set
# CONFIG_I2C_SIS630 is not set
# CONFIG_I2C_SIS96X is not set
# CONFIG_I2C_VIA is not set
# CONFIG_I2C_VIAPRO is not set
#
# ACPI drivers
#
# CONFIG_I2C_SCMI is not set
#
# I2C system bus drivers (mostly embedded / system-on-chip)
#
# CONFIG_I2C_DESIGNWARE_PCI is not set
# CONFIG_I2C_EG20T is not set
# CONFIG_I2C_INTEL_MID is not set
# CONFIG_I2C_OCORES is not set
# CONFIG_I2C_PCA_PLATFORM is not set
# CONFIG_I2C_PXA_PCI is not set
# CONFIG_I2C_SIMTEC is not set
# CONFIG_I2C_XILINX is not set
#
# External I2C/SMBus adapter drivers
#
# CONFIG_I2C_DIOLAN_U2C is not set
# CONFIG_I2C_PARPORT is not set
# CONFIG_I2C_PARPORT_LIGHT is not set
# CONFIG_I2C_TAOS_EVM is not set
# CONFIG_I2C_TINY_USB is not set
#
# Other I2C/SMBus bus drivers
#
# CONFIG_I2C_STUB is not set
# CONFIG_I2C_DEBUG_CORE is not set
# CONFIG_I2C_DEBUG_ALGO is not set
# CONFIG_I2C_DEBUG_BUS is not set
# CONFIG_SPI is not set
# CONFIG_HSI is not set
#
# PPS support
#
# CONFIG_PPS is not set
#
# PPS generators support
#
#
# PTP clock support
#
#
# Enable Device Drivers -> PPS to see the PTP clock options.
#
CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
# CONFIG_GPIOLIB is not set
# CONFIG_W1 is not set
CONFIG_POWER_SUPPLY=y
# CONFIG_POWER_SUPPLY_DEBUG is not set
CONFIG_PDA_POWER=m
# CONFIG_TEST_POWER is not set
# CONFIG_BATTERY_DS2780 is not set
# CONFIG_BATTERY_DS2781 is not set
# CONFIG_BATTERY_DS2782 is not set
# CONFIG_BATTERY_SBS is not set
# CONFIG_BATTERY_BQ27x00 is not set
# CONFIG_BATTERY_MAX17040 is not set
# CONFIG_BATTERY_MAX17042 is not set
# CONFIG_CHARGER_MAX8903 is not set
# CONFIG_CHARGER_LP8727 is not set
# CONFIG_CHARGER_SMB347 is not set
CONFIG_HWMON=m
CONFIG_HWMON_VID=m
# CONFIG_HWMON_DEBUG_CHIP is not set
#
# Native drivers
#
# CONFIG_SENSORS_ABITUGURU is not set
# CONFIG_SENSORS_ABITUGURU3 is not set
# CONFIG_SENSORS_AD7414 is not set
# CONFIG_SENSORS_AD7418 is not set
# CONFIG_SENSORS_ADM1021 is not set
# CONFIG_SENSORS_ADM1025 is not set
# CONFIG_SENSORS_ADM1026 is not set
# CONFIG_SENSORS_ADM1029 is not set
# CONFIG_SENSORS_ADM1031 is not set
# CONFIG_SENSORS_ADM9240 is not set
# CONFIG_SENSORS_ADT7411 is not set
# CONFIG_SENSORS_ADT7462 is not set
# CONFIG_SENSORS_ADT7470 is not set
# CONFIG_SENSORS_ADT7475 is not set
# CONFIG_SENSORS_ASC7621 is not set
# CONFIG_SENSORS_K8TEMP is not set
# CONFIG_SENSORS_K10TEMP is not set
# CONFIG_SENSORS_FAM15H_POWER is not set
# CONFIG_SENSORS_ASB100 is not set
# CONFIG_SENSORS_ATXP1 is not set
# CONFIG_SENSORS_DS620 is not set
# CONFIG_SENSORS_DS1621 is not set
# CONFIG_SENSORS_I5K_AMB is not set
# CONFIG_SENSORS_F71805F is not set
# CONFIG_SENSORS_F71882FG is not set
# CONFIG_SENSORS_F75375S is not set
# CONFIG_SENSORS_FSCHMD is not set
# CONFIG_SENSORS_G760A is not set
# CONFIG_SENSORS_GL518SM is not set
# CONFIG_SENSORS_GL520SM is not set
CONFIG_SENSORS_CORETEMP=m
# CONFIG_SENSORS_IT87 is not set
# CONFIG_SENSORS_JC42 is not set
# CONFIG_SENSORS_LINEAGE is not set
# CONFIG_SENSORS_LM63 is not set
# CONFIG_SENSORS_LM73 is not set
# CONFIG_SENSORS_LM75 is not set
# CONFIG_SENSORS_LM77 is not set
# CONFIG_SENSORS_LM78 is not set
# CONFIG_SENSORS_LM80 is not set
# CONFIG_SENSORS_LM83 is not set
# CONFIG_SENSORS_LM85 is not set
# CONFIG_SENSORS_LM87 is not set
# CONFIG_SENSORS_LM90 is not set
# CONFIG_SENSORS_LM92 is not set
# CONFIG_SENSORS_LM93 is not set
# CONFIG_SENSORS_LTC4151 is not set
# CONFIG_SENSORS_LTC4215 is not set
# CONFIG_SENSORS_LTC4245 is not set
# CONFIG_SENSORS_LTC4261 is not set
# CONFIG_SENSORS_LM95241 is not set
# CONFIG_SENSORS_LM95245 is not set
# CONFIG_SENSORS_MAX16065 is not set
# CONFIG_SENSORS_MAX1619 is not set
# CONFIG_SENSORS_MAX1668 is not set
# CONFIG_SENSORS_MAX6639 is not set
# CONFIG_SENSORS_MAX6642 is not set
# CONFIG_SENSORS_MAX6650 is not set
# CONFIG_SENSORS_MCP3021 is not set
# CONFIG_SENSORS_NTC_THERMISTOR is not set
# CONFIG_SENSORS_PC87360 is not set
# CONFIG_SENSORS_PC87427 is not set
# CONFIG_SENSORS_PCF8591 is not set
# CONFIG_PMBUS is not set
# CONFIG_SENSORS_SHT21 is not set
# CONFIG_SENSORS_SIS5595 is not set
# CONFIG_SENSORS_SMM665 is not set
# CONFIG_SENSORS_DME1737 is not set
# CONFIG_SENSORS_EMC1403 is not set
# CONFIG_SENSORS_EMC2103 is not set
# CONFIG_SENSORS_EMC6W201 is not set
# CONFIG_SENSORS_SMSC47M1 is not set
# CONFIG_SENSORS_SMSC47M192 is not set
# CONFIG_SENSORS_SMSC47B397 is not set
# CONFIG_SENSORS_SCH56XX_COMMON is not set
# CONFIG_SENSORS_SCH5627 is not set
# CONFIG_SENSORS_SCH5636 is not set
# CONFIG_SENSORS_ADS1015 is not set
# CONFIG_SENSORS_ADS7828 is not set
# CONFIG_SENSORS_AMC6821 is not set
# CONFIG_SENSORS_THMC50 is not set
# CONFIG_SENSORS_TMP102 is not set
# CONFIG_SENSORS_TMP401 is not set
# CONFIG_SENSORS_TMP421 is not set
# CONFIG_SENSORS_VIA_CPUTEMP is not set
# CONFIG_SENSORS_VIA686A is not set
# CONFIG_SENSORS_VT1211 is not set
# CONFIG_SENSORS_VT8231 is not set
# CONFIG_SENSORS_W83781D is not set
# CONFIG_SENSORS_W83791D is not set
# CONFIG_SENSORS_W83792D is not set
# CONFIG_SENSORS_W83793 is not set
# CONFIG_SENSORS_W83795 is not set
# CONFIG_SENSORS_W83L785TS is not set
# CONFIG_SENSORS_W83L786NG is not set
CONFIG_SENSORS_W83627HF=m
# CONFIG_SENSORS_W83627EHF is not set
# CONFIG_SENSORS_APPLESMC is not set
#
# ACPI drivers
#
# CONFIG_SENSORS_ACPI_POWER is not set
# CONFIG_SENSORS_ATK0110 is not set
CONFIG_THERMAL=y
CONFIG_WATCHDOG=y
CONFIG_WATCHDOG_CORE=y
CONFIG_WATCHDOG_NOWAYOUT=y
#
# Watchdog Device Drivers
#
CONFIG_SOFT_WATCHDOG=y
# CONFIG_ACQUIRE_WDT is not set
# CONFIG_ADVANTECH_WDT is not set
# CONFIG_ALIM1535_WDT is not set
# CONFIG_ALIM7101_WDT is not set
# CONFIG_F71808E_WDT is not set
# CONFIG_SP5100_TCO is not set
# CONFIG_SC520_WDT is not set
# CONFIG_SBC_FITPC2_WATCHDOG is not set
# CONFIG_EUROTECH_WDT is not set
# CONFIG_IB700_WDT is not set
# CONFIG_IBMASR is not set
# CONFIG_WAFER_WDT is not set
# CONFIG_I6300ESB_WDT is not set
# CONFIG_ITCO_WDT is not set
# CONFIG_IT8712F_WDT is not set
# CONFIG_IT87_WDT is not set
# CONFIG_HP_WATCHDOG is not set
# CONFIG_SC1200_WDT is not set
# CONFIG_PC87413_WDT is not set
# CONFIG_NV_TCO is not set
# CONFIG_60XX_WDT is not set
# CONFIG_SBC8360_WDT is not set
# CONFIG_CPU5_WDT is not set
# CONFIG_SMSC_SCH311X_WDT is not set
# CONFIG_SMSC37B787_WDT is not set
# CONFIG_VIA_WDT is not set
# CONFIG_W83627HF_WDT is not set
# CONFIG_W83697HF_WDT is not set
# CONFIG_W83697UG_WDT is not set
# CONFIG_W83877F_WDT is not set
# CONFIG_W83977F_WDT is not set
# CONFIG_MACHZ_WDT is not set
# CONFIG_SBC_EPX_C3_WATCHDOG is not set
#
# PCI-based Watchdog Cards
#
# CONFIG_PCIPCWATCHDOG is not set
# CONFIG_WDTPCI is not set
#
# USB-based Watchdog Cards
#
# CONFIG_USBPCWATCHDOG is not set
CONFIG_SSB_POSSIBLE=y
#
# Sonics Silicon Backplane
#
# CONFIG_SSB is not set
CONFIG_BCMA_POSSIBLE=y
#
# Broadcom specific AMBA
#
# CONFIG_BCMA is not set
#
# Multifunction device drivers
#
# CONFIG_MFD_CORE is not set
# CONFIG_MFD_88PM860X is not set
# CONFIG_MFD_SM501 is not set
# CONFIG_HTC_PASIC3 is not set
# CONFIG_TPS6105X is not set
# CONFIG_TPS6507X is not set
# CONFIG_MFD_TPS65217 is not set
# CONFIG_TWL4030_CORE is not set
# CONFIG_TWL6040_CORE is not set
# CONFIG_MFD_STMPE is not set
# CONFIG_MFD_TC3589X is not set
# CONFIG_MFD_TMIO is not set
# CONFIG_PMIC_DA903X is not set
# CONFIG_MFD_DA9052_I2C is not set
# CONFIG_PMIC_ADP5520 is not set
# CONFIG_MFD_MAX8925 is not set
# CONFIG_MFD_MAX8997 is not set
# CONFIG_MFD_MAX8998 is not set
# CONFIG_MFD_S5M_CORE is not set
# CONFIG_MFD_WM8400 is not set
# CONFIG_MFD_WM831X_I2C is not set
# CONFIG_MFD_WM8350_I2C is not set
# CONFIG_MFD_WM8994 is not set
# CONFIG_MFD_PCF50633 is not set
# CONFIG_ABX500_CORE is not set
# CONFIG_MFD_CS5535 is not set
# CONFIG_LPC_SCH is not set
# CONFIG_MFD_RDC321X is not set
# CONFIG_MFD_JANZ_CMODIO is not set
# CONFIG_MFD_VX855 is not set
# CONFIG_MFD_WL1273_CORE is not set
# CONFIG_MFD_TPS65090 is not set
# CONFIG_MFD_RC5T583 is not set
# CONFIG_REGULATOR is not set
# CONFIG_MEDIA_SUPPORT is not set
#
# Graphics support
#
# CONFIG_AGP is not set
CONFIG_VGA_ARB=y
CONFIG_VGA_ARB_MAX_GPUS=16
# CONFIG_VGA_SWITCHEROO is not set
# CONFIG_DRM is not set
# CONFIG_STUB_POULSBO is not set
# CONFIG_VGASTATE is not set
CONFIG_VIDEO_OUTPUT_CONTROL=y
# CONFIG_FB is not set
# CONFIG_EXYNOS_VIDEO is not set
# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
#
# Console display driver support
#
CONFIG_VGA_CONSOLE=y
CONFIG_VGACON_SOFT_SCROLLBACK=y
CONFIG_VGACON_SOFT_SCROLLBACK_SIZE=128
CONFIG_DUMMY_CONSOLE=y
CONFIG_SOUND=m
# CONFIG_SOUND_OSS_CORE is not set
CONFIG_SND=m
CONFIG_SND_TIMER=m
CONFIG_SND_PCM=m
CONFIG_SND_HWDEP=m
CONFIG_SND_JACK=y
CONFIG_SND_SEQUENCER=m
# CONFIG_SND_SEQ_DUMMY is not set
# CONFIG_SND_MIXER_OSS is not set
# CONFIG_SND_PCM_OSS is not set
# CONFIG_SND_SEQUENCER_OSS is not set
CONFIG_SND_HRTIMER=m
CONFIG_SND_SEQ_HRTIMER_DEFAULT=y
CONFIG_SND_DYNAMIC_MINORS=y
CONFIG_SND_SUPPORT_OLD_API=y
CONFIG_SND_VERBOSE_PROCFS=y
# CONFIG_SND_VERBOSE_PRINTK is not set
# CONFIG_SND_DEBUG is not set
CONFIG_SND_VMASTER=y
CONFIG_SND_KCTL_JACK=y
CONFIG_SND_DMA_SGBUF=y
# CONFIG_SND_RAWMIDI_SEQ is not set
# CONFIG_SND_OPL3_LIB_SEQ is not set
# CONFIG_SND_OPL4_LIB_SEQ is not set
# CONFIG_SND_SBAWE_SEQ is not set
# CONFIG_SND_EMU10K1_SEQ is not set
# CONFIG_SND_DRIVERS is not set
CONFIG_SND_PCI=y
# CONFIG_SND_AD1889 is not set
# CONFIG_SND_ALS300 is not set
# CONFIG_SND_ALS4000 is not set
# CONFIG_SND_ALI5451 is not set
# CONFIG_SND_ASIHPI is not set
# CONFIG_SND_ATIIXP is not set
# CONFIG_SND_ATIIXP_MODEM is not set
# CONFIG_SND_AU8810 is not set
# CONFIG_SND_AU8820 is not set
# CONFIG_SND_AU8830 is not set
# CONFIG_SND_AW2 is not set
# CONFIG_SND_AZT3328 is not set
# CONFIG_SND_BT87X is not set
# CONFIG_SND_CA0106 is not set
# CONFIG_SND_CMIPCI is not set
# CONFIG_SND_OXYGEN is not set
# CONFIG_SND_CS4281 is not set
# CONFIG_SND_CS46XX is not set
# CONFIG_SND_CS5530 is not set
# CONFIG_SND_CS5535AUDIO is not set
# CONFIG_SND_CTXFI is not set
# CONFIG_SND_DARLA20 is not set
# CONFIG_SND_GINA20 is not set
# CONFIG_SND_LAYLA20 is not set
# CONFIG_SND_DARLA24 is not set
# CONFIG_SND_GINA24 is not set
# CONFIG_SND_LAYLA24 is not set
# CONFIG_SND_MONA is not set
# CONFIG_SND_MIA is not set
# CONFIG_SND_ECHO3G is not set
# CONFIG_SND_INDIGO is not set
# CONFIG_SND_INDIGOIO is not set
# CONFIG_SND_INDIGODJ is not set
# CONFIG_SND_INDIGOIOX is not set
# CONFIG_SND_INDIGODJX is not set
# CONFIG_SND_EMU10K1 is not set
# CONFIG_SND_EMU10K1X is not set
# CONFIG_SND_ENS1370 is not set
# CONFIG_SND_ENS1371 is not set
# CONFIG_SND_ES1938 is not set
# CONFIG_SND_ES1968 is not set
# CONFIG_SND_FM801 is not set
CONFIG_SND_HDA_INTEL=m
CONFIG_SND_HDA_PREALLOC_SIZE=64
CONFIG_SND_HDA_HWDEP=y
CONFIG_SND_HDA_RECONFIG=y
# CONFIG_SND_HDA_INPUT_BEEP is not set
CONFIG_SND_HDA_INPUT_JACK=y
# CONFIG_SND_HDA_PATCH_LOADER is not set
CONFIG_SND_HDA_CODEC_REALTEK=y
CONFIG_SND_HDA_ENABLE_REALTEK_QUIRKS=y
# CONFIG_SND_HDA_CODEC_ANALOG is not set
# CONFIG_SND_HDA_CODEC_SIGMATEL is not set
# CONFIG_SND_HDA_CODEC_VIA is not set
# CONFIG_SND_HDA_CODEC_HDMI is not set
# CONFIG_SND_HDA_CODEC_CIRRUS is not set
# CONFIG_SND_HDA_CODEC_CONEXANT is not set
# CONFIG_SND_HDA_CODEC_CA0110 is not set
# CONFIG_SND_HDA_CODEC_CA0132 is not set
# CONFIG_SND_HDA_CODEC_CMEDIA is not set
# CONFIG_SND_HDA_CODEC_SI3054 is not set
CONFIG_SND_HDA_GENERIC=y
# CONFIG_SND_HDSP is not set
# CONFIG_SND_HDSPM is not set
# CONFIG_SND_ICE1712 is not set
# CONFIG_SND_ICE1724 is not set
# CONFIG_SND_INTEL8X0 is not set
# CONFIG_SND_INTEL8X0M is not set
# CONFIG_SND_KORG1212 is not set
# CONFIG_SND_LOLA is not set
# CONFIG_SND_LX6464ES is not set
# CONFIG_SND_MAESTRO3 is not set
# CONFIG_SND_MIXART is not set
# CONFIG_SND_NM256 is not set
# CONFIG_SND_PCXHR is not set
# CONFIG_SND_RIPTIDE is not set
# CONFIG_SND_RME32 is not set
# CONFIG_SND_RME96 is not set
# CONFIG_SND_RME9652 is not set
# CONFIG_SND_SONICVIBES is not set
# CONFIG_SND_TRIDENT is not set
# CONFIG_SND_VIA82XX is not set
# CONFIG_SND_VIA82XX_MODEM is not set
# CONFIG_SND_VIRTUOSO is not set
# CONFIG_SND_VX222 is not set
# CONFIG_SND_YMFPCI is not set
# CONFIG_SND_USB is not set
# CONFIG_SND_SOC is not set
# CONFIG_SOUND_PRIME is not set
CONFIG_HID_SUPPORT=y
CONFIG_HID=y
# CONFIG_HID_BATTERY_STRENGTH is not set
CONFIG_HIDRAW=y
#
# USB Input Devices
#
CONFIG_USB_HID=y
# CONFIG_HID_PID is not set
CONFIG_USB_HIDDEV=y
#
# Special HID drivers
#
CONFIG_HID_A4TECH=y
# CONFIG_HID_ACRUX is not set
CONFIG_HID_APPLE=y
CONFIG_HID_BELKIN=y
CONFIG_HID_CHERRY=y
CONFIG_HID_CHICONY=y
# CONFIG_HID_PRODIKEYS is not set
CONFIG_HID_CYPRESS=y
# CONFIG_HID_DRAGONRISE is not set
# CONFIG_HID_EMS_FF is not set
# CONFIG_HID_ELECOM is not set
CONFIG_HID_EZKEY=y
# CONFIG_HID_HOLTEK is not set
# CONFIG_HID_KEYTOUCH is not set
# CONFIG_HID_KYE is not set
# CONFIG_HID_UCLOGIC is not set
# CONFIG_HID_WALTOP is not set
# CONFIG_HID_GYRATION is not set
# CONFIG_HID_TWINHAN is not set
CONFIG_HID_KENSINGTON=y
# CONFIG_HID_LCPOWER is not set
CONFIG_HID_LOGITECH=y
CONFIG_HID_LOGITECH_DJ=m
# CONFIG_LOGITECH_FF is not set
# CONFIG_LOGIRUMBLEPAD2_FF is not set
# CONFIG_LOGIG940_FF is not set
# CONFIG_LOGIWHEELS_FF is not set
# CONFIG_HID_MAGICMOUSE is not set
CONFIG_HID_MICROSOFT=y
CONFIG_HID_MONTEREY=y
# CONFIG_HID_MULTITOUCH is not set
# CONFIG_HID_NTRIG is not set
# CONFIG_HID_ORTEK is not set
# CONFIG_HID_PANTHERLORD is not set
# CONFIG_HID_PETALYNX is not set
# CONFIG_HID_PICOLCD is not set
# CONFIG_HID_PRIMAX is not set
# CONFIG_HID_ROCCAT is not set
# CONFIG_HID_SAITEK is not set
# CONFIG_HID_SAMSUNG is not set
# CONFIG_HID_SONY is not set
# CONFIG_HID_SPEEDLINK is not set
# CONFIG_HID_SUNPLUS is not set
# CONFIG_HID_GREENASIA is not set
# CONFIG_HID_SMARTJOYPLUS is not set
# CONFIG_HID_TIVO is not set
# CONFIG_HID_TOPSEED is not set
# CONFIG_HID_THRUSTMASTER is not set
# CONFIG_HID_WACOM is not set
# CONFIG_HID_ZEROPLUS is not set
# CONFIG_HID_ZYDACRON is not set
CONFIG_USB_ARCH_HAS_OHCI=y
CONFIG_USB_ARCH_HAS_EHCI=y
CONFIG_USB_ARCH_HAS_XHCI=y
CONFIG_USB_SUPPORT=y
CONFIG_USB_COMMON=y
CONFIG_USB_ARCH_HAS_HCD=y
CONFIG_USB=y
# CONFIG_USB_DEBUG is not set
CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
#
# Miscellaneous USB options
#
CONFIG_USB_DEVICEFS=y
# CONFIG_USB_DEVICE_CLASS is not set
# CONFIG_USB_DYNAMIC_MINORS is not set
CONFIG_USB_MON=y
# CONFIG_USB_WUSB_CBAF is not set
#
# USB Host Controller Drivers
#
# CONFIG_USB_C67X00_HCD is not set
# CONFIG_USB_XHCI_HCD is not set
CONFIG_USB_EHCI_HCD=y
CONFIG_USB_EHCI_ROOT_HUB_TT=y
CONFIG_USB_EHCI_TT_NEWSCHED=y
# CONFIG_USB_OXU210HP_HCD is not set
# CONFIG_USB_ISP116X_HCD is not set
# CONFIG_USB_ISP1760_HCD is not set
# CONFIG_USB_ISP1362_HCD is not set
CONFIG_USB_OHCI_HCD=m
# CONFIG_USB_OHCI_HCD_PLATFORM is not set
# CONFIG_USB_EHCI_HCD_PLATFORM is not set
# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set
# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set
CONFIG_USB_OHCI_LITTLE_ENDIAN=y
CONFIG_USB_UHCI_HCD=m
# CONFIG_USB_SL811_HCD is not set
# CONFIG_USB_R8A66597_HCD is not set
#
# USB Device Class drivers
#
# CONFIG_USB_ACM is not set
# CONFIG_USB_PRINTER is not set
# CONFIG_USB_WDM is not set
# CONFIG_USB_TMC is not set
#
# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may
#
#
# also be needed; see USB_STORAGE Help for more info
#
CONFIG_USB_STORAGE=m
# CONFIG_USB_STORAGE_DEBUG is not set
# CONFIG_USB_STORAGE_REALTEK is not set
# CONFIG_USB_STORAGE_DATAFAB is not set
# CONFIG_USB_STORAGE_FREECOM is not set
# CONFIG_USB_STORAGE_ISD200 is not set
# CONFIG_USB_STORAGE_USBAT is not set
# CONFIG_USB_STORAGE_SDDR09 is not set
# CONFIG_USB_STORAGE_SDDR55 is not set
# CONFIG_USB_STORAGE_JUMPSHOT is not set
# CONFIG_USB_STORAGE_ALAUDA is not set
# CONFIG_USB_STORAGE_ONETOUCH is not set
# CONFIG_USB_STORAGE_KARMA is not set
# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set
# CONFIG_USB_STORAGE_ENE_UB6250 is not set
# CONFIG_USB_UAS is not set
# CONFIG_USB_LIBUSUAL is not set
#
# USB Imaging devices
#
# CONFIG_USB_MDC800 is not set
# CONFIG_USB_MICROTEK is not set
#
# USB port drivers
#
# CONFIG_USB_USS720 is not set
# CONFIG_USB_SERIAL is not set
#
# USB Miscellaneous drivers
#
# CONFIG_USB_EMI62 is not set
# CONFIG_USB_EMI26 is not set
# CONFIG_USB_ADUTUX is not set
# CONFIG_USB_SEVSEG is not set
# CONFIG_USB_RIO500 is not set
# CONFIG_USB_LEGOTOWER is not set
# CONFIG_USB_LCD is not set
# CONFIG_USB_LED is not set
# CONFIG_USB_CYPRESS_CY7C63 is not set
# CONFIG_USB_CYTHERM is not set
# CONFIG_USB_IDMOUSE is not set
# CONFIG_USB_FTDI_ELAN is not set
# CONFIG_USB_APPLEDISPLAY is not set
# CONFIG_USB_SISUSBVGA is not set
# CONFIG_USB_LD is not set
# CONFIG_USB_TRANCEVIBRATOR is not set
# CONFIG_USB_IOWARRIOR is not set
# CONFIG_USB_TEST is not set
# CONFIG_USB_ISIGHTFW is not set
# CONFIG_USB_YUREX is not set
# CONFIG_USB_GADGET is not set
#
# OTG and related infrastructure
#
# CONFIG_NOP_USB_XCEIV is not set
# CONFIG_UWB is not set
# CONFIG_MMC is not set
# CONFIG_MEMSTICK is not set
# CONFIG_NEW_LEDS is not set
# CONFIG_ACCESSIBILITY is not set
# CONFIG_INFINIBAND is not set
# CONFIG_EDAC is not set
CONFIG_RTC_LIB=y
CONFIG_RTC_CLASS=y
CONFIG_RTC_HCTOSYS=y
CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
# CONFIG_RTC_DEBUG is not set
#
# RTC interfaces
#
CONFIG_RTC_INTF_SYSFS=y
CONFIG_RTC_INTF_PROC=y
CONFIG_RTC_INTF_DEV=y
CONFIG_RTC_INTF_DEV_UIE_EMUL=y
# CONFIG_RTC_DRV_TEST is not set
#
# I2C RTC drivers
#
# CONFIG_RTC_DRV_DS1307 is not set
# CONFIG_RTC_DRV_DS1374 is not set
# CONFIG_RTC_DRV_DS1672 is not set
# CONFIG_RTC_DRV_DS3232 is not set
# CONFIG_RTC_DRV_MAX6900 is not set
# CONFIG_RTC_DRV_RS5C372 is not set
# CONFIG_RTC_DRV_ISL1208 is not set
# CONFIG_RTC_DRV_ISL12022 is not set
# CONFIG_RTC_DRV_X1205 is not set
# CONFIG_RTC_DRV_PCF8563 is not set
# CONFIG_RTC_DRV_PCF8583 is not set
# CONFIG_RTC_DRV_M41T80 is not set
# CONFIG_RTC_DRV_BQ32K is not set
# CONFIG_RTC_DRV_S35390A is not set
# CONFIG_RTC_DRV_FM3130 is not set
# CONFIG_RTC_DRV_RX8581 is not set
# CONFIG_RTC_DRV_RX8025 is not set
# CONFIG_RTC_DRV_EM3027 is not set
# CONFIG_RTC_DRV_RV3029C2 is not set
#
# SPI RTC drivers
#
#
# Platform RTC drivers
#
CONFIG_RTC_DRV_CMOS=y
# CONFIG_RTC_DRV_DS1286 is not set
# CONFIG_RTC_DRV_DS1511 is not set
# CONFIG_RTC_DRV_DS1553 is not set
# CONFIG_RTC_DRV_DS1742 is not set
# CONFIG_RTC_DRV_STK17TA8 is not set
# CONFIG_RTC_DRV_M48T86 is not set
# CONFIG_RTC_DRV_M48T35 is not set
# CONFIG_RTC_DRV_M48T59 is not set
# CONFIG_RTC_DRV_MSM6242 is not set
# CONFIG_RTC_DRV_BQ4802 is not set
# CONFIG_RTC_DRV_RP5C01 is not set
# CONFIG_RTC_DRV_V3020 is not set
#
# on-CPU RTC drivers
#
# CONFIG_DMADEVICES is not set
# CONFIG_AUXDISPLAY is not set
# CONFIG_UIO is not set
#
# Virtio drivers
#
# CONFIG_VIRTIO_PCI is not set
# CONFIG_VIRTIO_BALLOON is not set
# CONFIG_VIRTIO_MMIO is not set
#
# Microsoft Hyper-V guest support
#
# CONFIG_HYPERV is not set
CONFIG_STAGING=y
# CONFIG_ET131X is not set
# CONFIG_SLICOSS is not set
CONFIG_USBIP_CORE=m
CONFIG_USBIP_VHCI_HCD=m
CONFIG_USBIP_HOST=m
# CONFIG_USBIP_DEBUG is not set
# CONFIG_ECHO is not set
# CONFIG_COMEDI is not set
# CONFIG_ASUS_OLED is not set
# CONFIG_PANEL is not set
# CONFIG_RTS_PSTOR is not set
# CONFIG_RTS5139 is not set
# CONFIG_TRANZPORT is not set
# CONFIG_IDE_PHISON is not set
# CONFIG_LINE6_USB is not set
# CONFIG_VME_BUS is not set
# CONFIG_DX_SEP is not set
# CONFIG_IIO is not set
CONFIG_ZRAM=m
# CONFIG_ZRAM_DEBUG is not set
CONFIG_ZCACHE=y
CONFIG_ZSMALLOC=y
# CONFIG_CRYSTALHD is not set
# CONFIG_ACPI_QUICKSTART is not set
# CONFIG_USB_ENESTORAGE is not set
# CONFIG_BCM_WIMAX is not set
# CONFIG_FT1000 is not set
#
# Speakup console speech
#
# CONFIG_SPEAKUP is not set
# CONFIG_TOUCHSCREEN_SYNAPTICS_I2C_RMI4 is not set
CONFIG_INTEL_MEI=m
# CONFIG_STAGING_MEDIA is not set
#
# Android
#
# CONFIG_ANDROID is not set
# CONFIG_PHONE is not set
# CONFIG_USB_WPAN_HCD is not set
# CONFIG_X86_PLATFORM_DEVICES is not set
#
# Hardware Spinlock drivers
#
CONFIG_CLKEVT_I8253=y
CONFIG_I8253_LOCK=y
CONFIG_CLKBLD_I8253=y
CONFIG_IOMMU_API=y
CONFIG_IOMMU_SUPPORT=y
# CONFIG_AMD_IOMMU is not set
CONFIG_DMAR_TABLE=y
CONFIG_INTEL_IOMMU=y
CONFIG_INTEL_IOMMU_DEFAULT_ON=y
CONFIG_INTEL_IOMMU_FLOPPY_WA=y
CONFIG_IRQ_REMAP=y
#
# Remoteproc drivers (EXPERIMENTAL)
#
#
# Rpmsg drivers (EXPERIMENTAL)
#
# CONFIG_VIRT_DRIVERS is not set
# CONFIG_PM_DEVFREQ is not set
#
# Firmware Drivers
#
# CONFIG_EDD is not set
CONFIG_FIRMWARE_MEMMAP=y
# CONFIG_DELL_RBU is not set
# CONFIG_DCDBAS is not set
# CONFIG_DMIID is not set
# CONFIG_DMI_SYSFS is not set
# CONFIG_ISCSI_IBFT_FIND is not set
# CONFIG_GOOGLE_FIRMWARE is not set
#
# File systems
#
CONFIG_DCACHE_WORD_ACCESS=y
# CONFIG_EXT2_FS is not set
# CONFIG_EXT3_FS is not set
CONFIG_EXT4_FS=y
CONFIG_EXT4_USE_FOR_EXT23=y
CONFIG_EXT4_FS_XATTR=y
CONFIG_EXT4_FS_POSIX_ACL=y
CONFIG_EXT4_FS_SECURITY=y
# CONFIG_EXT4_DEBUG is not set
CONFIG_JBD2=y
CONFIG_FS_MBCACHE=y
CONFIG_REISERFS_FS=y
# CONFIG_REISERFS_CHECK is not set
# CONFIG_REISERFS_PROC_INFO is not set
CONFIG_REISERFS_FS_XATTR=y
CONFIG_REISERFS_FS_POSIX_ACL=y
CONFIG_REISERFS_FS_SECURITY=y
# CONFIG_JFS_FS is not set
CONFIG_XFS_FS=y
CONFIG_XFS_QUOTA=y
CONFIG_XFS_POSIX_ACL=y
CONFIG_XFS_RT=y
# CONFIG_XFS_DEBUG is not set
CONFIG_GFS2_FS=m
CONFIG_GFS2_FS_LOCKING_DLM=y
CONFIG_OCFS2_FS=m
CONFIG_OCFS2_FS_O2CB=m
CONFIG_OCFS2_FS_USERSPACE_CLUSTER=m
# CONFIG_OCFS2_DEBUG_MASKLOG is not set
# CONFIG_OCFS2_DEBUG_FS is not set
CONFIG_BTRFS_FS=y
CONFIG_BTRFS_FS_POSIX_ACL=y
# CONFIG_BTRFS_FS_CHECK_INTEGRITY is not set
CONFIG_NILFS2_FS=m
CONFIG_FS_POSIX_ACL=y
CONFIG_EXPORTFS=y
CONFIG_FILE_LOCKING=y
CONFIG_FSNOTIFY=y
CONFIG_DNOTIFY=y
CONFIG_INOTIFY_USER=y
CONFIG_FANOTIFY=y
CONFIG_FANOTIFY_ACCESS_PERMISSIONS=y
CONFIG_QUOTA=y
CONFIG_QUOTA_NETLINK_INTERFACE=y
# CONFIG_PRINT_QUOTA_WARNING is not set
# CONFIG_QUOTA_DEBUG is not set
CONFIG_QUOTA_TREE=m
# CONFIG_QFMT_V1 is not set
CONFIG_QFMT_V2=m
CONFIG_QUOTACTL=y
CONFIG_QUOTACTL_COMPAT=y
CONFIG_AUTOFS4_FS=y
CONFIG_FUSE_FS=y
CONFIG_CUSE=m
CONFIG_GENERIC_ACL=y
#
# Caches
#
CONFIG_FSCACHE=m
# CONFIG_FSCACHE_STATS is not set
# CONFIG_FSCACHE_HISTOGRAM is not set
# CONFIG_FSCACHE_DEBUG is not set
# CONFIG_FSCACHE_OBJECT_LIST is not set
CONFIG_CACHEFILES=m
# CONFIG_CACHEFILES_DEBUG is not set
# CONFIG_CACHEFILES_HISTOGRAM is not set
#
# CD-ROM/DVD Filesystems
#
CONFIG_ISO9660_FS=m
CONFIG_JOLIET=y
CONFIG_ZISOFS=y
CONFIG_UDF_FS=m
CONFIG_UDF_NLS=y
#
# DOS/FAT/NT Filesystems
#
CONFIG_FAT_FS=m
CONFIG_MSDOS_FS=m
CONFIG_VFAT_FS=m
CONFIG_FAT_DEFAULT_CODEPAGE=437
CONFIG_FAT_DEFAULT_IOCHARSET="utf8"
CONFIG_NTFS_FS=m
# CONFIG_NTFS_DEBUG is not set
# CONFIG_NTFS_RW is not set
#
# Pseudo filesystems
#
CONFIG_PROC_FS=y
CONFIG_PROC_KCORE=y
CONFIG_PROC_SYSCTL=y
CONFIG_PROC_PAGE_MONITOR=y
CONFIG_SYSFS=y
CONFIG_TMPFS=y
CONFIG_TMPFS_POSIX_ACL=y
CONFIG_TMPFS_XATTR=y
CONFIG_HUGETLBFS=y
CONFIG_HUGETLB_PAGE=y
CONFIG_CONFIGFS_FS=y
CONFIG_MISC_FILESYSTEMS=y
# CONFIG_ADFS_FS is not set
# CONFIG_AFFS_FS is not set
CONFIG_ECRYPT_FS=m
# CONFIG_HFS_FS is not set
# CONFIG_HFSPLUS_FS is not set
# CONFIG_BEFS_FS is not set
# CONFIG_BFS_FS is not set
# CONFIG_EFS_FS is not set
# CONFIG_LOGFS is not set
# CONFIG_CRAMFS is not set
CONFIG_SQUASHFS=m
CONFIG_SQUASHFS_XATTR=y
CONFIG_SQUASHFS_ZLIB=y
CONFIG_SQUASHFS_LZO=y
CONFIG_SQUASHFS_XZ=y
# CONFIG_SQUASHFS_4K_DEVBLK_SIZE is not set
# CONFIG_SQUASHFS_EMBEDDED is not set
CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3
# CONFIG_VXFS_FS is not set
# CONFIG_MINIX_FS is not set
# CONFIG_OMFS_FS is not set
# CONFIG_HPFS_FS is not set
# CONFIG_QNX4FS_FS is not set
# CONFIG_QNX6FS_FS is not set
# CONFIG_ROMFS_FS is not set
# CONFIG_PSTORE is not set
# CONFIG_SYSV_FS is not set
CONFIG_UFS_FS=m
# CONFIG_UFS_FS_WRITE is not set
# CONFIG_UFS_DEBUG is not set
CONFIG_NETWORK_FILESYSTEMS=y
CONFIG_NFS_FS=m
CONFIG_NFS_V3=y
CONFIG_NFS_V3_ACL=y
CONFIG_NFS_V4=y
CONFIG_NFS_V4_1=y
CONFIG_PNFS_FILE_LAYOUT=m
CONFIG_PNFS_BLOCK=m
CONFIG_NFS_V4_1_IMPLEMENTATION_ID_DOMAIN="kernel.org"
CONFIG_NFS_FSCACHE=y
# CONFIG_NFS_USE_LEGACY_DNS is not set
CONFIG_NFS_USE_KERNEL_DNS=y
CONFIG_NFSD=m
CONFIG_NFSD_V2_ACL=y
CONFIG_NFSD_V3=y
CONFIG_NFSD_V3_ACL=y
CONFIG_NFSD_V4=y
# CONFIG_NFSD_FAULT_INJECTION is not set
CONFIG_LOCKD=m
CONFIG_LOCKD_V4=y
CONFIG_NFS_ACL_SUPPORT=m
CONFIG_NFS_COMMON=y
CONFIG_SUNRPC=m
CONFIG_SUNRPC_GSS=m
CONFIG_SUNRPC_BACKCHANNEL=y
CONFIG_RPCSEC_GSS_KRB5=m
# CONFIG_SUNRPC_DEBUG is not set
CONFIG_CEPH_FS=m
CONFIG_CIFS=m
# CONFIG_CIFS_STATS is not set
# CONFIG_CIFS_WEAK_PW_HASH is not set
# CONFIG_CIFS_UPCALL is not set
CONFIG_CIFS_XATTR=y
CONFIG_CIFS_POSIX=y
# CONFIG_CIFS_DEBUG2 is not set
CONFIG_CIFS_DFS_UPCALL=y
CONFIG_CIFS_FSCACHE=y
CONFIG_CIFS_ACL=y
# CONFIG_NCP_FS is not set
# CONFIG_CODA_FS is not set
# CONFIG_AFS_FS is not set
CONFIG_9P_FS=m
CONFIG_9P_FSCACHE=y
CONFIG_9P_FS_POSIX_ACL=y
CONFIG_NLS=y
CONFIG_NLS_DEFAULT="utf8"
CONFIG_NLS_CODEPAGE_437=y
# CONFIG_NLS_CODEPAGE_737 is not set
# CONFIG_NLS_CODEPAGE_775 is not set
# CONFIG_NLS_CODEPAGE_850 is not set
# CONFIG_NLS_CODEPAGE_852 is not set
CONFIG_NLS_CODEPAGE_855=y
# CONFIG_NLS_CODEPAGE_857 is not set
# CONFIG_NLS_CODEPAGE_860 is not set
# CONFIG_NLS_CODEPAGE_861 is not set
# CONFIG_NLS_CODEPAGE_862 is not set
# CONFIG_NLS_CODEPAGE_863 is not set
# CONFIG_NLS_CODEPAGE_864 is not set
# CONFIG_NLS_CODEPAGE_865 is not set
CONFIG_NLS_CODEPAGE_866=y
# CONFIG_NLS_CODEPAGE_869 is not set
# CONFIG_NLS_CODEPAGE_936 is not set
# CONFIG_NLS_CODEPAGE_950 is not set
# CONFIG_NLS_CODEPAGE_932 is not set
# CONFIG_NLS_CODEPAGE_949 is not set
# CONFIG_NLS_CODEPAGE_874 is not set
# CONFIG_NLS_ISO8859_8 is not set
# CONFIG_NLS_CODEPAGE_1250 is not set
CONFIG_NLS_CODEPAGE_1251=y
CONFIG_NLS_ASCII=y
CONFIG_NLS_ISO8859_1=y
# CONFIG_NLS_ISO8859_2 is not set
# CONFIG_NLS_ISO8859_3 is not set
# CONFIG_NLS_ISO8859_4 is not set
CONFIG_NLS_ISO8859_5=y
# CONFIG_NLS_ISO8859_6 is not set
# CONFIG_NLS_ISO8859_7 is not set
# CONFIG_NLS_ISO8859_9 is not set
# CONFIG_NLS_ISO8859_13 is not set
# CONFIG_NLS_ISO8859_14 is not set
CONFIG_NLS_ISO8859_15=y
CONFIG_NLS_KOI8_R=y
CONFIG_NLS_KOI8_U=y
CONFIG_NLS_UTF8=y
CONFIG_DLM=m
# CONFIG_DLM_DEBUG is not set
#
# Kernel hacking
#
CONFIG_TRACE_IRQFLAGS_SUPPORT=y
CONFIG_PRINTK_TIME=y
CONFIG_DEFAULT_MESSAGE_LOGLEVEL=4
# CONFIG_ENABLE_WARN_DEPRECATED is not set
# CONFIG_ENABLE_MUST_CHECK is not set
CONFIG_FRAME_WARN=1024
CONFIG_MAGIC_SYSRQ=y
CONFIG_STRIP_ASM_SYMS=y
# CONFIG_UNUSED_SYMBOLS is not set
# CONFIG_DEBUG_FS is not set
# CONFIG_HEADERS_CHECK is not set
# CONFIG_DEBUG_SECTION_MISMATCH is not set
CONFIG_DEBUG_KERNEL=y
# CONFIG_DEBUG_SHIRQ is not set
CONFIG_LOCKUP_DETECTOR=y
CONFIG_HARDLOCKUP_DETECTOR=y
# CONFIG_BOOTPARAM_HARDLOCKUP_PANIC is not set
CONFIG_BOOTPARAM_HARDLOCKUP_PANIC_VALUE=0
# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
CONFIG_DETECT_HUNG_TASK=y
CONFIG_DEFAULT_HUNG_TASK_TIMEOUT=120
# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set
CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0
# CONFIG_SCHED_DEBUG is not set
# CONFIG_SCHEDSTATS is not set
# CONFIG_TIMER_STATS is not set
# CONFIG_DEBUG_OBJECTS is not set
# CONFIG_SLUB_DEBUG_ON is not set
# CONFIG_SLUB_STATS is not set
# CONFIG_DEBUG_KMEMLEAK is not set
CONFIG_DEBUG_RT_MUTEXES=y
CONFIG_DEBUG_PI_LIST=y
# CONFIG_RT_MUTEX_TESTER is not set
# CONFIG_DEBUG_SPINLOCK is not set
# CONFIG_DEBUG_MUTEXES is not set
# CONFIG_DEBUG_LOCK_ALLOC is not set
# CONFIG_PROVE_LOCKING is not set
# CONFIG_SPARSE_RCU_POINTER is not set
# CONFIG_LOCK_STAT is not set
# CONFIG_DEBUG_ATOMIC_SLEEP is not set
# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
# CONFIG_DEBUG_STACK_USAGE is not set
# CONFIG_DEBUG_KOBJECT is not set
CONFIG_DEBUG_BUGVERBOSE=y
# CONFIG_DEBUG_INFO is not set
# CONFIG_DEBUG_VM is not set
# CONFIG_DEBUG_VIRTUAL is not set
# CONFIG_DEBUG_WRITECOUNT is not set
CONFIG_DEBUG_MEMORY_INIT=y
# CONFIG_DEBUG_LIST is not set
# CONFIG_TEST_LIST_SORT is not set
# CONFIG_DEBUG_SG is not set
# CONFIG_DEBUG_NOTIFIERS is not set
# CONFIG_DEBUG_CREDENTIALS is not set
CONFIG_ARCH_WANT_FRAME_POINTERS=y
CONFIG_FRAME_POINTER=y
# CONFIG_BOOT_PRINTK_DELAY is not set
# CONFIG_RCU_TORTURE_TEST is not set
CONFIG_RCU_CPU_STALL_TIMEOUT=60
# CONFIG_RCU_CPU_STALL_INFO is not set
# CONFIG_RCU_TRACE is not set
# CONFIG_BACKTRACE_SELF_TEST is not set
# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
# CONFIG_DEBUG_PER_CPU_MAPS is not set
# CONFIG_FAULT_INJECTION is not set
# CONFIG_LATENCYTOP is not set
# CONFIG_DEBUG_PAGEALLOC is not set
CONFIG_USER_STACKTRACE_SUPPORT=y
CONFIG_HAVE_FUNCTION_TRACER=y
CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
CONFIG_HAVE_FUNCTION_GRAPH_FP_TEST=y
CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST=y
CONFIG_HAVE_DYNAMIC_FTRACE=y
CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
CONFIG_HAVE_SYSCALL_TRACEPOINTS=y
CONFIG_HAVE_C_RECORDMCOUNT=y
CONFIG_TRACING_SUPPORT=y
# CONFIG_FTRACE is not set
# CONFIG_PROVIDE_OHCI1394_DMA_INIT is not set
# CONFIG_DMA_API_DEBUG is not set
# CONFIG_ATOMIC64_SELFTEST is not set
# CONFIG_ASYNC_RAID6_TEST is not set
# CONFIG_SAMPLES is not set
CONFIG_HAVE_ARCH_KGDB=y
# CONFIG_KGDB is not set
CONFIG_HAVE_ARCH_KMEMCHECK=y
# CONFIG_TEST_KSTRTOX is not set
CONFIG_STRICT_DEVMEM=y
CONFIG_X86_VERBOSE_BOOTUP=y
CONFIG_EARLY_PRINTK=y
# CONFIG_EARLY_PRINTK_DBGP is not set
# CONFIG_DEBUG_STACKOVERFLOW is not set
# CONFIG_X86_PTDUMP is not set
CONFIG_DEBUG_RODATA=y
# CONFIG_DEBUG_RODATA_TEST is not set
# CONFIG_DEBUG_SET_MODULE_RONX is not set
# CONFIG_DEBUG_NX_TEST is not set
# CONFIG_IOMMU_DEBUG is not set
# CONFIG_IOMMU_STRESS is not set
CONFIG_HAVE_MMIOTRACE_SUPPORT=y
CONFIG_IO_DELAY_TYPE_0X80=0
CONFIG_IO_DELAY_TYPE_0XED=1
CONFIG_IO_DELAY_TYPE_UDELAY=2
CONFIG_IO_DELAY_TYPE_NONE=3
CONFIG_IO_DELAY_0X80=y
# CONFIG_IO_DELAY_0XED is not set
# CONFIG_IO_DELAY_UDELAY is not set
# CONFIG_IO_DELAY_NONE is not set
CONFIG_DEFAULT_IO_DELAY_TYPE=0
# CONFIG_CPA_DEBUG is not set
# CONFIG_OPTIMIZE_INLINING is not set
# CONFIG_DEBUG_STRICT_USER_COPY_CHECKS is not set
# CONFIG_DEBUG_NMI_SELFTEST is not set
#
# Security options
#
CONFIG_KEYS=y
# CONFIG_ENCRYPTED_KEYS is not set
# CONFIG_KEYS_DEBUG_PROC_KEYS is not set
# CONFIG_SECURITY_DMESG_RESTRICT is not set
CONFIG_SECURITY=y
CONFIG_SECURITYFS=y
CONFIG_SECURITY_NETWORK=y
CONFIG_SECURITY_NETWORK_XFRM=y
CONFIG_SECURITY_PATH=y
# CONFIG_INTEL_TXT is not set
# CONFIG_SECURITY_SELINUX is not set
# CONFIG_SECURITY_TOMOYO is not set
CONFIG_SECURITY_APPARMOR=y
CONFIG_SECURITY_APPARMOR_BOOTPARAM_VALUE=1
# CONFIG_SECURITY_YAMA is not set
# CONFIG_IMA is not set
# CONFIG_EVM is not set
CONFIG_DEFAULT_SECURITY_APPARMOR=y
# CONFIG_DEFAULT_SECURITY_DAC is not set
CONFIG_DEFAULT_SECURITY="apparmor"
CONFIG_XOR_BLOCKS=y
CONFIG_ASYNC_CORE=y
CONFIG_ASYNC_MEMCPY=y
CONFIG_ASYNC_XOR=y
CONFIG_ASYNC_PQ=y
CONFIG_ASYNC_RAID6_RECOV=y
CONFIG_CRYPTO=y
#
# Crypto core or helper
#
CONFIG_CRYPTO_ALGAPI=y
CONFIG_CRYPTO_ALGAPI2=y
CONFIG_CRYPTO_AEAD=y
CONFIG_CRYPTO_AEAD2=y
CONFIG_CRYPTO_BLKCIPHER=y
CONFIG_CRYPTO_BLKCIPHER2=y
CONFIG_CRYPTO_HASH=y
CONFIG_CRYPTO_HASH2=y
CONFIG_CRYPTO_RNG=y
CONFIG_CRYPTO_RNG2=y
CONFIG_CRYPTO_PCOMP=y
CONFIG_CRYPTO_PCOMP2=y
CONFIG_CRYPTO_MANAGER=y
CONFIG_CRYPTO_MANAGER2=y
CONFIG_CRYPTO_USER=y
CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y
CONFIG_CRYPTO_GF128MUL=y
CONFIG_CRYPTO_NULL=m
CONFIG_CRYPTO_PCRYPT=m
CONFIG_CRYPTO_WORKQUEUE=y
CONFIG_CRYPTO_CRYPTD=y
CONFIG_CRYPTO_AUTHENC=y
# CONFIG_CRYPTO_TEST is not set
#
# Authenticated Encryption with Associated Data
#
CONFIG_CRYPTO_CCM=m
CONFIG_CRYPTO_GCM=m
CONFIG_CRYPTO_SEQIV=y
#
# Block modes
#
CONFIG_CRYPTO_CBC=y
CONFIG_CRYPTO_CTR=y
CONFIG_CRYPTO_CTS=m
CONFIG_CRYPTO_ECB=y
CONFIG_CRYPTO_LRW=y
CONFIG_CRYPTO_PCBC=m
CONFIG_CRYPTO_XTS=y
#
# Hash modes
#
CONFIG_CRYPTO_HMAC=y
CONFIG_CRYPTO_XCBC=m
CONFIG_CRYPTO_VMAC=m
#
# Digest
#
CONFIG_CRYPTO_CRC32C=y
CONFIG_CRYPTO_CRC32C_INTEL=y
CONFIG_CRYPTO_GHASH=m
CONFIG_CRYPTO_MD4=y
CONFIG_CRYPTO_MD5=y
CONFIG_CRYPTO_MICHAEL_MIC=y
CONFIG_CRYPTO_RMD128=y
CONFIG_CRYPTO_RMD160=y
CONFIG_CRYPTO_RMD256=y
CONFIG_CRYPTO_RMD320=y
CONFIG_CRYPTO_SHA1=y
CONFIG_CRYPTO_SHA1_SSSE3=y
CONFIG_CRYPTO_SHA256=y
CONFIG_CRYPTO_SHA512=y
CONFIG_CRYPTO_TGR192=m
CONFIG_CRYPTO_WP512=m
CONFIG_CRYPTO_GHASH_CLMUL_NI_INTEL=m
#
# Ciphers
#
CONFIG_CRYPTO_AES=y
CONFIG_CRYPTO_AES_X86_64=y
CONFIG_CRYPTO_AES_NI_INTEL=y
CONFIG_CRYPTO_ANUBIS=m
CONFIG_CRYPTO_ARC4=y
CONFIG_CRYPTO_BLOWFISH=y
CONFIG_CRYPTO_BLOWFISH_COMMON=y
CONFIG_CRYPTO_BLOWFISH_X86_64=y
CONFIG_CRYPTO_CAMELLIA=m
CONFIG_CRYPTO_CAMELLIA_X86_64=m
CONFIG_CRYPTO_CAST5=m
CONFIG_CRYPTO_CAST6=m
CONFIG_CRYPTO_DES=y
CONFIG_CRYPTO_FCRYPT=m
CONFIG_CRYPTO_KHAZAD=m
CONFIG_CRYPTO_SALSA20=m
CONFIG_CRYPTO_SALSA20_X86_64=m
CONFIG_CRYPTO_SEED=m
CONFIG_CRYPTO_SERPENT=y
CONFIG_CRYPTO_SERPENT_SSE2_X86_64=y
CONFIG_CRYPTO_TEA=m
CONFIG_CRYPTO_TWOFISH=m
CONFIG_CRYPTO_TWOFISH_COMMON=y
CONFIG_CRYPTO_TWOFISH_X86_64=y
CONFIG_CRYPTO_TWOFISH_X86_64_3WAY=y
#
# Compression
#
CONFIG_CRYPTO_DEFLATE=y
CONFIG_CRYPTO_ZLIB=y
CONFIG_CRYPTO_LZO=y
#
# Random Number Generation
#
CONFIG_CRYPTO_ANSI_CPRNG=y
CONFIG_CRYPTO_USER_API=y
CONFIG_CRYPTO_USER_API_HASH=y
CONFIG_CRYPTO_USER_API_SKCIPHER=y
# CONFIG_CRYPTO_HW is not set
CONFIG_HAVE_KVM=y
# CONFIG_VIRTUALIZATION is not set
# CONFIG_BINARY_PRINTF is not set
#
# Library routines
#
CONFIG_RAID6_PQ=y
CONFIG_BITREVERSE=y
CONFIG_GENERIC_FIND_FIRST_BIT=y
CONFIG_GENERIC_PCI_IOMAP=y
CONFIG_GENERIC_IOMAP=y
CONFIG_GENERIC_IO=y
CONFIG_CRC_CCITT=y
CONFIG_CRC16=y
CONFIG_CRC_T10DIF=m
CONFIG_CRC_ITU_T=y
CONFIG_CRC32=y
# CONFIG_CRC32_SELFTEST is not set
CONFIG_CRC32_SLICEBY8=y
# CONFIG_CRC32_SLICEBY4 is not set
# CONFIG_CRC32_SARWATE is not set
# CONFIG_CRC32_BIT is not set
CONFIG_CRC7=m
CONFIG_LIBCRC32C=y
# CONFIG_CRC8 is not set
CONFIG_ZLIB_INFLATE=y
CONFIG_ZLIB_DEFLATE=y
CONFIG_LZO_COMPRESS=y
CONFIG_LZO_DECOMPRESS=y
CONFIG_XZ_DEC=y
CONFIG_XZ_DEC_X86=y
CONFIG_XZ_DEC_POWERPC=y
CONFIG_XZ_DEC_IA64=y
CONFIG_XZ_DEC_ARM=y
CONFIG_XZ_DEC_ARMTHUMB=y
CONFIG_XZ_DEC_SPARC=y
CONFIG_XZ_DEC_BCJ=y
# CONFIG_XZ_DEC_TEST is not set
CONFIG_DECOMPRESS_GZIP=y
CONFIG_DECOMPRESS_BZIP2=y
CONFIG_DECOMPRESS_LZMA=y
CONFIG_DECOMPRESS_XZ=y
CONFIG_DECOMPRESS_LZO=y
CONFIG_TEXTSEARCH=y
CONFIG_TEXTSEARCH_KMP=m
CONFIG_TEXTSEARCH_BM=m
CONFIG_TEXTSEARCH_FSM=m
CONFIG_HAS_IOMEM=y
CONFIG_HAS_IOPORT=y
CONFIG_HAS_DMA=y
CONFIG_CHECK_SIGNATURE=y
CONFIG_CPU_RMAP=y
CONFIG_DQL=y
CONFIG_NLATTR=y
CONFIG_LRU_CACHE=m
# CONFIG_AVERAGE is not set
# CONFIG_CORDIC is not set
[-- Attachment #1.6: udpv6_sendmsg_lspci.txt --]
[-- Type: text/plain, Size: 26002 bytes --]
00:00.0 Host bridge: Intel Corporation N10 Family DMI Bridge (rev 02)
Subsystem: Intel Corporation DeskTop Board D510MO
Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort+ >SERR- <PERR- INTx-
Latency: 0
Capabilities: [e0] Vendor Specific Information: Len=08 <?>
00:02.0 VGA compatible controller: Intel Corporation N10 Family Integrated Graphics Controller (rev 02) (prog-if 00 [VGA controller])
Subsystem: Intel Corporation DeskTop Board D510MO
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 0
Interrupt: pin A routed to IRQ 11
Region 0: Memory at f0300000 (32-bit, non-prefetchable) [size=512K]
Region 1: I/O ports at 30c0 [size=8]
Region 2: Memory at e0000000 (32-bit, prefetchable) [size=256M]
Region 3: Memory at f0200000 (32-bit, non-prefetchable) [size=1M]
Expansion ROM at <unassigned> [disabled]
Capabilities: [90] MSI: Enable- Count=1/1 Maskable- 64bit-
Address: 00000000 Data: 0000
Capabilities: [d0] Power Management version 2
Flags: PMEClk- DSI+ D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
00:1c.0 PCI bridge: Intel Corporation N10/ICH 7 Family PCI Express Port 1 (rev 01) (prog-if 00 [Normal decode])
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 0, Cache Line Size: 64 bytes
Bus: primary=00, secondary=01, subordinate=01, sec-latency=0
I/O behind bridge: 00002000-00002fff
Memory behind bridge: d0000000-d04fffff
Prefetchable memory behind bridge: 00000000f0000000-00000000f00fffff
Secondary status: 66MHz- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- <SERR- <PERR-
BridgeCtl: Parity- SERR- NoISA+ VGA- MAbort- >Reset- FastB2B-
PriDiscTmr- SecDiscTmr- DiscTmrStat- DiscTmrSERREn-
Capabilities: [40] Express (v1) Root Port (Slot+), MSI 00
DevCap: MaxPayload 128 bytes, PhantFunc 0, Latency L0s unlimited, L1 unlimited
ExtTag- RBE- FLReset-
DevCtl: Report errors: Correctable- Non-Fatal- Fatal- Unsupported-
RlxdOrd- ExtTag- PhantFunc- AuxPwr- NoSnoop-
MaxPayload 128 bytes, MaxReadReq 128 bytes
DevSta: CorrErr+ UncorrErr- FatalErr- UnsuppReq- AuxPwr+ TransPend-
LnkCap: Port #1, Speed 2.5GT/s, Width x1, ASPM L0s L1, Latency L0 <256ns, L1 <4us
ClockPM- Surprise- LLActRep+ BwNot-
LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- Retrain- CommClk+
ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
LnkSta: Speed 2.5GT/s, Width x1, TrErr- Train- SlotClk+ DLActive+ BWMgmt- ABWMgmt-
SltCap: AttnBtn- PwrCtrl- MRL- AttnInd- PwrInd- HotPlug+ Surprise+
Slot #1, PowerLimit 10.000W; Interlock- NoCompl-
SltCtl: Enable: AttnBtn- PwrFlt- MRL- PresDet- CmdCplt- HPIrq- LinkChg-
Control: AttnInd Unknown, PwrInd Unknown, Power- Interlock-
SltSta: Status: AttnBtn- PowerFlt- MRL- CmdCplt- PresDet+ Interlock-
Changed: MRL- PresDet+ LinkState+
RootCtl: ErrCorrectable- ErrNon-Fatal- ErrFatal- PMEIntEna- CRSVisible-
RootCap: CRSVisible-
RootSta: PME ReqID 0000, PMEStatus- PMEPending-
Capabilities: [80] MSI: Enable+ Count=1/1 Maskable- 64bit-
Address: fee0f00c Data: 4161
Capabilities: [90] Subsystem: Intel Corporation Device 4f4d
Capabilities: [a0] Power Management version 2
Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0+,D1-,D2-,D3hot+,D3cold+)
Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
Capabilities: [100 v1] Virtual Channel
Caps: LPEVC=0 RefClk=100ns PATEntryBits=1
Arb: Fixed+ WRR32- WRR64- WRR128-
Ctrl: ArbSelect=Fixed
Status: InProgress-
VC0: Caps: PATOffset=00 MaxTimeSlots=1 RejSnoopTrans-
Arb: Fixed+ WRR32- WRR64- WRR128- TWRR128- WRR256-
Ctrl: Enable+ ID=0 ArbSelect=Fixed TC/VC=01
Status: NegoPending- InProgress-
VC1: Caps: PATOffset=00 MaxTimeSlots=1 RejSnoopTrans-
Arb: Fixed+ WRR32- WRR64- WRR128- TWRR128- WRR256-
Ctrl: Enable- ID=0 ArbSelect=Fixed TC/VC=00
Status: NegoPending- InProgress-
Capabilities: [180 v1] Root Complex Link
Desc: PortNumber=01 ComponentID=02 EltType=Config
Link0: Desc: TargetPort=00 TargetComponent=02 AssocRCRB- LinkType=MemMapped LinkValid+
Addr: 00000000fed1c001
Kernel driver in use: pcieport
00:1c.1 PCI bridge: Intel Corporation N10/ICH 7 Family PCI Express Port 2 (rev 01) (prog-if 00 [Normal decode])
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 0, Cache Line Size: 64 bytes
Bus: primary=00, secondary=02, subordinate=02, sec-latency=0
I/O behind bridge: 00004000-00004fff
Memory behind bridge: d0500000-d06fffff
Prefetchable memory behind bridge: 00000000d0700000-00000000d08fffff
Secondary status: 66MHz- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- <SERR- <PERR-
BridgeCtl: Parity- SERR- NoISA+ VGA- MAbort- >Reset- FastB2B-
PriDiscTmr- SecDiscTmr- DiscTmrStat- DiscTmrSERREn-
Capabilities: [40] Express (v1) Root Port (Slot+), MSI 00
DevCap: MaxPayload 128 bytes, PhantFunc 0, Latency L0s unlimited, L1 unlimited
ExtTag- RBE- FLReset-
DevCtl: Report errors: Correctable- Non-Fatal- Fatal- Unsupported-
RlxdOrd- ExtTag- PhantFunc- AuxPwr- NoSnoop-
MaxPayload 128 bytes, MaxReadReq 128 bytes
DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr+ TransPend-
LnkCap: Port #2, Speed 2.5GT/s, Width x1, ASPM L0s L1, Latency L0 <1us, L1 <4us
ClockPM- Surprise- LLActRep+ BwNot-
LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- Retrain- CommClk-
ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
LnkSta: Speed 2.5GT/s, Width x0, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
SltCap: AttnBtn- PwrCtrl- MRL- AttnInd- PwrInd- HotPlug+ Surprise+
Slot #2, PowerLimit 10.000W; Interlock- NoCompl-
SltCtl: Enable: AttnBtn- PwrFlt- MRL- PresDet- CmdCplt- HPIrq- LinkChg-
Control: AttnInd Unknown, PwrInd Unknown, Power- Interlock-
SltSta: Status: AttnBtn- PowerFlt- MRL- CmdCplt- PresDet- Interlock-
Changed: MRL- PresDet- LinkState-
RootCtl: ErrCorrectable- ErrNon-Fatal- ErrFatal- PMEIntEna- CRSVisible-
RootCap: CRSVisible-
RootSta: PME ReqID 0000, PMEStatus- PMEPending-
Capabilities: [80] MSI: Enable+ Count=1/1 Maskable- 64bit-
Address: fee0f00c Data: 4169
Capabilities: [90] Subsystem: Intel Corporation Device 4f4d
Capabilities: [a0] Power Management version 2
Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0+,D1-,D2-,D3hot+,D3cold+)
Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
Capabilities: [100 v1] Virtual Channel
Caps: LPEVC=0 RefClk=100ns PATEntryBits=1
Arb: Fixed+ WRR32- WRR64- WRR128-
Ctrl: ArbSelect=Fixed
Status: InProgress-
VC0: Caps: PATOffset=00 MaxTimeSlots=1 RejSnoopTrans-
Arb: Fixed+ WRR32- WRR64- WRR128- TWRR128- WRR256-
Ctrl: Enable+ ID=0 ArbSelect=Fixed TC/VC=01
Status: NegoPending- InProgress-
VC1: Caps: PATOffset=00 MaxTimeSlots=1 RejSnoopTrans-
Arb: Fixed+ WRR32- WRR64- WRR128- TWRR128- WRR256-
Ctrl: Enable- ID=0 ArbSelect=Fixed TC/VC=00
Status: NegoPending- InProgress-
Capabilities: [180 v1] Root Complex Link
Desc: PortNumber=02 ComponentID=02 EltType=Config
Link0: Desc: TargetPort=00 TargetComponent=02 AssocRCRB- LinkType=MemMapped LinkValid+
Addr: 00000000fed1c001
Kernel driver in use: pcieport
00:1c.2 PCI bridge: Intel Corporation N10/ICH 7 Family PCI Express Port 3 (rev 01) (prog-if 00 [Normal decode])
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 0, Cache Line Size: 64 bytes
Bus: primary=00, secondary=03, subordinate=03, sec-latency=0
I/O behind bridge: 00005000-00005fff
Memory behind bridge: d0900000-d0afffff
Prefetchable memory behind bridge: 00000000d0b00000-00000000d0cfffff
Secondary status: 66MHz- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- <SERR- <PERR-
BridgeCtl: Parity- SERR- NoISA+ VGA- MAbort- >Reset- FastB2B-
PriDiscTmr- SecDiscTmr- DiscTmrStat- DiscTmrSERREn-
Capabilities: [40] Express (v1) Root Port (Slot+), MSI 00
DevCap: MaxPayload 128 bytes, PhantFunc 0, Latency L0s unlimited, L1 unlimited
ExtTag- RBE- FLReset-
DevCtl: Report errors: Correctable- Non-Fatal- Fatal- Unsupported-
RlxdOrd- ExtTag- PhantFunc- AuxPwr- NoSnoop-
MaxPayload 128 bytes, MaxReadReq 128 bytes
DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr+ TransPend-
LnkCap: Port #3, Speed 2.5GT/s, Width x1, ASPM L0s L1, Latency L0 <1us, L1 <4us
ClockPM- Surprise- LLActRep+ BwNot-
LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- Retrain- CommClk-
ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
LnkSta: Speed 2.5GT/s, Width x0, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
SltCap: AttnBtn- PwrCtrl- MRL- AttnInd- PwrInd- HotPlug+ Surprise+
Slot #3, PowerLimit 10.000W; Interlock- NoCompl-
SltCtl: Enable: AttnBtn- PwrFlt- MRL- PresDet- CmdCplt- HPIrq- LinkChg-
Control: AttnInd Unknown, PwrInd Unknown, Power- Interlock-
SltSta: Status: AttnBtn- PowerFlt- MRL- CmdCplt- PresDet- Interlock-
Changed: MRL- PresDet- LinkState-
RootCtl: ErrCorrectable- ErrNon-Fatal- ErrFatal- PMEIntEna- CRSVisible-
RootCap: CRSVisible-
RootSta: PME ReqID 0000, PMEStatus- PMEPending-
Capabilities: [80] MSI: Enable+ Count=1/1 Maskable- 64bit-
Address: fee0f00c Data: 4171
Capabilities: [90] Subsystem: Intel Corporation Device 4f4d
Capabilities: [a0] Power Management version 2
Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0+,D1-,D2-,D3hot+,D3cold+)
Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
Capabilities: [100 v1] Virtual Channel
Caps: LPEVC=0 RefClk=100ns PATEntryBits=1
Arb: Fixed+ WRR32- WRR64- WRR128-
Ctrl: ArbSelect=Fixed
Status: InProgress-
VC0: Caps: PATOffset=00 MaxTimeSlots=1 RejSnoopTrans-
Arb: Fixed+ WRR32- WRR64- WRR128- TWRR128- WRR256-
Ctrl: Enable+ ID=0 ArbSelect=Fixed TC/VC=01
Status: NegoPending- InProgress-
VC1: Caps: PATOffset=00 MaxTimeSlots=1 RejSnoopTrans-
Arb: Fixed+ WRR32- WRR64- WRR128- TWRR128- WRR256-
Ctrl: Enable- ID=0 ArbSelect=Fixed TC/VC=00
Status: NegoPending- InProgress-
Capabilities: [180 v1] Root Complex Link
Desc: PortNumber=03 ComponentID=02 EltType=Config
Link0: Desc: TargetPort=00 TargetComponent=02 AssocRCRB- LinkType=MemMapped LinkValid+
Addr: 00000000fed1c001
Kernel driver in use: pcieport
00:1c.3 PCI bridge: Intel Corporation N10/ICH 7 Family PCI Express Port 4 (rev 01) (prog-if 00 [Normal decode])
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 0, Cache Line Size: 64 bytes
Bus: primary=00, secondary=04, subordinate=04, sec-latency=0
I/O behind bridge: 00006000-00006fff
Memory behind bridge: d0d00000-d0efffff
Prefetchable memory behind bridge: 00000000d0f00000-00000000d10fffff
Secondary status: 66MHz- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- <SERR- <PERR-
BridgeCtl: Parity- SERR- NoISA+ VGA- MAbort- >Reset- FastB2B-
PriDiscTmr- SecDiscTmr- DiscTmrStat- DiscTmrSERREn-
Capabilities: [40] Express (v1) Root Port (Slot+), MSI 00
DevCap: MaxPayload 128 bytes, PhantFunc 0, Latency L0s unlimited, L1 unlimited
ExtTag- RBE- FLReset-
DevCtl: Report errors: Correctable- Non-Fatal- Fatal- Unsupported-
RlxdOrd- ExtTag- PhantFunc- AuxPwr- NoSnoop-
MaxPayload 128 bytes, MaxReadReq 128 bytes
DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr+ TransPend-
LnkCap: Port #4, Speed 2.5GT/s, Width x1, ASPM L0s L1, Latency L0 <1us, L1 <4us
ClockPM- Surprise- LLActRep+ BwNot-
LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- Retrain- CommClk-
ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
LnkSta: Speed 2.5GT/s, Width x0, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
SltCap: AttnBtn- PwrCtrl- MRL- AttnInd- PwrInd- HotPlug+ Surprise+
Slot #4, PowerLimit 10.000W; Interlock- NoCompl-
SltCtl: Enable: AttnBtn- PwrFlt- MRL- PresDet- CmdCplt- HPIrq- LinkChg-
Control: AttnInd Unknown, PwrInd Unknown, Power- Interlock-
SltSta: Status: AttnBtn- PowerFlt- MRL- CmdCplt- PresDet- Interlock-
Changed: MRL- PresDet- LinkState-
RootCtl: ErrCorrectable- ErrNon-Fatal- ErrFatal- PMEIntEna- CRSVisible-
RootCap: CRSVisible-
RootSta: PME ReqID 0000, PMEStatus- PMEPending-
Capabilities: [80] MSI: Enable+ Count=1/1 Maskable- 64bit-
Address: fee0f00c Data: 4179
Capabilities: [90] Subsystem: Intel Corporation Device 4f4d
Capabilities: [a0] Power Management version 2
Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0+,D1-,D2-,D3hot+,D3cold+)
Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
Capabilities: [100 v1] Virtual Channel
Caps: LPEVC=0 RefClk=100ns PATEntryBits=1
Arb: Fixed+ WRR32- WRR64- WRR128-
Ctrl: ArbSelect=Fixed
Status: InProgress-
VC0: Caps: PATOffset=00 MaxTimeSlots=1 RejSnoopTrans-
Arb: Fixed+ WRR32- WRR64- WRR128- TWRR128- WRR256-
Ctrl: Enable+ ID=0 ArbSelect=Fixed TC/VC=01
Status: NegoPending- InProgress-
VC1: Caps: PATOffset=00 MaxTimeSlots=1 RejSnoopTrans-
Arb: Fixed+ WRR32- WRR64- WRR128- TWRR128- WRR256-
Ctrl: Enable- ID=0 ArbSelect=Fixed TC/VC=00
Status: NegoPending- InProgress-
Capabilities: [180 v1] Root Complex Link
Desc: PortNumber=04 ComponentID=02 EltType=Config
Link0: Desc: TargetPort=00 TargetComponent=02 AssocRCRB- LinkType=MemMapped LinkValid+
Addr: 00000000fed1c001
Kernel driver in use: pcieport
00:1d.0 USB controller: Intel Corporation N10/ICH 7 Family USB UHCI Controller #1 (rev 01) (prog-if 00 [UHCI])
Subsystem: Intel Corporation DeskTop Board D510MO
Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
Status: Cap- 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 0
Interrupt: pin A routed to IRQ 23
Region 4: I/O ports at 3080 [size=32]
Kernel driver in use: uhci_hcd
Kernel modules: uhci-hcd
00:1d.1 USB controller: Intel Corporation N10/ICH 7 Family USB UHCI Controller #2 (rev 01) (prog-if 00 [UHCI])
Subsystem: Intel Corporation DeskTop Board D510MO
Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
Status: Cap- 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 0
Interrupt: pin B routed to IRQ 19
Region 4: I/O ports at 3060 [size=32]
Kernel driver in use: uhci_hcd
Kernel modules: uhci-hcd
00:1d.2 USB controller: Intel Corporation N10/ICH 7 Family USB UHCI Controller #3 (rev 01) (prog-if 00 [UHCI])
Subsystem: Intel Corporation DeskTop Board D510MO
Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
Status: Cap- 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 0
Interrupt: pin C routed to IRQ 18
Region 4: I/O ports at 3040 [size=32]
Kernel driver in use: uhci_hcd
Kernel modules: uhci-hcd
00:1d.3 USB controller: Intel Corporation N10/ICH 7 Family USB UHCI Controller #4 (rev 01) (prog-if 00 [UHCI])
Subsystem: Intel Corporation DeskTop Board D510MO
Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
Status: Cap- 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 0
Interrupt: pin D routed to IRQ 16
Region 4: I/O ports at 3020 [size=32]
Kernel driver in use: uhci_hcd
Kernel modules: uhci-hcd
00:1d.7 USB controller: Intel Corporation N10/ICH 7 Family USB2 EHCI Controller (rev 01) (prog-if 20 [EHCI])
Subsystem: Intel Corporation DeskTop Board D510MO
Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 0
Interrupt: pin A routed to IRQ 23
Region 0: Memory at f0380400 (32-bit, non-prefetchable) [size=1K]
Capabilities: [50] Power Management version 2
Flags: PMEClk- DSI- D1- D2- AuxCurrent=375mA PME(D0+,D1-,D2-,D3hot+,D3cold+)
Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
Capabilities: [58] Debug port: BAR=1 offset=00a0
Kernel driver in use: ehci_hcd
00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev e1) (prog-if 01 [Subtractive decode])
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B- DisINTx-
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 0
Bus: primary=00, secondary=05, subordinate=06, sec-latency=0
I/O behind bridge: 00001000-00001fff
Memory behind bridge: f0100000-f01fffff
Prefetchable memory behind bridge: 00000000fff00000-00000000000fffff
Secondary status: 66MHz- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort+ <SERR- <PERR-
BridgeCtl: Parity- SERR- NoISA+ VGA- MAbort- >Reset- FastB2B-
PriDiscTmr- SecDiscTmr- DiscTmrStat- DiscTmrSERREn-
Capabilities: [50] Subsystem: Intel Corporation Device 4f4d
00:1f.0 ISA bridge: Intel Corporation NM10 Family LPC Controller (rev 01)
Subsystem: Intel Corporation DeskTop Board D510MO
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B- DisINTx-
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 0
Capabilities: [e0] Vendor Specific Information: Len=0c <?>
00:1f.2 SATA controller: Intel Corporation N10/ICH7 Family SATA Controller [AHCI mode] (rev 01) (prog-if 01 [AHCI 1.0])
Subsystem: Intel Corporation DeskTop Board D510MO
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
Status: Cap+ 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 0
Interrupt: pin B routed to IRQ 44
Region 0: I/O ports at 30b8 [size=8]
Region 1: I/O ports at 30cc [size=4]
Region 2: I/O ports at 30b0 [size=8]
Region 3: I/O ports at 30c8 [size=4]
Region 4: I/O ports at 30a0 [size=16]
Region 5: Memory at f0380000 (32-bit, non-prefetchable) [size=1K]
Capabilities: [80] MSI: Enable+ Count=1/1 Maskable- 64bit-
Address: fee0f00c Data: 4181
Capabilities: [70] Power Management version 2
Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot+,D3cold-)
Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
Kernel driver in use: ahci
00:1f.3 SMBus: Intel Corporation N10/ICH 7 Family SMBus Controller (rev 01)
Subsystem: Intel Corporation DeskTop Board D510MO
Control: I/O+ Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
Status: Cap- 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Interrupt: pin B routed to IRQ 19
Region 4: I/O ports at 3000 [size=32]
Kernel driver in use: i801_smbus
Kernel modules: i2c-i801
01:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 03)
Subsystem: Intel Corporation Desktop Board D510MO
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 0, Cache Line Size: 64 bytes
Interrupt: pin A routed to IRQ 45
Region 0: I/O ports at 2000 [size=256]
Region 2: Memory at f0004000 (64-bit, prefetchable) [size=4K]
Region 4: Memory at f0000000 (64-bit, prefetchable) [size=16K]
Expansion ROM at f0020000 [disabled] [size=128K]
Capabilities: [40] Power Management version 3
Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=375mA PME(D0+,D1+,D2+,D3hot+,D3cold+)
Status: D0 NoSoftRst+ PME-Enable- DSel=0 DScale=0 PME-
Capabilities: [50] MSI: Enable+ Count=1/1 Maskable- 64bit+
Address: 00000000fee0f00c Data: 4189
Capabilities: [70] Express (v2) Endpoint, MSI 01
DevCap: MaxPayload 256 bytes, PhantFunc 0, Latency L0s <512ns, L1 <64us
ExtTag- AttnBtn- AttnInd- PwrInd- RBE+ FLReset-
DevCtl: Report errors: Correctable- Non-Fatal- Fatal- Unsupported-
RlxdOrd+ ExtTag- PhantFunc- AuxPwr- NoSnoop-
MaxPayload 128 bytes, MaxReadReq 4096 bytes
DevSta: CorrErr+ UncorrErr- FatalErr- UnsuppReq+ AuxPwr+ TransPend-
LnkCap: Port #0, Speed 2.5GT/s, Width x1, ASPM L0s L1, Latency L0 <512ns, L1 <64us
ClockPM+ Surprise- LLActRep- BwNot-
LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- Retrain- CommClk+
ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
LnkSta: Speed 2.5GT/s, Width x1, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
DevCap2: Completion Timeout: Not Supported, TimeoutDis+
DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis-
LnkCtl2: Target Link Speed: 2.5GT/s, EnterCompliance- SpeedDis-, Selectable De-emphasis: -6dB
Transmit Margin: Normal Operating Range, EnterModifiedCompliance- ComplianceSOS-
Compliance De-emphasis: -6dB
LnkSta2: Current De-emphasis Level: -6dB, EqualizationComplete-, EqualizationPhase1-
EqualizationPhase2-, EqualizationPhase3-, LinkEqualizationRequest-
Capabilities: [ac] MSI-X: Enable- Count=4 Masked-
Vector table: BAR=4 offset=00000000
PBA: BAR=4 offset=00000800
Capabilities: [cc] Vital Product Data
Unknown small resource type 00, will not decode more.
Capabilities: [100 v1] Advanced Error Reporting
UESta: DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
UEMsk: DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
UESvrt: DLP+ SDES+ TLP- FCP+ CmpltTO- CmpltAbrt- UnxCmplt- RxOF+ MalfTLP+ ECRC- UnsupReq- ACSViol-
CESta: RxErr+ BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr+
CEMsk: RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr+
AERCap: First Error Pointer: 00, GenCap+ CGenEn- ChkCap+ ChkEn-
Capabilities: [140 v1] Virtual Channel
Caps: LPEVC=0 RefClk=100ns PATEntryBits=1
Arb: Fixed- WRR32- WRR64- WRR128-
Ctrl: ArbSelect=Fixed
Status: InProgress-
VC0: Caps: PATOffset=00 MaxTimeSlots=1 RejSnoopTrans-
Arb: Fixed- WRR32- WRR64- WRR128- TWRR128- WRR256-
Ctrl: Enable+ ID=0 ArbSelect=Fixed TC/VC=01
Status: NegoPending- InProgress-
Capabilities: [160 v1] Device Serial Number 03-00-00-00-68-4c-e0-00
Kernel driver in use: r8169
05:00.0 PCI bridge: Intel Corporation 21154 PCI-to-PCI Bridge (prog-if 00 [Normal decode])
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B+ DisINTx-
Status: Cap+ 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 32, Cache Line Size: 64 bytes
Bus: primary=05, secondary=06, subordinate=06, sec-latency=0
I/O behind bridge: 00001000-00001fff
Memory behind bridge: f0100000-f01fffff
Prefetchable memory behind bridge: 00000000fff00000-00000000000fffff
Secondary status: 66MHz- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- <SERR- <PERR-
BridgeCtl: Parity- SERR- NoISA+ VGA- MAbort- >Reset- FastB2B+
PriDiscTmr- SecDiscTmr- DiscTmrStat- DiscTmrSERREn-
Capabilities: [dc] Power Management version 1
Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0+,D1+,D2+,D3hot+,D3cold+)
Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
Bridge: PM- B3+
06:04.0 Ethernet controller: Intel Corporation 82557/8/9/0/1 Ethernet Pro 100 (rev 0d)
Subsystem: Intel Corporation EtherExpress PRO/100 S Dual Port Server Adapter
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV+ VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 32 (2000ns min, 14000ns max), Cache Line Size: 64 bytes
Interrupt: pin A routed to IRQ 21
Region 0: Memory at f0141000 (32-bit, non-prefetchable) [size=4K]
Region 1: I/O ports at 1040 [size=64]
Region 2: Memory at f0120000 (32-bit, non-prefetchable) [size=128K]
Capabilities: [dc] Power Management version 2
Flags: PMEClk- DSI+ D1+ D2+ AuxCurrent=0mA PME(D0+,D1+,D2+,D3hot+,D3cold+)
Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=2 PME-
Kernel driver in use: e100
Kernel modules: e100
06:05.0 Ethernet controller: Intel Corporation 82557/8/9/0/1 Ethernet Pro 100 (rev 0d)
Subsystem: Intel Corporation EtherExpress PRO/100 S Dual Port Server Adapter
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV+ VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 32 (2000ns min, 14000ns max), Cache Line Size: 64 bytes
Interrupt: pin A routed to IRQ 22
Region 0: Memory at f0140000 (32-bit, non-prefetchable) [size=4K]
Region 1: I/O ports at 1000 [size=64]
Region 2: Memory at f0100000 (32-bit, non-prefetchable) [size=128K]
Capabilities: [dc] Power Management version 2
Flags: PMEClk- DSI+ D1+ D2+ AuxCurrent=0mA PME(D0+,D1+,D2+,D3hot+,D3cold+)
Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=2 PME-
Kernel driver in use: e100
Kernel modules: e100
[-- Attachment #1.7: udpv6_sendmsg_message.txt --]
[-- Type: text/plain, Size: 2638 bytes --]
PROBLEM: regression in ipv6 / udpv6_sendmsg between 3.2/3.3 kernels, causing panics
Good day,
Local IPv6-enabled system suffers from really frequent (but somewhat random)
kernel panics, with mainline kernel versions, starting from 3.3, always
featuring udpv6_sendmsg in the produced stack trace.
Machine in question acts like an internet gateway, hosting quite a few services
as well, traffic goes through it as well as originates from it.
It is connected to IPv6 via sit tunnel over regular ISP-provided IPv4 connection.
First time I've seen this error was just a few seconds after network was
configured on first boot with 3.3 kernel.
I've tried updating kernel to later 3.3.X versions and 3.4 series (stack trace
captured is from 3.4.2).
Machine worked months with different 3.2.X kernels (starting from 3.2, latest
being 3.2.16) with no problems of this kind whatsoever (no major kernel errors
like oops, bug or panic).
Panic seem to happen reliably within 12 hours of booting kernel 3.3+ and
enabling ipv6 sit tunnel to the outside world.
So far, I've seen about 5-10 of these and they always feature udpv6_sendmsg
somewhere at the top.
Latest traceback (with 3.4.2, ver_linux output attached as well) on a laptop
camera and is attached.
I've tried reproducing it on local ipv6 network with iperf-generated udp traffic
(since there doesn't seem to be any local ipv6/udp services on the machine) with
no luck thus far.
In most cases, mainline (Linus tree) kernel versions from kernel.org were used
with AppArmor userspace compatibility patches
(http://wiki.apparmor.net/index.php/Main_Page#Userspace, included in the
archive).
Seeing apparmor calls in the stack traces (and since no apparmor profiles are
used on this machine), I've tried disabling AppArmor LSM, but eventually got the
same panic.
Hardware is a low-spec commodity amd64 Intel Atom miniITX platform.
Kernel config and hardware information attached.
Only workarounds I've been able to find so far is running 3.2.X kernels or
disabling sit tunnel (and IPv6 connectivity), but both seem to be far from
perfect.
Bisection doesn't seem to be an easy option, because error seem to be fairly
random, not triggered by just any udp traffic.
Can someone maybe point out specific commits I can try to revert, to see if
it'll solve the issue?
I haven't looked at the changes to the relevant code paths in 3.2-3.3 timeframe
myself yet, but intend to try eventually, though I'm not familiar enough with
the kernel architecture and code to make much sense of it, I'm afraid.
Thanks in advance for any assistance.
[-- Attachment #1.8: udpv6_sendmsg_modules.txt --]
[-- Type: text/plain, Size: 2807 bytes --]
iptable_mangle 1376 1 - Live 0xffffffffa03b9000
crypto_null 2468 0 - Live 0xffffffffa03b5000
camellia_generic 18121 0 - Live 0xffffffffa03ad000
camellia_x86_64 44696 0 - Live 0xffffffffa039f000
cast6 8321 0 - Live 0xffffffffa0399000
cast5 14309 0 - Live 0xffffffffa0392000
cts 3664 0 - Live 0xffffffffa038e000
gcm 10963 0 - Live 0xffffffffa0387000
ccm 6870 0 - Live 0xffffffffa0382000
twofish_generic 6065 0 - Live 0xffffffffa037d000
xcbc 2285 0 - Live 0xffffffffa0379000
ah6 4864 0 - Live 0xffffffffa0374000
ah4 4520 0 - Live 0xffffffffa036f000
esp6 4993 8 - Live 0xffffffffa036a000
esp4 5277 12 - Live 0xffffffffa0365000
xfrm4_mode_beet 1731 0 - Live 0xffffffffa0361000
xfrm4_tunnel 1649 0 - Live 0xffffffffa035d000
xfrm4_mode_tunnel 1592 0 - Live 0xffffffffa0359000
xfrm4_mode_transport 1186 24 - Live 0xffffffffa0355000
xfrm6_mode_transport 1250 16 - Live 0xffffffffa0351000
xfrm6_mode_ro 1062 0 - Live 0xffffffffa034d000
xfrm6_mode_beet 1618 0 - Live 0xffffffffa0349000
xfrm6_mode_tunnel 1544 0 - Live 0xffffffffa0345000
ipcomp 1740 0 - Live 0xffffffffa0341000
ipcomp6 1772 0 - Live 0xffffffffa033d000
xfrm_ipcomp 3191 2 ipcomp,ipcomp6, Live 0xffffffffa0339000
xfrm6_tunnel 2935 1 ipcomp6, Live 0xffffffffa0335000
tunnel6 1816 1 xfrm6_tunnel, Live 0xffffffffa0331000
ipip 6920 0 - Live 0xffffffffa032c000
tunnel4 1965 2 xfrm4_tunnel,ipip, Live 0xffffffffa0328000
xt_NFLOG 998 6 - Live 0xffffffffa0324000
nfnetlink_log 6421 3 xt_NFLOG, Live 0xffffffffa031e000
ip6table_mangle 1428 1 - Live 0xffffffffa031a000
xt_policy 2146 4 - Live 0xffffffffa0316000
xt_pkttype 947 6 - Live 0xffffffffa0312000
xt_connmark 1621 46 - Live 0xffffffffa030e000
xt_set 3957 4 - Live 0xffffffffa030a000
ip_set_hash_ip 16525 1 - Live 0xffffffffa0302000
ip_set 18434 2 xt_set,ip_set_hash_ip, Live 0xffffffffa02f9000
nfnetlink 2658 3 nfnetlink_log,ip_set, Live 0xffffffffa02f5000
w83627hf 18852 0 - Live 0xffffffffa02eb000
hwmon_vid 1916 1 w83627hf, Live 0xffffffffa02e7000
nfsd 206140 11 - Live 0xffffffffa0258000
tcp_lp 1642 0 - Live 0xffffffffa013b000
tun 12465 2 - Live 0xffffffffa0133000
nfs 269018 2 - Live 0xffffffffa00da000
lockd 51525 2 nfsd,nfs, Live 0xffffffffa00c6000
fscache 24087 1 nfs, Live 0xffffffffa00ba000
auth_rpcgss 26194 2 nfsd,nfs, Live 0xffffffffa00ae000
nfs_acl 1959 2 nfsd,nfs, Live 0xffffffffa00aa000
sunrpc 145593 25 nfsd,nfs,lockd,auth_rpcgss,nfs_acl, Live 0xffffffffa0074000
ppdev 5262 0 - Live 0xffffffffa006f000
i2c_i801 7092 0 - Live 0xffffffffa006a000
parport_pc 27584 0 - Live 0xffffffffa005d000
uhci_hcd 17416 0 - Live 0xffffffffa0039000
coretemp 4208 0 - Live 0xffffffffa0034000
hwmon 1201 2 w83627hf,coretemp, Live 0xffffffffa0024000
e100 24894 0 - Live 0xffffffffa000c000
parport 26375 2 ppdev,parport_pc, Live 0xffffffffa0000000
[-- Attachment #1.9: udpv6_sendmsg_panic.jpg --]
[-- Type: image/jpeg, Size: 93060 bytes --]
[-- Attachment #1.10: udpv6_sendmsg_ver_linux.txt --]
[-- Type: text/plain, Size: 1360 bytes --]
If some fields are empty or look unusual you may have an old version.
Compare to the current minimal requirements in Documentation/Changes.
Linux damnation 3.4.2-fg.mf_master #1 SMP Tue Jun 12 14:45:14 YEKT 2012 x86_64 GNU/Linux
Gnu C 4.6.3
Gnu make 3.82
binutils 2.22
util-linux 2.21.1
mount support
module-init-tools 3.16
e2fsprogs 1.42.3
reiserfsprogs 3.6.21
xfsprogs 3.1.8
PPP 2.4.5
Linux C Library 2.13
Dynamic linker (ldd) 2.13
Linux C++ Library 6..
Procps 3.3.3
Net-tools 1.60_p20120127084908
Kbd 1.15.3
Sh-utils 8.16
Modules Loaded iptable_mangle crypto_null camellia_generic camellia_x86_64 cast6 cast5 cts gcm ccm twofish_generic xcbc ah6 ah4 esp6 esp4 xfrm4_mode_beet xfrm4_tunnel xfrm4_mode_tunnel xfrm4_mode_transport xfrm6_mode_transport xfrm6_mode_ro xfrm6_mode_beet xfrm6_mode_tunnel ipcomp ipcomp6 xfrm_ipcomp xfrm6_tunnel tunnel6 ipip tunnel4 xt_NFLOG nfnetlink_log ip6table_mangle xt_policy xt_pkttype xt_connmark xt_set ip_set_hash_ip ip_set nfnetlink w83627hf hwmon_vid nfsd tcp_lp tun nfs lockd fscache auth_rpcgss nfs_acl sunrpc ppdev i2c_i801 parport_pc uhci_hcd coretemp hwmon e100 parport
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 198 bytes --]
^ permalink raw reply
* Re: [PATCH 03/10] netfilter: add nf_ct_kfree_compat_sysctl_table to make codes clear
From: Pablo Neira Ayuso @ 2012-06-15 10:08 UTC (permalink / raw)
To: Gao feng; +Cc: netdev, netfilter-devel
In-Reply-To: <4FDA9186.408@cn.fujitsu.com>
On Fri, Jun 15, 2012 at 09:36:06AM +0800, Gao feng wrote:
> Hi Pablo:
>
> 于 2012年06月15日 02:06, Pablo Neira Ayuso 写道:
> > On Thu, Jun 14, 2012 at 06:07:18PM +0800, Gao feng wrote:
> >> add function nf_ct_kfree_compat_sysctl_table to kfree l4proto's
> >> compat sysctl table and set the sysctl table point to NULL.
> >>
> >> Signed-off-by: Gao feng <gaofeng@cn.fujitsu.com>
> >> ---
> >> include/net/netfilter/nf_conntrack_l4proto.h | 8 ++++++++
> >> net/netfilter/nf_conntrack_proto.c | 4 +---
> >> 2 files changed, 9 insertions(+), 3 deletions(-)
> >>
> >> diff --git a/include/net/netfilter/nf_conntrack_l4proto.h b/include/net/netfilter/nf_conntrack_l4proto.h
> >> index 5dd60f2..889b717 100644
> >> --- a/include/net/netfilter/nf_conntrack_l4proto.h
> >> +++ b/include/net/netfilter/nf_conntrack_l4proto.h
> >> @@ -132,6 +132,14 @@ extern int nf_ct_port_nlattr_to_tuple(struct nlattr *tb[],
> >> extern int nf_ct_port_nlattr_tuple_size(void);
> >> extern const struct nla_policy nf_ct_port_nla_policy[];
> >>
> >> +static inline void nf_ct_kfree_compat_sysctl_table(struct nf_proto_net *pn)
> >> +{
> >> +#if defined(CONFIG_SYSCTL) && defined(CONFIG_NF_CONNTRACK_PROC_COMPAT)
> >> + kfree(pn->ctl_compat_table);
> >> + pn->ctl_compat_table = NULL;
> >> +#endif
> >> +}
inline is usually reserved for fast path, not initialization path.
Although this function is fairly small, I think I prefer that this
function is defined in nf_conntrack_proto.c and exported.
> >> +
> >> #ifdef CONFIG_SYSCTL
> >> #ifdef DEBUG_INVALID_PACKETS
> >> #define LOG_INVALID(net, proto) \
> >> diff --git a/net/netfilter/nf_conntrack_proto.c b/net/netfilter/nf_conntrack_proto.c
> >> index 8fc0332..c9df1b4 100644
> >> --- a/net/netfilter/nf_conntrack_proto.c
> >> +++ b/net/netfilter/nf_conntrack_proto.c
> >> @@ -361,9 +361,7 @@ int nf_ct_l4proto_register_sysctl(struct net *net,
> >> NULL);
> >> if (err == 0)
> >> goto out;
> >> -
> >> - kfree(pn->ctl_compat_table);
> >> - pn->ctl_compat_table = NULL;
> >> + nf_ct_kfree_compat_sysctl_table(pn);
> >
> > if this is the only client of this function, then make it static and
> > define it inside nf_conntrack_proto.c
> >
>
> tcp_init_net,udp_init_net use this function too.
>
> Thanks
> --
> To unsubscribe from this list: send the line "unsubscribe netdev" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply
* Re: [PATCH 02/10] netfilter: add parameter proto for l4proto.init_net
From: Pablo Neira Ayuso @ 2012-06-15 10:10 UTC (permalink / raw)
To: Gao feng; +Cc: netdev, netfilter-devel
In-Reply-To: <4FDA921F.1020804@cn.fujitsu.com>
On Fri, Jun 15, 2012 at 09:38:39AM +0800, Gao feng wrote:
> 于 2012年06月15日 01:59, Pablo Neira Ayuso 写道:
> > On Thu, Jun 14, 2012 at 06:07:17PM +0800, Gao feng wrote:
> >> there are redundancy codes in l4proto's init_net functions.
> >> we can use one init_net function and l3proto to impletment
> >> the same thing.
> >>
> >> So we should add l3proto as a parameter for init_net function.
> >>
> >> Signed-off-by: Gao feng <gaofeng@cn.fujitsu.com>
> >> ---
> >> include/net/netfilter/nf_conntrack_l4proto.h | 2 +-
> >> net/ipv4/netfilter/nf_conntrack_proto_icmp.c | 2 +-
> >> net/ipv6/netfilter/nf_conntrack_proto_icmpv6.c | 2 +-
> >> net/netfilter/nf_conntrack_proto.c | 6 ++++--
> >> net/netfilter/nf_conntrack_proto_dccp.c | 2 +-
> >> net/netfilter/nf_conntrack_proto_generic.c | 2 +-
> >> net/netfilter/nf_conntrack_proto_gre.c | 2 +-
> >> net/netfilter/nf_conntrack_proto_sctp.c | 4 ++--
> >> net/netfilter/nf_conntrack_proto_tcp.c | 4 ++--
> >> net/netfilter/nf_conntrack_proto_udp.c | 4 ++--
> >> net/netfilter/nf_conntrack_proto_udplite.c | 2 +-
> >> 11 files changed, 17 insertions(+), 15 deletions(-)
> >>
> >> diff --git a/include/net/netfilter/nf_conntrack_l4proto.h b/include/net/netfilter/nf_conntrack_l4proto.h
> >> index 81c52b5..5dd60f2 100644
> >> --- a/include/net/netfilter/nf_conntrack_l4proto.h
> >> +++ b/include/net/netfilter/nf_conntrack_l4proto.h
> >> @@ -97,7 +97,7 @@ struct nf_conntrack_l4proto {
> >> #endif
> >> int *net_id;
> >> /* Init l4proto pernet data */
> >> - int (*init_net)(struct net *net);
> >> + int (*init_net)(struct net *net, u_int16_t proto);
> >>
> >> /* Protocol name */
> >> const char *name;
> >> diff --git a/net/ipv4/netfilter/nf_conntrack_proto_icmp.c b/net/ipv4/netfilter/nf_conntrack_proto_icmp.c
> >> index 041923c..76f7a2f 100644
> >> --- a/net/ipv4/netfilter/nf_conntrack_proto_icmp.c
> >> +++ b/net/ipv4/netfilter/nf_conntrack_proto_icmp.c
> >> @@ -337,7 +337,7 @@ static struct ctl_table icmp_compat_sysctl_table[] = {
> >> #endif /* CONFIG_NF_CONNTRACK_PROC_COMPAT */
> >> #endif /* CONFIG_SYSCTL */
> >>
> >> -static int icmp_init_net(struct net *net)
> >> +static int icmp_init_net(struct net *net, u_int16_t proto)
> >> {
> >> struct nf_icmp_net *in = icmp_pernet(net);
> >> struct nf_proto_net *pn = (struct nf_proto_net *)in;
> >> diff --git a/net/ipv6/netfilter/nf_conntrack_proto_icmpv6.c b/net/ipv6/netfilter/nf_conntrack_proto_icmpv6.c
> >> index 63ed012..807ae09 100644
> >> --- a/net/ipv6/netfilter/nf_conntrack_proto_icmpv6.c
> >> +++ b/net/ipv6/netfilter/nf_conntrack_proto_icmpv6.c
> >> @@ -333,7 +333,7 @@ static struct ctl_table icmpv6_sysctl_table[] = {
> >> };
> >> #endif /* CONFIG_SYSCTL */
> >>
> >> -static int icmpv6_init_net(struct net *net)
> >> +static int icmpv6_init_net(struct net *net, u_int16_t proto)
> >> {
> >> struct nf_icmp_net *in = icmpv6_pernet(net);
> >> struct nf_proto_net *pn = (struct nf_proto_net *)in;
> >> diff --git a/net/netfilter/nf_conntrack_proto.c b/net/netfilter/nf_conntrack_proto.c
> >> index a434dd7..8fc0332 100644
> >> --- a/net/netfilter/nf_conntrack_proto.c
> >> +++ b/net/netfilter/nf_conntrack_proto.c
> >> @@ -193,6 +193,7 @@ static int nf_ct_l3proto_register_sysctl(struct net *net,
> >> l3proto->ctl_table_path,
> >> in->ctl_table,
> >> NULL);
> >> +
> >
> > This entire patchset contains many extra new lines. If you want to
> > provide some cleanup, it should come in some follow-up patch.
>
> Ok, I will make a follow-up patch to do some cleanup.
I prefer if you wait a bit until I see how this looks like in the end.
Then, we can apply this little comestical changes.
--
To unsubscribe from this list: send the line "unsubscribe netfilter-devel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply
* pull-request: can: 2012-06-15
From: Marc Kleine-Budde @ 2012-06-15 10:20 UTC (permalink / raw)
To: davem; +Cc: netdev, linux-can
Hello David,
here is a patch intended for v3.5, targeting net/master.
Dan Carpenter found a precedence error in c_can_chip_config() function
in the c_can driver, preventing that listen only + loop back mode can be
activated.
regards,
Marc
^ permalink raw reply
* [PATCH] can: c_can: precedence error in c_can_chip_config()
From: Marc Kleine-Budde @ 2012-06-15 10:20 UTC (permalink / raw)
To: davem; +Cc: netdev, linux-can, Dan Carpenter, Marc Kleine-Budde
In-Reply-To: <1339755644-6686-1-git-send-email-mkl@pengutronix.de>
From: Dan Carpenter <dan.carpenter@oracle.com>
(CAN_CTRLMODE_LISTENONLY & CAN_CTRLMODE_LOOPBACK) is (0x02 & 0x01) which
is zero so the condition is never true. The intent here was to test
that both flags were set.
Cc: <stable@kernel.org> # 2.6.39+
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Acked-by: Oliver Hartkopp <socketcan@hartkopp.net>
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
---
drivers/net/can/c_can/c_can.c | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/net/can/c_can/c_can.c b/drivers/net/can/c_can/c_can.c
index 8dc84d6..86cd532 100644
--- a/drivers/net/can/c_can/c_can.c
+++ b/drivers/net/can/c_can/c_can.c
@@ -590,8 +590,8 @@ static void c_can_chip_config(struct net_device *dev)
priv->write_reg(priv, &priv->regs->control,
CONTROL_ENABLE_AR);
- if (priv->can.ctrlmode & (CAN_CTRLMODE_LISTENONLY &
- CAN_CTRLMODE_LOOPBACK)) {
+ if ((priv->can.ctrlmode & CAN_CTRLMODE_LISTENONLY) &&
+ (priv->can.ctrlmode & CAN_CTRLMODE_LOOPBACK)) {
/* loopback + silent mode : useful for hot self-test */
priv->write_reg(priv, &priv->regs->control, CONTROL_EIE |
CONTROL_SIE | CONTROL_IE | CONTROL_TEST);
--
1.7.4.1
^ permalink raw reply related
* Re: [PATCH wireless-next 18/20] ti: Use pr_<level>
From: Joe Perches @ 2012-06-15 10:42 UTC (permalink / raw)
To: Luciano Coelho; +Cc: linux-kernel, John W. Linville, linux-wireless, netdev
In-Reply-To: <1339749374.4502.80.camel@cumari.coelho.fi>
On Fri, 2012-06-15 at 11:36 +0300, Luciano Coelho wrote:
> Hi Joe,
Hi Luciano.
> As Johannes already mentioned, I have to also ask why do you need to do
> this?
To use a more consistent logging style.
To minimize unnecessary changes when adding
similar drivers based on this code.
> I see the point, slightly, with the wl1251 code, because it is
> still using printks, but with wlcore and friends, there's no functional
> change.
Using a consistent logging style minimizes defects.
> As mentioned above, this change here is acceptable, but removing the \n
> from the macro and adding it at the end of each and every call is
> useless and will just skew git-blame and make it harder to do rebase or
> apply patches because of conflicts.
In practice, the merging won't be much of an issue.
Neither will git blame.
> > -#define wl1271_warning(fmt, arg...) \
> > - pr_warning(DRIVER_PREFIX "WARNING " fmt "\n", ##arg)
> > +#define wl1271_warn(fmt, arg...) \
> > + pr_warn(DRIVER_PREFIX "WARNING " fmt, ##arg)
>
> Using pr_warn instead of pr_warning is pointless. pr_warning is the
> main definition, actually, and pr_warn is just a "mirror".
I expect one day to reverse the definitions.
The kernel is moving, albeit slowly to prefer
pr_warn to mirror dev_warn, netdev_warn, etc.
Most of these uses will eventually become netdev_warn.
netdev_warn still uses a \n.
> Again, moving the \n from the macro definition and changing all the
> callers is an unnecessary, intrusive change.
>
> We have wanted to change "wl1271" to "wl12xx" for a long time, but we
> don't do it exactly because this means we need to change the calls
> everywhere.
Nothing in ever _needed_, no child will go
hungry or fed here. This is a consistency change.
There are a couple of instances where \n is
currently used unnecessarily that are fixed in
the conversion.
$ git grep -E "\bwl12[0-9]+_[a-z]+\s*\(.*\\\\n\"" drivers/net/wireless/ti
drivers/net/wireless/ti/wl12xx/cmd.c: wl1271_debug(DEBUG_CMD, "FEM autodetect: %s, manufacturer: %d\n",
drivers/net/wireless/ti/wl12xx/cmd.c: wl1271_debug(DEBUG_CMD, "FEM autodetect: %s, manufacturer: %d\n",
drivers/net/wireless/ti/wlcore/main.c: wl1271_error("Incorrect ampdu action id=%x\n", action);
People make these mistakes because the more
common and adjacent dev_<level> code _use_
a newline. Using a consistent style minimzes
these defects.
cheers, Joe
^ permalink raw reply
* Re: [PATCH wireless-next 00/20] Use pr_<level>
From: Joe Perches @ 2012-06-15 10:48 UTC (permalink / raw)
To: Johannes Berg; +Cc: linux-wireless, b43-dev, libertas-dev, netdev, linux-kernel
In-Reply-To: <1339745811.4512.0.camel@jlt3.sipsolutions.net>
On Fri, 2012-06-15 at 09:36 +0200, Johannes Berg wrote:
> On Thu, 2012-06-14 at 22:53 -0700, Joe Perches wrote:
> > Update logging style
>
> So ... since we make everybody else explain *why* they make a change, I
> think you should too.
To improve logging style consistency.
To reduce logging defects.
To standardize logging prefixes.
To tee up conversions of:
pr_<level>("%s: ...", ([truct netdevice *]foo)->name, ...)
to
netdev_<level>(foo, "...", ...)
^ permalink raw reply
* Re: [PATCH 02/10] netfilter: add parameter proto for l4proto.init_net
From: Gao feng @ 2012-06-15 10:49 UTC (permalink / raw)
To: Pablo Neira Ayuso; +Cc: netdev, netfilter-devel
In-Reply-To: <20120615101045.GC13867@1984>
于 2012年06月15日 18:10, Pablo Neira Ayuso 写道:
> On Fri, Jun 15, 2012 at 09:38:39AM +0800, Gao feng wrote:
>> 于 2012年06月15日 01:59, Pablo Neira Ayuso 写道:
>>> On Thu, Jun 14, 2012 at 06:07:17PM +0800, Gao feng wrote:
>>>> there are redundancy codes in l4proto's init_net functions.
>>>> we can use one init_net function and l3proto to impletment
>>>> the same thing.
>>>>
>>>> So we should add l3proto as a parameter for init_net function.
>>>>
>>>> Signed-off-by: Gao feng <gaofeng@cn.fujitsu.com>
>>>> ---
>>>> include/net/netfilter/nf_conntrack_l4proto.h | 2 +-
>>>> net/ipv4/netfilter/nf_conntrack_proto_icmp.c | 2 +-
>>>> net/ipv6/netfilter/nf_conntrack_proto_icmpv6.c | 2 +-
>>>> net/netfilter/nf_conntrack_proto.c | 6 ++++--
>>>> net/netfilter/nf_conntrack_proto_dccp.c | 2 +-
>>>> net/netfilter/nf_conntrack_proto_generic.c | 2 +-
>>>> net/netfilter/nf_conntrack_proto_gre.c | 2 +-
>>>> net/netfilter/nf_conntrack_proto_sctp.c | 4 ++--
>>>> net/netfilter/nf_conntrack_proto_tcp.c | 4 ++--
>>>> net/netfilter/nf_conntrack_proto_udp.c | 4 ++--
>>>> net/netfilter/nf_conntrack_proto_udplite.c | 2 +-
>>>> 11 files changed, 17 insertions(+), 15 deletions(-)
>>>>
>>>> diff --git a/include/net/netfilter/nf_conntrack_l4proto.h b/include/net/netfilter/nf_conntrack_l4proto.h
>>>> index 81c52b5..5dd60f2 100644
>>>> --- a/include/net/netfilter/nf_conntrack_l4proto.h
>>>> +++ b/include/net/netfilter/nf_conntrack_l4proto.h
>>>> @@ -97,7 +97,7 @@ struct nf_conntrack_l4proto {
>>>> #endif
>>>> int *net_id;
>>>> /* Init l4proto pernet data */
>>>> - int (*init_net)(struct net *net);
>>>> + int (*init_net)(struct net *net, u_int16_t proto);
>>>>
>>>> /* Protocol name */
>>>> const char *name;
>>>> diff --git a/net/ipv4/netfilter/nf_conntrack_proto_icmp.c b/net/ipv4/netfilter/nf_conntrack_proto_icmp.c
>>>> index 041923c..76f7a2f 100644
>>>> --- a/net/ipv4/netfilter/nf_conntrack_proto_icmp.c
>>>> +++ b/net/ipv4/netfilter/nf_conntrack_proto_icmp.c
>>>> @@ -337,7 +337,7 @@ static struct ctl_table icmp_compat_sysctl_table[] = {
>>>> #endif /* CONFIG_NF_CONNTRACK_PROC_COMPAT */
>>>> #endif /* CONFIG_SYSCTL */
>>>>
>>>> -static int icmp_init_net(struct net *net)
>>>> +static int icmp_init_net(struct net *net, u_int16_t proto)
>>>> {
>>>> struct nf_icmp_net *in = icmp_pernet(net);
>>>> struct nf_proto_net *pn = (struct nf_proto_net *)in;
>>>> diff --git a/net/ipv6/netfilter/nf_conntrack_proto_icmpv6.c b/net/ipv6/netfilter/nf_conntrack_proto_icmpv6.c
>>>> index 63ed012..807ae09 100644
>>>> --- a/net/ipv6/netfilter/nf_conntrack_proto_icmpv6.c
>>>> +++ b/net/ipv6/netfilter/nf_conntrack_proto_icmpv6.c
>>>> @@ -333,7 +333,7 @@ static struct ctl_table icmpv6_sysctl_table[] = {
>>>> };
>>>> #endif /* CONFIG_SYSCTL */
>>>>
>>>> -static int icmpv6_init_net(struct net *net)
>>>> +static int icmpv6_init_net(struct net *net, u_int16_t proto)
>>>> {
>>>> struct nf_icmp_net *in = icmpv6_pernet(net);
>>>> struct nf_proto_net *pn = (struct nf_proto_net *)in;
>>>> diff --git a/net/netfilter/nf_conntrack_proto.c b/net/netfilter/nf_conntrack_proto.c
>>>> index a434dd7..8fc0332 100644
>>>> --- a/net/netfilter/nf_conntrack_proto.c
>>>> +++ b/net/netfilter/nf_conntrack_proto.c
>>>> @@ -193,6 +193,7 @@ static int nf_ct_l3proto_register_sysctl(struct net *net,
>>>> l3proto->ctl_table_path,
>>>> in->ctl_table,
>>>> NULL);
>>>> +
>>>
>>> This entire patchset contains many extra new lines. If you want to
>>> provide some cleanup, it should come in some follow-up patch.
>>
>> Ok, I will make a follow-up patch to do some cleanup.
>
> I prefer if you wait a bit until I see how this looks like in the end.
> Then, we can apply this little comestical changes.
Ok, waiting for you ;)
^ permalink raw reply
* Re: [PATCH] ipv6: Prevent access to uninitialized fib_table_hash via /proc/net/ipv6_route
From: Neil Horman @ 2012-06-15 10:56 UTC (permalink / raw)
To: Thomas Graf; +Cc: davem, netdev
In-Reply-To: <e4b53a15fadbe5c1aa5402fcc8172b0ee281da33.1339750783.git.tgraf@suug.ch>
On Fri, Jun 15, 2012 at 11:00:17AM +0200, Thomas Graf wrote:
> /proc/net/ipv6_route reflects the contents of fib_table_hash. The proc
> handler is installed in ip6_route_net_init() whereas fib_table_hash is
> allocated in fib6_net_init() _after_ the proc handler has been installed.
>
> This opens up a short time frame to access fib_table_hash with its pants
> down.
>
> fib6_init() as a whole can't be moved to an earlier position as it also
> registers the rtnetlink message handlers which should be registered at
> the end. Therefore split it into fib6_init() which is run early and
> fib6_init_late() to register the rtnetlink message handlers.
>
> Signed-off-by: Thomas Graf <tgraf@suug.ch>
Reviewed-by: Neil Horman <nhorman@tuxdriver.com>
>
^ permalink raw reply
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