Netdev List
 help / color / mirror / Atom feed
* [PATCH RFC] xfrm: Don't queue retransmitted packets if the original is still on the host
From: Steffen Klassert @ 2013-10-16 11:42 UTC (permalink / raw)
  To: Eric Dumazet; +Cc: David Miller, netdev
In-Reply-To: <20131016094549.GZ7660@secunet.com>

It does not make sense to queue retransmitted packets if the
original packet is still in some queue of this host. So add
a check to xdst_queue_output() and drop the packet if the
original packet is not yet sent.

Signed-off-by: Steffen Klassert <steffen.klassert@secunet.com>
---
 net/xfrm/xfrm_policy.c |    7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/net/xfrm/xfrm_policy.c b/net/xfrm/xfrm_policy.c
index ed38d5d..e09edfc 100644
--- a/net/xfrm/xfrm_policy.c
+++ b/net/xfrm/xfrm_policy.c
@@ -1832,6 +1832,13 @@ static int xdst_queue_output(struct sk_buff *skb)
 	struct dst_entry *dst = skb_dst(skb);
 	struct xfrm_dst *xdst = (struct xfrm_dst *) dst;
 	struct xfrm_policy_queue *pq = &xdst->pols[0]->polq;
+	const struct sk_buff *fclone = skb + 1;
+
+	if (unlikely(skb->fclone == SKB_FCLONE_ORIG &&
+		     fclone->fclone == SKB_FCLONE_CLONE)) {
+		kfree_skb(skb);
+		return 0;
+	}
 
 	if (pq->hold_queue.qlen > XFRM_MAX_QUEUE_LEN) {
 		kfree_skb(skb);
-- 
1.7.9.5

^ permalink raw reply related

* Re: "xfrm: Fix the gc threshold value for ipv4" broke my IPSec connections
From: Steffen Klassert @ 2013-10-16 11:35 UTC (permalink / raw)
  To: Eric Dumazet; +Cc: Damian Pietras, netdev
In-Reply-To: <1381877486.2045.78.camel@edumazet-glaptop.roam.corp.google.com>

On Tue, Oct 15, 2013 at 03:51:26PM -0700, Eric Dumazet wrote:
> On Wed, 2013-10-16 at 00:15 +0200, Damian Pietras wrote:
> > On 15.10.2013 23:02, Eric Dumazet wrote:
> > >> 703fb94ec58e0e8769380c2877a8a34aeb5b6c97
> > >> xfrm: Fix the gc threshold value for ipv4
> > >>
> > >> Reverting it on 3.10.15 fixes my issue. This seems to be there from 3.7
> > >> and I don't really believe such simple case stayed broken for so long.
> > >> Em I missing something or there is really a bug?
> > >>
> > >> If smeone is interested in details of this configuration and commands
> > >> I'm running, just let me know. This was reproduced with few VMs under XEN.
> > >>
> > > 
> > > It looks like you need to tune /proc/sys/net/ipv4/xfrm4_gc_thresh to a
> > > sensible value given your workload.
> > > 
> > > try :
> > > 
> > > echo 65536 >/proc/sys/net/ipv4/xfrm4_gc_thresh
> > > 
> > > Presumably the 1024 default is really too small...
> > 
> > Now it's working in my test setup, I'm changing it on the production
> > boxes, thanks!
> > 
> > 
> 
> Steffen, what do you think ?
> 
> 1024 seems really small, given we had much higher values.

Sure, we can increase the default value, maybe along with the ipv6 side.
Any recomendation on a good default for both?

> 
> (256 K on a 1GB host)
> 
> This sysctl also needs an entry in
> Documentation/networking/ip-sysctl.txt
> 

Yes, it's undocumented. I'll take care of it.

^ permalink raw reply

* [PATCH] wanxl: fix info leak in ioctl
From: Salva Peiró @ 2013-10-16 10:46 UTC (permalink / raw)
  To: netdev; +Cc: Salva Peiró, Krzysztof Halasa, security

The wanxl_ioctl() code fails to initialize the two padding bytes of
struct sync_serial_settings after the ->loopback member. Add an explicit
memset(0) before filling the structure to avoid the info leak.

Signed-off-by: Salva Peiró <speiro@ai2.upv.es>
---
 drivers/net/wan/wanxl.c |    1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/net/wan/wanxl.c b/drivers/net/wan/wanxl.c
index 6a24a5a..4c0a697 100644
--- a/drivers/net/wan/wanxl.c
+++ b/drivers/net/wan/wanxl.c
@@ -355,6 +355,7 @@ static int wanxl_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd)
 			ifr->ifr_settings.size = size; /* data size wanted */
 			return -ENOBUFS;
 		}
+		memset(&line, 0, sizeof(line));
 		line.clock_type = get_status(port)->clocking;
 		line.clock_rate = 0;
 		line.loopback = 0;
--
1.7.10.4

^ permalink raw reply related

* [PATCH 4/5] net: rfkill: gpio: prepare for DT and ACPI support
From: Heikki Krogerus @ 2013-10-16 10:53 UTC (permalink / raw)
  To: John W. Linville
  Cc: Johannes Berg, Rhyland Klein, Rafael J. Wysocki, linux-acpi,
	linux-wireless, netdev
In-Reply-To: <1381920823-15403-1-git-send-email-heikki.krogerus@linux.intel.com>

This will add the relevant values like the gpios and the
type in rfkill_gpio_platform_data to the rfkill_gpio_data
structure. It will allow those values to be easily picked
from DT and ACPI tables later.

Signed-off-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
---
 net/rfkill/rfkill-gpio.c | 92 +++++++++++++++++++++++++++---------------------
 1 file changed, 51 insertions(+), 41 deletions(-)

diff --git a/net/rfkill/rfkill-gpio.c b/net/rfkill/rfkill-gpio.c
index aa4ac10..2dd78c6 100644
--- a/net/rfkill/rfkill-gpio.c
+++ b/net/rfkill/rfkill-gpio.c
@@ -28,12 +28,17 @@
 #include <linux/rfkill-gpio.h>
 
 struct rfkill_gpio_data {
-	struct rfkill_gpio_platform_data	*pdata;
-	struct rfkill				*rfkill_dev;
-	char					*reset_name;
-	char					*shutdown_name;
-	struct clk				*clk;
-	bool					clk_enabled;
+	const char		*name;
+	enum rfkill_type	type;
+	int			reset_gpio;
+	int			shutdown_gpio;
+
+	struct rfkill		*rfkill_dev;
+	char			*reset_name;
+	char			*shutdown_name;
+	struct clk		*clk;
+
+	bool			clk_enabled;
 };
 
 static int rfkill_gpio_set_power(void *data, bool blocked)
@@ -41,19 +46,19 @@ static int rfkill_gpio_set_power(void *data, bool blocked)
 	struct rfkill_gpio_data *rfkill = data;
 
 	if (blocked) {
-		if (gpio_is_valid(rfkill->pdata->shutdown_gpio))
-			gpio_set_value(rfkill->pdata->shutdown_gpio, 0);
-		if (gpio_is_valid(rfkill->pdata->reset_gpio))
-			gpio_set_value(rfkill->pdata->reset_gpio, 0);
+		if (gpio_is_valid(rfkill->shutdown_gpio))
+			gpio_set_value(rfkill->shutdown_gpio, 0);
+		if (gpio_is_valid(rfkill->reset_gpio))
+			gpio_set_value(rfkill->reset_gpio, 0);
 		if (!IS_ERR(rfkill->clk) && rfkill->clk_enabled)
 			clk_disable(rfkill->clk);
 	} else {
 		if (!IS_ERR(rfkill->clk) && !rfkill->clk_enabled)
 			clk_enable(rfkill->clk);
-		if (gpio_is_valid(rfkill->pdata->reset_gpio))
-			gpio_set_value(rfkill->pdata->reset_gpio, 1);
-		if (gpio_is_valid(rfkill->pdata->shutdown_gpio))
-			gpio_set_value(rfkill->pdata->shutdown_gpio, 1);
+		if (gpio_is_valid(rfkill->reset_gpio))
+			gpio_set_value(rfkill->reset_gpio, 1);
+		if (gpio_is_valid(rfkill->shutdown_gpio))
+			gpio_set_value(rfkill->shutdown_gpio, 1);
 	}
 
 	rfkill->clk_enabled = blocked;
@@ -67,29 +72,35 @@ static const struct rfkill_ops rfkill_gpio_ops = {
 
 static int rfkill_gpio_probe(struct platform_device *pdev)
 {
-	struct rfkill_gpio_data *rfkill;
 	struct rfkill_gpio_platform_data *pdata = pdev->dev.platform_data;
+	struct rfkill_gpio_data *rfkill;
+	const char *clk_name = NULL;
 	int ret = 0;
 	int len = 0;
 
-	if (!pdata) {
-		pr_warn("%s: No platform data specified\n", __func__);
-		return -EINVAL;
+	rfkill = devm_kzalloc(&pdev->dev, sizeof(*rfkill), GFP_KERNEL);
+	if (!rfkill)
+		return -ENOMEM;
+
+	if (pdata) {
+		clk_name = pdata->power_clk_name;
+		rfkill->name = pdata->name;
+		rfkill->type = pdata->type;
+		rfkill->reset_gpio = pdata->reset_gpio;
+		rfkill->shutdown_gpio = pdata->shutdown_gpio;
+	} else {
+		return -ENODEV;
 	}
 
 	/* make sure at-least one of the GPIO is defined and that
 	 * a name is specified for this instance */
-	if (!pdata->name || (!gpio_is_valid(pdata->reset_gpio) &&
-		!gpio_is_valid(pdata->shutdown_gpio))) {
+	if ((!gpio_is_valid(rfkill->reset_gpio) &&
+	     !gpio_is_valid(rfkill->shutdown_gpio)) || !rfkill->name) {
 		pr_warn("%s: invalid platform data\n", __func__);
 		return -EINVAL;
 	}
 
-	rfkill = devm_kzalloc(&pdev->dev, sizeof(*rfkill), GFP_KERNEL);
-	if (!rfkill)
-		return -ENOMEM;
-
-	if (pdata->gpio_runtime_setup) {
+	if (pdata && pdata->gpio_runtime_setup) {
 		ret = pdata->gpio_runtime_setup(pdev);
 		if (ret) {
 			pr_warn("%s: can't set up gpio\n", __func__);
@@ -97,9 +108,7 @@ static int rfkill_gpio_probe(struct platform_device *pdev)
 		}
 	}
 
-	rfkill->pdata = pdata;
-
-	len = strlen(pdata->name);
+	len = strlen(rfkill->name);
 	rfkill->reset_name = devm_kzalloc(&pdev->dev, len + 7, GFP_KERNEL);
 	if (!rfkill->reset_name)
 		return -ENOMEM;
@@ -108,13 +117,13 @@ static int rfkill_gpio_probe(struct platform_device *pdev)
 	if (!rfkill->shutdown_name)
 		return -ENOMEM;
 
-	snprintf(rfkill->reset_name, len + 6 , "%s_reset", pdata->name);
-	snprintf(rfkill->shutdown_name, len + 9, "%s_shutdown", pdata->name);
+	snprintf(rfkill->reset_name, len + 6 , "%s_reset", rfkill->name);
+	snprintf(rfkill->shutdown_name, len + 9, "%s_shutdown", rfkill->name);
 
-	rfkill->clk = devm_clk_get(&pdev->dev, pdata->power_clk_name);
+	rfkill->clk = devm_clk_get(&pdev->dev, clk_name);
 
-	if (gpio_is_valid(pdata->reset_gpio)) {
-		ret = devm_gpio_request_one(&pdev->dev, pdata->reset_gpio,
+	if (gpio_is_valid(rfkill->reset_gpio)) {
+		ret = devm_gpio_request_one(&pdev->dev, rfkill->reset_gpio,
 					    0, rfkill->reset_name);
 		if (ret) {
 			pr_warn("%s: failed to get reset gpio.\n", __func__);
@@ -122,8 +131,8 @@ static int rfkill_gpio_probe(struct platform_device *pdev)
 		}
 	}
 
-	if (gpio_is_valid(pdata->shutdown_gpio)) {
-		ret = devm_gpio_request_one(&pdev->dev, pdata->shutdown_gpio,
+	if (gpio_is_valid(rfkill->shutdown_gpio)) {
+		ret = devm_gpio_request_one(&pdev->dev, rfkill->shutdown_gpio,
 					    0, rfkill->shutdown_name);
 		if (ret) {
 			pr_warn("%s: failed to get shutdown gpio.\n", __func__);
@@ -131,8 +140,9 @@ static int rfkill_gpio_probe(struct platform_device *pdev)
 		}
 	}
 
-	rfkill->rfkill_dev = rfkill_alloc(pdata->name, &pdev->dev, pdata->type,
-					  &rfkill_gpio_ops, rfkill);
+	rfkill->rfkill_dev = rfkill_alloc(rfkill->name, &pdev->dev,
+					  rfkill->type, &rfkill_gpio_ops,
+					  rfkill);
 	if (!rfkill->rfkill_dev)
 		return -ENOMEM;
 
@@ -142,7 +152,7 @@ static int rfkill_gpio_probe(struct platform_device *pdev)
 
 	platform_set_drvdata(pdev, rfkill);
 
-	dev_info(&pdev->dev, "%s device registered.\n", pdata->name);
+	dev_info(&pdev->dev, "%s device registered.\n", rfkill->name);
 
 	return 0;
 }
@@ -152,7 +162,7 @@ static int rfkill_gpio_remove(struct platform_device *pdev)
 	struct rfkill_gpio_data *rfkill = platform_get_drvdata(pdev);
 	struct rfkill_gpio_platform_data *pdata = pdev->dev.platform_data;
 
-	if (pdata->gpio_runtime_close)
+	if (pdata && pdata->gpio_runtime_close)
 		pdata->gpio_runtime_close(pdev);
 	rfkill_unregister(rfkill->rfkill_dev);
 	rfkill_destroy(rfkill->rfkill_dev);
@@ -164,8 +174,8 @@ static struct platform_driver rfkill_gpio_driver = {
 	.probe = rfkill_gpio_probe,
 	.remove = rfkill_gpio_remove,
 	.driver = {
-		   .name = "rfkill_gpio",
-		   .owner = THIS_MODULE,
+		.name = "rfkill_gpio",
+		.owner = THIS_MODULE,
 	},
 };
 
-- 
1.8.4.rc3

^ permalink raw reply related

* [PATCH 2/5] net: rfkill: gpio: clean up clock handling
From: Heikki Krogerus @ 2013-10-16 10:53 UTC (permalink / raw)
  To: John W. Linville
  Cc: Johannes Berg, Rhyland Klein, Rafael J. Wysocki, linux-acpi,
	linux-wireless, netdev
In-Reply-To: <1381920823-15403-1-git-send-email-heikki.krogerus@linux.intel.com>

Use a simple flag to see the state of the clock, and make
the clock available even without a name. Also, get rid of
HAVE_CLK dependency.

Signed-off-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
---
 net/rfkill/Kconfig       |  2 +-
 net/rfkill/rfkill-gpio.c | 35 ++++++++---------------------------
 2 files changed, 9 insertions(+), 28 deletions(-)

diff --git a/net/rfkill/Kconfig b/net/rfkill/Kconfig
index 78efe89..4c10e7e 100644
--- a/net/rfkill/Kconfig
+++ b/net/rfkill/Kconfig
@@ -36,7 +36,7 @@ config RFKILL_REGULATOR
 
 config RFKILL_GPIO
 	tristate "GPIO RFKILL driver"
-	depends on RFKILL && GPIOLIB && HAVE_CLK
+	depends on RFKILL && GPIOLIB
 	default n
 	help
 	  If you say yes here you get support of a generic gpio RFKILL
diff --git a/net/rfkill/rfkill-gpio.c b/net/rfkill/rfkill-gpio.c
index 0705806..1d104e7 100644
--- a/net/rfkill/rfkill-gpio.c
+++ b/net/rfkill/rfkill-gpio.c
@@ -27,24 +27,13 @@
 
 #include <linux/rfkill-gpio.h>
 
-enum rfkill_gpio_clk_state {
-	UNSPECIFIED = 0,
-	PWR_ENABLED,
-	PWR_DISABLED
-};
-
-#define PWR_CLK_SET(_RF, _EN) \
-	((_RF)->pwr_clk_enabled = (!(_EN) ? PWR_ENABLED : PWR_DISABLED))
-#define PWR_CLK_ENABLED(_RF) ((_RF)->pwr_clk_enabled == PWR_ENABLED)
-#define PWR_CLK_DISABLED(_RF) ((_RF)->pwr_clk_enabled != PWR_ENABLED)
-
 struct rfkill_gpio_data {
 	struct rfkill_gpio_platform_data	*pdata;
 	struct rfkill				*rfkill_dev;
 	char					*reset_name;
 	char					*shutdown_name;
-	enum rfkill_gpio_clk_state		pwr_clk_enabled;
-	struct clk				*pwr_clk;
+	struct clk				*clk;
+	bool					clk_enabled;
 };
 
 static int rfkill_gpio_set_power(void *data, bool blocked)
@@ -56,19 +45,18 @@ static int rfkill_gpio_set_power(void *data, bool blocked)
 			gpio_direction_output(rfkill->pdata->shutdown_gpio, 0);
 		if (gpio_is_valid(rfkill->pdata->reset_gpio))
 			gpio_direction_output(rfkill->pdata->reset_gpio, 0);
-		if (rfkill->pwr_clk && PWR_CLK_ENABLED(rfkill))
-			clk_disable(rfkill->pwr_clk);
+		if (!IS_ERR(rfkill->clk) && rfkill->clk_enabled)
+			clk_disable(rfkill->clk);
 	} else {
-		if (rfkill->pwr_clk && PWR_CLK_DISABLED(rfkill))
-			clk_enable(rfkill->pwr_clk);
+		if (!IS_ERR(rfkill->clk) && !rfkill->clk_enabled)
+			clk_enable(rfkill->clk);
 		if (gpio_is_valid(rfkill->pdata->reset_gpio))
 			gpio_direction_output(rfkill->pdata->reset_gpio, 1);
 		if (gpio_is_valid(rfkill->pdata->shutdown_gpio))
 			gpio_direction_output(rfkill->pdata->shutdown_gpio, 1);
 	}
 
-	if (rfkill->pwr_clk)
-		PWR_CLK_SET(rfkill, blocked);
+	rfkill->clk_enabled = blocked;
 
 	return 0;
 }
@@ -123,14 +111,7 @@ static int rfkill_gpio_probe(struct platform_device *pdev)
 	snprintf(rfkill->reset_name, len + 6 , "%s_reset", pdata->name);
 	snprintf(rfkill->shutdown_name, len + 9, "%s_shutdown", pdata->name);
 
-	if (pdata->power_clk_name) {
-		rfkill->pwr_clk = devm_clk_get(&pdev->dev,
-						pdata->power_clk_name);
-		if (IS_ERR(rfkill->pwr_clk)) {
-			pr_warn("%s: can't find pwr_clk.\n", __func__);
-			return PTR_ERR(rfkill->pwr_clk);
-		}
-	}
+	rfkill->clk = devm_clk_get(&pdev->dev, pdata->power_clk_name);
 
 	if (gpio_is_valid(pdata->reset_gpio)) {
 		ret = devm_gpio_request(&pdev->dev, pdata->reset_gpio,
-- 
1.8.4.rc3

^ permalink raw reply related

* [PATCH 1/5] net: rfkill: gpio: convert to resource managed allocation
From: Heikki Krogerus @ 2013-10-16 10:53 UTC (permalink / raw)
  To: John W. Linville
  Cc: Johannes Berg, Rhyland Klein, Rafael J. Wysocki, linux-acpi,
	linux-wireless, netdev
In-Reply-To: <1381920823-15403-1-git-send-email-heikki.krogerus@linux.intel.com>

And remove now unneeded resource freeing.

Signed-off-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
---
 net/rfkill/rfkill-gpio.c | 75 +++++++++++++-----------------------------------
 1 file changed, 20 insertions(+), 55 deletions(-)

diff --git a/net/rfkill/rfkill-gpio.c b/net/rfkill/rfkill-gpio.c
index fb076cd..0705806 100644
--- a/net/rfkill/rfkill-gpio.c
+++ b/net/rfkill/rfkill-gpio.c
@@ -97,7 +97,7 @@ static int rfkill_gpio_probe(struct platform_device *pdev)
 		return -EINVAL;
 	}
 
-	rfkill = kzalloc(sizeof(*rfkill), GFP_KERNEL);
+	rfkill = devm_kzalloc(&pdev->dev, sizeof(*rfkill), GFP_KERNEL);
 	if (!rfkill)
 		return -ENOMEM;
 
@@ -105,89 +105,65 @@ static int rfkill_gpio_probe(struct platform_device *pdev)
 		ret = pdata->gpio_runtime_setup(pdev);
 		if (ret) {
 			pr_warn("%s: can't set up gpio\n", __func__);
-			goto fail_alloc;
+			return ret;
 		}
 	}
 
 	rfkill->pdata = pdata;
 
 	len = strlen(pdata->name);
-	rfkill->reset_name = kzalloc(len + 7, GFP_KERNEL);
-	if (!rfkill->reset_name) {
-		ret = -ENOMEM;
-		goto fail_alloc;
-	}
+	rfkill->reset_name = devm_kzalloc(&pdev->dev, len + 7, GFP_KERNEL);
+	if (!rfkill->reset_name)
+		return -ENOMEM;
 
-	rfkill->shutdown_name = kzalloc(len + 10, GFP_KERNEL);
-	if (!rfkill->shutdown_name) {
-		ret = -ENOMEM;
-		goto fail_reset_name;
-	}
+	rfkill->shutdown_name = devm_kzalloc(&pdev->dev, len + 10, GFP_KERNEL);
+	if (!rfkill->shutdown_name)
+		return -ENOMEM;
 
 	snprintf(rfkill->reset_name, len + 6 , "%s_reset", pdata->name);
 	snprintf(rfkill->shutdown_name, len + 9, "%s_shutdown", pdata->name);
 
 	if (pdata->power_clk_name) {
-		rfkill->pwr_clk = clk_get(&pdev->dev, pdata->power_clk_name);
+		rfkill->pwr_clk = devm_clk_get(&pdev->dev,
+						pdata->power_clk_name);
 		if (IS_ERR(rfkill->pwr_clk)) {
 			pr_warn("%s: can't find pwr_clk.\n", __func__);
-			ret = PTR_ERR(rfkill->pwr_clk);
-			goto fail_shutdown_name;
+			return PTR_ERR(rfkill->pwr_clk);
 		}
 	}
 
 	if (gpio_is_valid(pdata->reset_gpio)) {
-		ret = gpio_request(pdata->reset_gpio, rfkill->reset_name);
+		ret = devm_gpio_request(&pdev->dev, pdata->reset_gpio,
+					rfkill->reset_name);
 		if (ret) {
 			pr_warn("%s: failed to get reset gpio.\n", __func__);
-			goto fail_clock;
+			return ret;
 		}
 	}
 
 	if (gpio_is_valid(pdata->shutdown_gpio)) {
-		ret = gpio_request(pdata->shutdown_gpio, rfkill->shutdown_name);
+		ret = devm_gpio_request(&pdev->dev, pdata->shutdown_gpio,
+					rfkill->shutdown_name);
 		if (ret) {
 			pr_warn("%s: failed to get shutdown gpio.\n", __func__);
-			goto fail_reset;
+			return ret;
 		}
 	}
 
 	rfkill->rfkill_dev = rfkill_alloc(pdata->name, &pdev->dev, pdata->type,
 					  &rfkill_gpio_ops, rfkill);
-	if (!rfkill->rfkill_dev) {
-		ret = -ENOMEM;
-		goto fail_shutdown;
-	}
+	if (!rfkill->rfkill_dev)
+		return -ENOMEM;
 
 	ret = rfkill_register(rfkill->rfkill_dev);
 	if (ret < 0)
-		goto fail_rfkill;
+		return ret;
 
 	platform_set_drvdata(pdev, rfkill);
 
 	dev_info(&pdev->dev, "%s device registered.\n", pdata->name);
 
 	return 0;
-
-fail_rfkill:
-	rfkill_destroy(rfkill->rfkill_dev);
-fail_shutdown:
-	if (gpio_is_valid(pdata->shutdown_gpio))
-		gpio_free(pdata->shutdown_gpio);
-fail_reset:
-	if (gpio_is_valid(pdata->reset_gpio))
-		gpio_free(pdata->reset_gpio);
-fail_clock:
-	if (rfkill->pwr_clk)
-		clk_put(rfkill->pwr_clk);
-fail_shutdown_name:
-	kfree(rfkill->shutdown_name);
-fail_reset_name:
-	kfree(rfkill->reset_name);
-fail_alloc:
-	kfree(rfkill);
-
-	return ret;
 }
 
 static int rfkill_gpio_remove(struct platform_device *pdev)
@@ -199,17 +175,6 @@ static int rfkill_gpio_remove(struct platform_device *pdev)
 		pdata->gpio_runtime_close(pdev);
 	rfkill_unregister(rfkill->rfkill_dev);
 	rfkill_destroy(rfkill->rfkill_dev);
-	if (gpio_is_valid(rfkill->pdata->shutdown_gpio))
-		gpio_free(rfkill->pdata->shutdown_gpio);
-	if (gpio_is_valid(rfkill->pdata->reset_gpio))
-		gpio_free(rfkill->pdata->reset_gpio);
-	if (rfkill->pwr_clk && PWR_CLK_ENABLED(rfkill))
-		clk_disable(rfkill->pwr_clk);
-	if (rfkill->pwr_clk)
-		clk_put(rfkill->pwr_clk);
-	kfree(rfkill->shutdown_name);
-	kfree(rfkill->reset_name);
-	kfree(rfkill);
 
 	return 0;
 }
-- 
1.8.4.rc3

^ permalink raw reply related

* [PATCH 5/5] net: rfkill: gpio: add ACPI support
From: Heikki Krogerus @ 2013-10-16 10:53 UTC (permalink / raw)
  To: John W. Linville
  Cc: Johannes Berg, Rhyland Klein, Rafael J. Wysocki,
	linux-acpi-u79uwXL29TY76Z2rM5mHXA,
	linux-wireless-u79uwXL29TY76Z2rM5mHXA,
	netdev-u79uwXL29TY76Z2rM5mHXA
In-Reply-To: <1381920823-15403-1-git-send-email-heikki.krogerus-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>

Including ACPI ID for Broadcom GPS receiver BCM4752.

Signed-off-by: Heikki Krogerus <heikki.krogerus-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>
---
 net/rfkill/rfkill-gpio.c | 31 ++++++++++++++++++++++++++++++-
 1 file changed, 30 insertions(+), 1 deletion(-)

diff --git a/net/rfkill/rfkill-gpio.c b/net/rfkill/rfkill-gpio.c
index 2dd78c6..5620d3c 100644
--- a/net/rfkill/rfkill-gpio.c
+++ b/net/rfkill/rfkill-gpio.c
@@ -24,6 +24,8 @@
 #include <linux/platform_device.h>
 #include <linux/clk.h>
 #include <linux/slab.h>
+#include <linux/acpi.h>
+#include <linux/acpi_gpio.h>
 
 #include <linux/rfkill-gpio.h>
 
@@ -70,6 +72,23 @@ static const struct rfkill_ops rfkill_gpio_ops = {
 	.set_block = rfkill_gpio_set_power,
 };
 
+static int rfkill_gpio_acpi_probe(struct device *dev,
+				  struct rfkill_gpio_data *rfkill)
+{
+	const struct acpi_device_id *id;
+
+	id = acpi_match_device(dev->driver->acpi_match_table, dev);
+	if (!id)
+		return -ENODEV;
+
+	rfkill->name = dev_name(dev);
+	rfkill->type = (unsigned)id->driver_data;
+	rfkill->reset_gpio = acpi_get_gpio_by_index(dev, 0, NULL);
+	rfkill->shutdown_gpio = acpi_get_gpio_by_index(dev, 1, NULL);
+
+	return 0;
+}
+
 static int rfkill_gpio_probe(struct platform_device *pdev)
 {
 	struct rfkill_gpio_platform_data *pdata = pdev->dev.platform_data;
@@ -82,7 +101,11 @@ static int rfkill_gpio_probe(struct platform_device *pdev)
 	if (!rfkill)
 		return -ENOMEM;
 
-	if (pdata) {
+	if (ACPI_HANDLE(&pdev->dev)) {
+		ret = rfkill_gpio_acpi_probe(&pdev->dev, rfkill);
+		if (ret)
+			return ret;
+	} else if (pdata) {
 		clk_name = pdata->power_clk_name;
 		rfkill->name = pdata->name;
 		rfkill->type = pdata->type;
@@ -170,12 +193,18 @@ static int rfkill_gpio_remove(struct platform_device *pdev)
 	return 0;
 }
 
+static const struct acpi_device_id rfkill_acpi_match[] = {
+	{ "BCM4752", RFKILL_TYPE_GPS },
+	{ },
+};
+
 static struct platform_driver rfkill_gpio_driver = {
 	.probe = rfkill_gpio_probe,
 	.remove = rfkill_gpio_remove,
 	.driver = {
 		.name = "rfkill_gpio",
 		.owner = THIS_MODULE,
+		.acpi_match_table = ACPI_PTR(rfkill_acpi_match),
 	},
 };
 
-- 
1.8.4.rc3

--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply related

* [PATCH 3/5] net: rfkill: gpio: spinlock-safe GPIO access
From: Heikki Krogerus @ 2013-10-16 10:53 UTC (permalink / raw)
  To: John W. Linville
  Cc: Johannes Berg, Rhyland Klein, Rafael J. Wysocki,
	linux-acpi-u79uwXL29TY76Z2rM5mHXA,
	linux-wireless-u79uwXL29TY76Z2rM5mHXA,
	netdev-u79uwXL29TY76Z2rM5mHXA
In-Reply-To: <1381920823-15403-1-git-send-email-heikki.krogerus-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>

This sets the direction of the gpio once when it's requested,
and uses the spinlock-safe gpio_set_state() to change the
state.

Signed-off-by: Heikki Krogerus <heikki.krogerus-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>
---
 net/rfkill/rfkill-gpio.c | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

diff --git a/net/rfkill/rfkill-gpio.c b/net/rfkill/rfkill-gpio.c
index 1d104e7..aa4ac10 100644
--- a/net/rfkill/rfkill-gpio.c
+++ b/net/rfkill/rfkill-gpio.c
@@ -42,18 +42,18 @@ static int rfkill_gpio_set_power(void *data, bool blocked)
 
 	if (blocked) {
 		if (gpio_is_valid(rfkill->pdata->shutdown_gpio))
-			gpio_direction_output(rfkill->pdata->shutdown_gpio, 0);
+			gpio_set_value(rfkill->pdata->shutdown_gpio, 0);
 		if (gpio_is_valid(rfkill->pdata->reset_gpio))
-			gpio_direction_output(rfkill->pdata->reset_gpio, 0);
+			gpio_set_value(rfkill->pdata->reset_gpio, 0);
 		if (!IS_ERR(rfkill->clk) && rfkill->clk_enabled)
 			clk_disable(rfkill->clk);
 	} else {
 		if (!IS_ERR(rfkill->clk) && !rfkill->clk_enabled)
 			clk_enable(rfkill->clk);
 		if (gpio_is_valid(rfkill->pdata->reset_gpio))
-			gpio_direction_output(rfkill->pdata->reset_gpio, 1);
+			gpio_set_value(rfkill->pdata->reset_gpio, 1);
 		if (gpio_is_valid(rfkill->pdata->shutdown_gpio))
-			gpio_direction_output(rfkill->pdata->shutdown_gpio, 1);
+			gpio_set_value(rfkill->pdata->shutdown_gpio, 1);
 	}
 
 	rfkill->clk_enabled = blocked;
@@ -114,8 +114,8 @@ static int rfkill_gpio_probe(struct platform_device *pdev)
 	rfkill->clk = devm_clk_get(&pdev->dev, pdata->power_clk_name);
 
 	if (gpio_is_valid(pdata->reset_gpio)) {
-		ret = devm_gpio_request(&pdev->dev, pdata->reset_gpio,
-					rfkill->reset_name);
+		ret = devm_gpio_request_one(&pdev->dev, pdata->reset_gpio,
+					    0, rfkill->reset_name);
 		if (ret) {
 			pr_warn("%s: failed to get reset gpio.\n", __func__);
 			return ret;
@@ -123,8 +123,8 @@ static int rfkill_gpio_probe(struct platform_device *pdev)
 	}
 
 	if (gpio_is_valid(pdata->shutdown_gpio)) {
-		ret = devm_gpio_request(&pdev->dev, pdata->shutdown_gpio,
-					rfkill->shutdown_name);
+		ret = devm_gpio_request_one(&pdev->dev, pdata->shutdown_gpio,
+					    0, rfkill->shutdown_name);
 		if (ret) {
 			pr_warn("%s: failed to get shutdown gpio.\n", __func__);
 			return ret;
-- 
1.8.4.rc3

--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply related

* [PATCH 0/5] rfkill-gpio: ACPI support
From: Heikki Krogerus @ 2013-10-16 10:53 UTC (permalink / raw)
  To: John W. Linville
  Cc: Johannes Berg, Rhyland Klein, Rafael J. Wysocki, linux-acpi,
	linux-wireless, netdev

Hi,

The first patches prepare the driver for the support. The last patch
can then add the support quite easily. With these patches, adding DT
support later will be quite straight forward if someone needs it.


Heikki Krogerus (5):
  net: rfkill: gpio: convert to resource managed allocation
  net: rfkill: gpio: clean up clock handling
  net: rfkill: gpio: spinlock-safe GPIO access
  net: rfkill: gpio: prepare for DT and ACPI support
  net: rfkill: gpio: add ACPI support

 net/rfkill/Kconfig       |   2 +-
 net/rfkill/rfkill-gpio.c | 211 ++++++++++++++++++++++-------------------------
 2 files changed, 99 insertions(+), 114 deletions(-)

-- 
1.8.4.rc3


^ permalink raw reply

* Re: [PATCH 2/3] ipvs: avoid rcu_barrier during netns cleanup
From: Pablo Neira Ayuso @ 2013-10-16 10:43 UTC (permalink / raw)
  To: Simon Horman
  Cc: lvs-devel, netdev, netfilter-devel, Wensong Zhang,
	Julian Anastasov
In-Reply-To: <1381802507-7934-3-git-send-email-horms@verge.net.au>

On Tue, Oct 15, 2013 at 11:01:46AM +0900, Simon Horman wrote:
> From: Julian Anastasov <ja@ssi.bg>
> 
> commit 578bc3ef1e473a ("ipvs: reorganize dest trash") added
> rcu_barrier() on cleanup to wait dest users and schedulers
> like LBLC and LBLCR to put their last dest reference.
> Using rcu_barrier with many namespaces is problematic.
> 
> Trying to fix it by freeing dest with kfree_rcu is not
> a solution, RCU callbacks can run in parallel and execution
> order is random.
> 
> Fix it by creating new function ip_vs_dest_put_and_free()
> which is heavier than ip_vs_dest_put(). We will use it just
> for schedulers like LBLC, LBLCR that can delay their dest
> release.
> 
> By default, dests reference is above 0 if they are present in
> service and it is 0 when deleted but still in trash list.
> Change the dest trash code to use ip_vs_dest_put_and_free(),
> so that refcnt -1 can be used for freeing. As result,
> such checks remain in slow path and the rcu_barrier() from
> netns cleanup can be removed.

I can enqueue this fix to nf if you like. No need to resend, I can
manually apply.

Let me know.

^ permalink raw reply

* IPv6 path discovery oddities - flushing the routing cache resolves
From: Valentijn Sessink @ 2013-10-16 10:31 UTC (permalink / raw)
  To: netdev

Hello list,

I'm experiencing difficulties with IPv6 path discovery. The setup is 
quite simple, a machine with native IPv6, no special routing - let's 
call it the "server" for now. Unfortunately, I seem to loose 
connectivity multiple times a day - and after digging in, I found this 
to be "too big" messages that weren't honored at the server. The network 
consists of something like:

server --- hosting --- others ---- SIXXS tunnel with 1280 MTU --- me.

A "ip -6 route list cache" would show a cached route to my "client", but 
one without MTU. Then after "ip -6 route flush cache", and after trying 
to send a large packet (for example issuing "ps uaxww" on an ssh 
prompt), "ip -6 route list cache" will show a correct MTU.

But after a while, things start to go wrong again, and another "ip -6 
route flush cache" is needed.

The server is running 3.8.0-something (ubuntu 12.04 with a newer kernel).

tcpdump shows that on reception of icmpv6 "too big", nothing happens 
(i.e. the "too big" packet will be sent time and again), and after the 
"ip -6 route flush cache", suddenly the "too big" message is honored.

I saw a couple of path discovery issues on this list, more specifically 
one with the subject "IPv6 path MTU discovery broken" earlier this month 
- but I'm not sure it's the same issue (because the original submitter 
specifically mentions kernels 3.10 and 3.11 and has a much more 
complicated routing table).

The "server" just has:

auto br0
iface br0 inet6 static
   address 2a01:xxxx:xxx:xxxx::2
   netmask 64
   gateway fe80::1
   bridge_ports eth0
   bridge_maxwait 0

Nothing special, no special routes, no routing daemons.

If I can do anything to shine more light on this issue, please tell me so.

Best regards,

Valentijn

^ permalink raw reply

* Re: [PATCH] veth: Showing peer of veth type dev in ip link (kernel side)
From: Nicolas Dichtel @ 2013-10-16 10:08 UTC (permalink / raw)
  To: Eric W. Biederman; +Cc: Stephen Hemminger, David Miller, yamato, netdev
In-Reply-To: <87a9ias274.fsf@xmission.com>

Le 15/10/2013 22:34, Eric W. Biederman a écrit :
> Nicolas Dichtel <nicolas.dichtel@6wind.com> writes:
>
>> Le 10/10/2013 02:17, Eric W. Biederman a écrit :
>>>
>>> Right.
>>>
>>> IFLA_NET_NS_PID is not invertible as there may be no processes running
>>> in a pid namespace.
>>>
>>> IFLA_NET_NS_FD is in principle invertible.  We just need to add a file
>>> descriptor to the callers fd table.  I don't see IFLA_NET_NS_FD being
>>> invertible for broadcast messages, but for unicast it looks like a bit
>>> of a pain but there are no fundamental problems.
>> I'm not sure to understand why it is invertible only for unicast message.
>> Or are you saying that it is invertible only for the netns where the
>> caller stands (and then not for the veth peer)?
>
> The pain is that it is a special case of SCM_RIGHTS aka passing file
> descriptors.  Right now we don't support SCM_RIGHTS on netlink sockets
> and so from that perspective IFLA_NET_NS_FD is a bit of a hack.
>
> For unicast messages we can just stuff a file descriptor in the calling
> process and be done with it.  For multicast messages we have to be much
> more complete.
>
>>> I don't know if we care enough yet to write the code for the
>>> IFLA_NET_NS_FD attribute but it is doable.
>> I care ;-)
>> Has somebody already started to write a patch?
>
> For IFLA_NET_NS_FD not that I know of.
>
> Mostly it is doable but there are some silly cases.
> - Do we need to actually implement SCM_RIGHTS to prevent people
>    accepting file-descriptors unknowingly and hitting their file
>    descriptor limits.
>
>    In which case we need to call the attribute IFLA_NET_NS_SCM_FD
>    so we knew it was just an index into the passed file descriptors.n
>
> - Do we need an extra permission check to prevent keeping a network
>    namespace alive longer than necessary?  Aka there are some permission
>    checks opening and bind mounting /proc/<pid>/ns/net do we need
>    a similar check.  Perhaps we would need to require CAP_NET_ADMIN over
>    the target network namespace.
>
> Beyond that it is just the logistics to open what is essentially
> /proc/<pid>/ns/net and add it to the file descriptor table of the
> requesting process.  Exactly which mount of proc we are going to
> find the appropriate file to open I don't know.
>
> It isn't likely to be lots of code but it is code that the necessary
> infrastructure is not in place for, and a bunch of moderately hairy
> corner cases to deal with.
Got it. This doesn't seems the simpliest/best way to resolve this pb.
Can we not introduce another identifier (something like IFLA_NET_NS_ID),
which will not have such constraint?
inode is unique on the system, why not using it as an opaque value to
identitfy the netns (like 'ip netns identify' do)?

^ permalink raw reply

* Re: iwlwifi Centrino Advanced-N 6235, setting regulatory domain with iw reg set XX doesn't work.
From: Emmanuel Grumbach @ 2013-10-16  9:51 UTC (permalink / raw)
  To: Sander Eikelenboom
  Cc: Grumbach, Emmanuel, John W. Linville, Berg, Johannes,
	ilw@linux.intel.com, netdev@vger.kernel.org,
	linux-wireless@vger.kernel.org, Luis R. Rodriguez
In-Reply-To: <577936357.20131016104505@eikelenboom.it>

> Hi
>
> I seem to have to take a second hurdle in using my Centrino Advanced-N 6235 with linux.
>
> I'm trying to set the regulatory domain (currenly world domain (00))
> But a "iw reg set US" or "iw reg set NL" does not succeed.
>
> # iw reg get
> country 00:
>         (2402 - 2472 @ 40), (6, 20)
>         (2457 - 2482 @ 40), (6, 20), PASSIVE-SCAN, NO-IBSS
>         (2474 - 2494 @ 20), (6, 20), NO-OFDM, PASSIVE-SCAN, NO-IBSS
>         (5170 - 5250 @ 80), (6, 20), PASSIVE-SCAN, NO-IBSS
>         (5735 - 5835 @ 80), (6, 20), PASSIVE-SCAN, NO-IBSS
>         (57240 - 63720 @ 2160), (N/A, 0)
>
> # iw reg set US
>
> # iw reg get
> country 00:
>         (2402 - 2472 @ 40), (6, 20)
>         (2457 - 2482 @ 40), (6, 20), PASSIVE-SCAN, NO-IBSS
>         (2474 - 2494 @ 20), (6, 20), NO-OFDM, PASSIVE-SCAN, NO-IBSS
>         (5170 - 5250 @ 80), (6, 20), PASSIVE-SCAN, NO-IBSS
>         (5735 - 5835 @ 80), (6, 20), PASSIVE-SCAN, NO-IBSS
>         (57240 - 63720 @ 2160), (N/A, 0)
>
>
> The only thing is this message in dmesg:
> "cfg80211: Pending regulatory request, waiting for it to be processed...".
>
> I did enable some of the kernel wifi debug options, but there is no error or more informatie.
> But it doesn't get set as you can see above.
>

This is most probably not related to the device itself.
Luis?

^ permalink raw reply

* [PATCH net-next] ipv4: shrink rt_cache_stat
From: Eric Dumazet @ 2013-10-16  9:49 UTC (permalink / raw)
  To: David Miller; +Cc: netdev

From: Eric Dumazet <edumazet@google.com>

Half of the rt_cache_stat fields are no longer used after IP
route cache removal, lets shrink this per cpu area.

Signed-off-by: Eric Dumazet <edumazet@google.com>
---
 include/net/route.h |    8 --------
 net/ipv4/route.c    |   16 ++++++++--------
 2 files changed, 8 insertions(+), 16 deletions(-)

diff --git a/include/net/route.h b/include/net/route.h
index 0ad8e01..dd4ae00 100644
--- a/include/net/route.h
+++ b/include/net/route.h
@@ -88,22 +88,14 @@ struct ip_rt_acct {
 };
 
 struct rt_cache_stat {
-        unsigned int in_hit;
         unsigned int in_slow_tot;
         unsigned int in_slow_mc;
         unsigned int in_no_route;
         unsigned int in_brd;
         unsigned int in_martian_dst;
         unsigned int in_martian_src;
-        unsigned int out_hit;
         unsigned int out_slow_tot;
         unsigned int out_slow_mc;
-        unsigned int gc_total;
-        unsigned int gc_ignored;
-        unsigned int gc_goal_miss;
-        unsigned int gc_dst_overflow;
-        unsigned int in_hlist_search;
-        unsigned int out_hlist_search;
 };
 
 extern struct ip_rt_acct __percpu *ip_rt_acct;
diff --git a/net/ipv4/route.c b/net/ipv4/route.c
index 6011615..d2d3253 100644
--- a/net/ipv4/route.c
+++ b/net/ipv4/route.c
@@ -295,7 +295,7 @@ static int rt_cpu_seq_show(struct seq_file *seq, void *v)
 	seq_printf(seq,"%08x  %08x %08x %08x %08x %08x %08x %08x "
 		   " %08x %08x %08x %08x %08x %08x %08x %08x %08x \n",
 		   dst_entries_get_slow(&ipv4_dst_ops),
-		   st->in_hit,
+		   0, /* st->in_hit */
 		   st->in_slow_tot,
 		   st->in_slow_mc,
 		   st->in_no_route,
@@ -303,16 +303,16 @@ static int rt_cpu_seq_show(struct seq_file *seq, void *v)
 		   st->in_martian_dst,
 		   st->in_martian_src,
 
-		   st->out_hit,
+		   0, /* st->out_hit */
 		   st->out_slow_tot,
 		   st->out_slow_mc,
 
-		   st->gc_total,
-		   st->gc_ignored,
-		   st->gc_goal_miss,
-		   st->gc_dst_overflow,
-		   st->in_hlist_search,
-		   st->out_hlist_search
+		   0, /* st->gc_total */
+		   0, /* st->gc_ignored */
+		   0, /* st->gc_goal_miss */
+		   0, /* st->gc_dst_overflow */
+		   0, /* st->in_hlist_search */
+		   0  /* st->out_hlist_search */
 		);
 	return 0;
 }

^ permalink raw reply related

* Re: [PATCH RFC 0/2] xfrm: Remove ancient sleeping code
From: Steffen Klassert @ 2013-10-16  9:45 UTC (permalink / raw)
  To: Eric Dumazet; +Cc: David Miller, netdev
In-Reply-To: <1381881514.2045.82.camel@edumazet-glaptop.roam.corp.google.com>

On Tue, Oct 15, 2013 at 04:58:34PM -0700, Eric Dumazet wrote:
> On Tue, 2013-10-15 at 09:30 +0200, Steffen Klassert wrote:
> 
> > Right, that's why I've limited the queue to 100 packets. We can
> > queue the SYNs of up to 100 tcp connestions that want to use
> > this IPsec state. It surely can happen that we queue multiple
> > retransmitted SYNs if the IPsec resolution is slow. But the
> > queueing code tries at least to get the packets out before
> > the first tcp retransmit. I think there is still room for
> > optimizations, maybe reducing the queue lenght or the queue
> > timeout to avoid queueing retransmitted SYNs as much as possible.
> 
> Note that its totally possible to avoid retransmitting SYN if original
> SYN is still in a host queue.
> 
> We currently increment a SNMP counter when we detect this, we could
> do something else (like not queuing a copy of the packet)
> 
> http://git.kernel.org/cgit/linux/kernel/git/davem/net-next.git/commit/?id=0e280af026a5662ffd57c4e623b822df1f7f47ff

This is interesting, we could do the same check before we queue
the packet and drop it if the original packet is still in a host
queue.

I'll do a RFC patch.

> 
> Another work in progress is to delay RTO arming at the time TCP
> packet leaves the host queues, instead of at the enqueue time.
> 

That would be even better, are there already patches publicly
available?

Thanks!

^ permalink raw reply

* Re: [Xen-devel] DomU's network interface will hung when Dom0 running 32bit
From: annie li @ 2013-10-16  9:39 UTC (permalink / raw)
  To: jianhai luan; +Cc: Wei Liu, xen-devel, Ian Campbell, netdev
In-Reply-To: <525E41CF.7090008@oracle.com>


On 2013-10-16 15:35, jianhai luan wrote:
>
> On 2013-10-15 20:58, Wei Liu wrote:
>> On Tue, Oct 15, 2013 at 07:26:31PM +0800, jianhai luan wrote:
>> [...]
>>>>>> Can you propose a patch?
>>>>> Because credit_timeout.expire always after jiffies, i judge the
>>>>> value over the range of time_after_eq() by time_before(now,
>>>>> vif->credit_timeout.expires). please check the patch.
>>>> I don't think this really fix the issue for you. You still have chance
>>>> that now wraps around and falls between expires and next_credit. In 
>>>> that
>>>> case it's stalled again.
>>> if time_before(now, vif->credit_timeout.expires) is true, time wrap
>>> and do operation. Otherwise time_before(now,
>>> vif->credit_timeout.expires) isn't true, now -
>>> vif->credit_timeout.expires should be letter than ULONG_MAX/2.
>>> Because next_credit large than vif->credit_timeout.expires
>>> (next_crdit = vif->credit_timeout.expires +
>>> msecs_to_jiffies(vif->credit_usec/1000)), the delta between now and
>>> next_credit should be in range of time_after_eq().  So
>>> time_after_eq() do correctly judge.
>>>
>> Not sure I understand you. Consider "now" is placed like this:
>>
>>     expires   now   next_credit
>>     ----time increases this direction--->
>>
>> * time_after_eq(now, next_credit) -> false
>> * time_before(now, expires) -> false
>>
>> Then it's stuck again. You're merely narrowing the window, not fixing
>> the real problem.
>
> The above environment isn't stack again. The netback will pending one 
> timer to process the environment.
>
> The attachment program will prove if !(time_after_eq(now, next_credit) 
> || time_before(now, vif->credit_timeout.expires)), now will only be 
> placed in  above environment [ expires next_credit),  and the above 
> environment will be processed by timer in soon.

Or check following to see what the if condition really do,

----------expires-------now-------credit----------    is the only case 
where we need to add a timer.

Other cases like following would match the if condition above, then no 
timer is added.
----------expires----------credit------now------
-----now-----expires----------credit----------

Or we can consider the extreme condition, when the rate control does not 
exist, "credit_usec" is zero, and "next_credit" is equal to "expires". 
The above if condition would cover all conditions, and no rate control 
really happens. If credit_usec is not zero, the "if condition" would 
cover the range outside of that from expires to next_credit.

Even if "now" is wrapped again into the range from "expires" to 
"next_credit", the "next_credit" that is set in __mod_timer is 
reasonable value(this can be gotten from credit_usec), and the timer 
would be hit soon.

Thanks
Annie
>>
>> Wei.
>>
>>> Jason
>>>> Wei.
> Jason.
>
>
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel

^ permalink raw reply

* RE: [PATCH] X.25: Fix address field length calculation
From: David Laight @ 2013-10-16  8:56 UTC (permalink / raw)
  To: Joe Perches, Kelleter," Günther
  Cc: andrew.hendry, davem, linux-x25, netdev, linux-kernel
In-Reply-To: <1381858190.22110.25.camel@joe-AO722>

> On Tue, 2013-10-15 at 14:29 +0000, Kelleter, Günther wrote:
> > Addresses are BCD encoded, not ASCII. x25_addr_ntoa got it right.
> []
> > Wrong length calculation leads to rejection of CALL ACCEPT packets.
> []
> > diff --git a/net/x25/af_x25.c b/net/x25/af_x25.c
> []
> > @@ -98,7 +98,7 @@ int x25_parse_address_block(struct sk_buff *skb,
> >  	}
> >   	len = *skb->data;
> > -	needed = 1 + (len >> 4) + (len & 0x0f);
> > +	needed = 1 + ((len >> 4) + (len & 0x0f) + 1) / 2;
> 
> This calculation looks odd.

Looks correct to me...
In X.25 the lengths (in digits) of the called and calling addresses
are encoded in the high and low nibbles of one byte and then
followed by both addresses with a digit in each nibble.
If the length of the first address is odd, the second one
isn't byte aligned.

	David

^ permalink raw reply

* Re: DomU's network interface will hung when Dom0 running 32bit
From: Ian Campbell @ 2013-10-16  8:46 UTC (permalink / raw)
  To: annie li; +Cc: jianhai luan, Wei Liu, xen-devel, netdev
In-Reply-To: <525E3BDC.4060309@oracle.com>

On Wed, 2013-10-16 at 15:10 +0800, annie li wrote:
> Is it a timer to be set as less than ULONG_MAX/2 to avoid
> credit_timeout.expires rolling over? But the problem is that we can
> not assure where jiffies start from, and this probably results into
> current issue again.

Not less than the absolute value ULONG_MAX/2, just less than ULONG_MAX/2
offset from "now". The time_eq macros deal with wraparound.

Looks like Jianhai and Wei are discussing a better fix than an
additional timer though.

Ian

^ permalink raw reply

* iwlwifi Centrino Advanced-N 6235, setting regulatory domain with iw reg set XX doesn't work.
From: Sander Eikelenboom @ 2013-10-16  8:45 UTC (permalink / raw)
  To: Grumbach, Emmanuel
  Cc: John W. Linville, Berg, Johannes, ilw@linux.intel.com,
	netdev@vger.kernel.org, linux-wireless@vger.kernel.org

[-- Attachment #1: Type: text/plain, Size: 1285 bytes --]

Hi

I seem to have to take a second hurdle in using my Centrino Advanced-N 6235 with linux.

I'm trying to set the regulatory domain (currenly world domain (00))
But a "iw reg set US" or "iw reg set NL" does not succeed.

# iw reg get
country 00:
        (2402 - 2472 @ 40), (6, 20)
        (2457 - 2482 @ 40), (6, 20), PASSIVE-SCAN, NO-IBSS
        (2474 - 2494 @ 20), (6, 20), NO-OFDM, PASSIVE-SCAN, NO-IBSS
        (5170 - 5250 @ 80), (6, 20), PASSIVE-SCAN, NO-IBSS
        (5735 - 5835 @ 80), (6, 20), PASSIVE-SCAN, NO-IBSS
        (57240 - 63720 @ 2160), (N/A, 0)

# iw reg set US

# iw reg get
country 00:
        (2402 - 2472 @ 40), (6, 20)
        (2457 - 2482 @ 40), (6, 20), PASSIVE-SCAN, NO-IBSS
        (2474 - 2494 @ 20), (6, 20), NO-OFDM, PASSIVE-SCAN, NO-IBSS
        (5170 - 5250 @ 80), (6, 20), PASSIVE-SCAN, NO-IBSS
        (5735 - 5835 @ 80), (6, 20), PASSIVE-SCAN, NO-IBSS
        (57240 - 63720 @ 2160), (N/A, 0)


The only thing is this message in dmesg:
"cfg80211: Pending regulatory request, waiting for it to be processed...".

I did enable some of the kernel wifi debug options, but there is no error or more informatie.
But it doesn't get set as you can see above.

Attached:
dmesg.txt      complete dmesg
iw-info.txt    output of "iw phy0 info"

--

Sander

[-- Attachment #2: dmesg.txt --]
[-- Type: text/plain, Size: 55766 bytes --]

[    0.000000] Initializing cgroup subsys cpuset
[    0.000000] Initializing cgroup subsys cpu
[    0.000000] Initializing cgroup subsys cpuacct
[    0.000000] Linux version 3.12.0-rc5+ (root@creabox) (gcc version 4.7.2 (Debian 4.7.2-5) ) #1 SMP Tue Oct 15 23:35:58 CEST 2013
[    0.000000] Command line: BOOT_IMAGE=/boot/vmlinuz-3.12.0-rc5+ root=/dev/mapper/creabox-creabox_dom0 ro verbose debug loglevel=10 iwlwifi.debug=0xC0800000
[    0.000000] e820: BIOS-provided physical RAM map:
[    0.000000] BIOS-e820: [mem 0x0000000000000000-0x000000000009d7ff] usable
[    0.000000] BIOS-e820: [mem 0x000000000009d800-0x000000000009ffff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000000e0000-0x00000000000fffff] reserved
[    0.000000] BIOS-e820: [mem 0x0000000000100000-0x000000001fffffff] usable
[    0.000000] BIOS-e820: [mem 0x0000000020000000-0x00000000201fffff] reserved
[    0.000000] BIOS-e820: [mem 0x0000000020200000-0x0000000040003fff] usable
[    0.000000] BIOS-e820: [mem 0x0000000040004000-0x0000000040004fff] reserved
[    0.000000] BIOS-e820: [mem 0x0000000040005000-0x00000000db9f0fff] usable
[    0.000000] BIOS-e820: [mem 0x00000000db9f1000-0x00000000dbe6ffff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000dbe70000-0x00000000dbe7ffff] ACPI data
[    0.000000] BIOS-e820: [mem 0x00000000dbe80000-0x00000000dbf9dfff] ACPI NVS
[    0.000000] BIOS-e820: [mem 0x00000000dbf9e000-0x00000000dc20cfff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000dc20d000-0x00000000dc20dfff] usable
[    0.000000] BIOS-e820: [mem 0x00000000dc20e000-0x00000000dc250fff] ACPI NVS
[    0.000000] BIOS-e820: [mem 0x00000000dc251000-0x00000000dcffffff] usable
[    0.000000] BIOS-e820: [mem 0x00000000dd000000-0x00000000df9fffff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000f8000000-0x00000000fbffffff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000fec00000-0x00000000fec00fff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000fed00000-0x00000000fed03fff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000fed1c000-0x00000000fed1ffff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000fee00000-0x00000000fee00fff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000ff000000-0x00000000ffffffff] reserved
[    0.000000] BIOS-e820: [mem 0x0000000100000000-0x000000021e5fffff] usable
[    0.000000] NX (Execute Disable) protection: active
[    0.000000] SMBIOS 2.7 present.
[    0.000000] DMI:                  /D53427RKE, BIOS RKPPT10H.86A.0017.2013.0425.1251 04/25/2013
[    0.000000] e820: update [mem 0x00000000-0x00000fff] usable ==> reserved
[    0.000000] e820: remove [mem 0x000a0000-0x000fffff] usable
[    0.000000] No AGP bridge found
[    0.000000] e820: last_pfn = 0x21e600 max_arch_pfn = 0x400000000
[    0.000000] MTRR default type: uncachable
[    0.000000] MTRR fixed ranges enabled:
[    0.000000]   00000-9FFFF write-back
[    0.000000]   A0000-BFFFF uncachable
[    0.000000]   C0000-CFFFF write-protect
[    0.000000]   D0000-E7FFF uncachable
[    0.000000]   E8000-FFFFF write-protect
[    0.000000] MTRR variable ranges enabled:
[    0.000000]   0 base 000000000 mask E00000000 write-back
[    0.000000]   1 base 200000000 mask FE0000000 write-back
[    0.000000]   2 base 0E0000000 mask FE0000000 uncachable
[    0.000000]   3 base 0DE000000 mask FFE000000 uncachable
[    0.000000]   4 base 0DD800000 mask FFF800000 uncachable
[    0.000000]   5 base 21F000000 mask FFF000000 uncachable
[    0.000000]   6 base 21E800000 mask FFF800000 uncachable
[    0.000000]   7 base 21E600000 mask FFFE00000 uncachable
[    0.000000]   8 disabled
[    0.000000]   9 disabled
[    0.000000] x86 PAT enabled: cpu 0, old 0x7040600070406, new 0x7010600070106
[    0.000000] e820: update [mem 0xdd800000-0xffffffff] usable ==> reserved
[    0.000000] e820: last_pfn = 0xdd000 max_arch_pfn = 0x400000000
[    0.000000] found SMP MP-table at [mem 0x000fd730-0x000fd73f] mapped at [ffff8800000fd730]
[    0.000000] Base memory trampoline at [ffff880000097000] 97000 size 24576
[    0.000000] init_memory_mapping: [mem 0x00000000-0x000fffff]
[    0.000000]  [mem 0x00000000-0x000fffff] page 4k
[    0.000000] BRK [0x02110000, 0x02110fff] PGTABLE
[    0.000000] BRK [0x02111000, 0x02111fff] PGTABLE
[    0.000000] BRK [0x02112000, 0x02112fff] PGTABLE
[    0.000000] init_memory_mapping: [mem 0x21e400000-0x21e5fffff]
[    0.000000]  [mem 0x21e400000-0x21e5fffff] page 2M
[    0.000000] BRK [0x02113000, 0x02113fff] PGTABLE
[    0.000000] init_memory_mapping: [mem 0x21c000000-0x21e3fffff]
[    0.000000]  [mem 0x21c000000-0x21e3fffff] page 2M
[    0.000000] init_memory_mapping: [mem 0x200000000-0x21bffffff]
[    0.000000]  [mem 0x200000000-0x21bffffff] page 2M
[    0.000000] init_memory_mapping: [mem 0x00100000-0x1fffffff]
[    0.000000]  [mem 0x00100000-0x001fffff] page 4k
[    0.000000]  [mem 0x00200000-0x1fffffff] page 2M
[    0.000000] init_memory_mapping: [mem 0x20200000-0x40003fff]
[    0.000000]  [mem 0x20200000-0x3fffffff] page 2M
[    0.000000]  [mem 0x40000000-0x40003fff] page 4k
[    0.000000] BRK [0x02114000, 0x02114fff] PGTABLE
[    0.000000] BRK [0x02115000, 0x02115fff] PGTABLE
[    0.000000] init_memory_mapping: [mem 0x40005000-0xdb9f0fff]
[    0.000000]  [mem 0x40005000-0x401fffff] page 4k
[    0.000000]  [mem 0x40200000-0xdb7fffff] page 2M
[    0.000000]  [mem 0xdb800000-0xdb9f0fff] page 4k
[    0.000000] init_memory_mapping: [mem 0xdc20d000-0xdc20dfff]
[    0.000000]  [mem 0xdc20d000-0xdc20dfff] page 4k
[    0.000000] init_memory_mapping: [mem 0xdc251000-0xdcffffff]
[    0.000000]  [mem 0xdc251000-0xdc3fffff] page 4k
[    0.000000]  [mem 0xdc400000-0xdcffffff] page 2M
[    0.000000] init_memory_mapping: [mem 0x100000000-0x1ffffffff]
[    0.000000]  [mem 0x100000000-0x1ffffffff] page 2M
[    0.000000] RAMDISK: [mem 0x36dca000-0x376dcfff]
[    0.000000] ACPI: RSDP 00000000000f0490 00024 (v02  Intel)
[    0.000000] ACPI: XSDT 00000000dbe74080 0007C (v01  Intel D53427RK 00000011 AMI  00010013)
[    0.000000] ACPI: FACP 00000000dbe7e100 0010C (v05  Intel D53427RK 00000011 AMI  00010013)
[    0.000000] ACPI: DSDT 00000000dbe74188 09F72 (v02  Intel D53427RK 00000011 INTL 20051117)
[    0.000000] ACPI: FACS 00000000dbf9c080 00040
[    0.000000] ACPI: APIC 00000000dbe7e210 00072 (v03  Intel D53427RK 00000011 AMI  00010013)
[    0.000000] ACPI: FPDT 00000000dbe7e288 00044 (v01  Intel D53427RK 00000011 AMI  00010013)
[    0.000000] ACPI: TCPA 00000000dbe7e2d0 00032 (v02 APTIO4  NAPAASF 00000011 MSFT 01000013)
[    0.000000] ACPI: MCFG 00000000dbe7e308 0003C (v01  Intel D53427RK 00000011 MSFT 00000097)
[    0.000000] ACPI: HPET 00000000dbe7e348 00038 (v01  Intel D53427RK 00000011 AMI. 00000005)
[    0.000000] ACPI: SSDT 00000000dbe7e380 00315 (v01 SataRe SataTabl 00000011 INTL 20091112)
[    0.000000] ACPI: SSDT 00000000dbe7e698 009AA (v01  PmRef  Cpu0Ist 00000011 INTL 20051117)
[    0.000000] ACPI: SSDT 00000000dbe7f048 00B22 (v01  PmRef    CpuPm 00000011 INTL 20051117)
[    0.000000] ACPI: DMAR 00000000dbe7fb70 000B8 (v01 INTEL      SNB  00000011 INTL 00000001)
[    0.000000] ACPI: ASF! 00000000dbe7fc28 000A5 (v32 INTEL       HCG 00000011 TFSM 000F4240)
[    0.000000] ACPI: Local APIC address 0xfee00000
[    0.000000] No NUMA configuration found
[    0.000000] Faking a node at [mem 0x0000000000000000-0x000000021e5fffff]
[    0.000000] Initmem setup node 0 [mem 0x00000000-0x21e5fffff]
[    0.000000]   NODE_DATA [mem 0x21e5f4000-0x21e5f7fff]
[    0.000000]  [ffffea0000000000-ffffea00077fffff] PMD -> [ffff880215c00000-ffff88021cdfffff] on node 0
[    0.000000] Zone ranges:
[    0.000000]   DMA      [mem 0x00001000-0x00ffffff]
[    0.000000]   DMA32    [mem 0x01000000-0xffffffff]
[    0.000000]   Normal   [mem 0x100000000-0x21e5fffff]
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x00001000-0x0009cfff]
[    0.000000]   node   0: [mem 0x00100000-0x1fffffff]
[    0.000000]   node   0: [mem 0x20200000-0x40003fff]
[    0.000000]   node   0: [mem 0x40005000-0xdb9f0fff]
[    0.000000]   node   0: [mem 0xdc20d000-0xdc20dfff]
[    0.000000]   node   0: [mem 0xdc251000-0xdcffffff]
[    0.000000]   node   0: [mem 0x100000000-0x21e5fffff]
[    0.000000] On node 0 totalpages: 2075452
[    0.000000]   DMA zone: 56 pages used for memmap
[    0.000000]   DMA zone: 21 pages reserved
[    0.000000]   DMA zone: 3996 pages, LIFO batch:0
[    0.000000]   DMA32 zone: 12284 pages used for memmap
[    0.000000]   DMA32 zone: 898464 pages, LIFO batch:31
[    0.000000]   Normal zone: 16037 pages used for memmap
[    0.000000]   Normal zone: 1172992 pages, LIFO batch:31
[    0.000000] ACPI: PM-Timer IO Port: 0x408
[    0.000000] ACPI: Local APIC address 0xfee00000
[    0.000000] ACPI: LAPIC (acpi_id[0x01] lapic_id[0x00] enabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x02] lapic_id[0x02] enabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x03] lapic_id[0x01] enabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x04] lapic_id[0x03] enabled)
[    0.000000] ACPI: LAPIC_NMI (acpi_id[0xff] high edge lint[0x1])
[    0.000000] ACPI: IOAPIC (id[0x02] address[0xfec00000] gsi_base[0])
[    0.000000] IOAPIC[0]: apic_id 2, version 32, address 0xfec00000, GSI 0-23
[    0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl)
[    0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 high level)
[    0.000000] ACPI: IRQ0 used by override.
[    0.000000] ACPI: IRQ2 used by override.
[    0.000000] ACPI: IRQ9 used by override.
[    0.000000] Using ACPI (MADT) for SMP configuration information
[    0.000000] ACPI: HPET id: 0x8086a701 base: 0xfed00000
[    0.000000] smpboot: Allowing 4 CPUs, 0 hotplug CPUs
[    0.000000] nr_irqs_gsi: 40
[    0.000000] e820: [mem 0xdfa00000-0xf7ffffff] available for PCI devices
[    0.000000] Booting paravirtualized kernel on bare hardware
[    0.000000] setup_percpu: NR_CPUS:16 nr_cpumask_bits:16 nr_cpu_ids:4 nr_node_ids:1
[    0.000000] PERCPU: Embedded 28 pages/cpu @ffff88021e200000 s84928 r8192 d21568 u524288
[    0.000000] pcpu-alloc: s84928 r8192 d21568 u524288 alloc=1*2097152
[    0.000000] pcpu-alloc: [0] 0 1 2 3 
[    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 2047054
[    0.000000] Policy zone: Normal
[    0.000000] Kernel command line: BOOT_IMAGE=/boot/vmlinuz-3.12.0-rc5+ root=/dev/mapper/creabox-creabox_dom0 ro verbose debug loglevel=10 iwlwifi.debug=0xC0800000
[    0.000000] PID hash table entries: 4096 (order: 3, 32768 bytes)
[    0.000000] xsave: enabled xstate_bv 0x7, cntxt size 0x340
[    0.000000] Checking aperture...
[    0.000000] No AGP bridge found
[    0.000000] Memory: 8091496K/8301808K available (8936K kernel code, 1096K rwdata, 3584K rodata, 1140K init, 868K bss, 210312K reserved)
[    0.000000] Hierarchical RCU implementation.
[    0.000000] 	RCU dyntick-idle grace-period acceleration is enabled.
[    0.000000] 	RCU restricting CPUs from NR_CPUS=16 to nr_cpu_ids=4.
[    0.000000] NR_IRQS:4352 nr_irqs:712 16
[    0.000000] Console: colour VGA+ 80x25
[    0.000000] console [tty0] enabled
[    0.000000] hpet clockevent registered
[    0.000000] tsc: Fast TSC calibration using PIT
[    0.004000] tsc: Detected 2294.839 MHz processor
[    0.000002] Calibrating delay loop (skipped), value calculated using timer frequency.. 4589.67 BogoMIPS (lpj=9179356)
[    0.001536] pid_max: default: 32768 minimum: 301
[    0.001633] Security Framework initialized
[    0.002415] Dentry cache hash table entries: 1048576 (order: 11, 8388608 bytes)
[    0.005432] Inode-cache hash table entries: 524288 (order: 10, 4194304 bytes)
[    0.006792] Mount-cache hash table entries: 256
[    0.007082] Initializing cgroup subsys devices
[    0.007153] Initializing cgroup subsys freezer
[    0.007221] Initializing cgroup subsys net_cls
[    0.007286] Initializing cgroup subsys blkio
[    0.007374] Initializing cgroup subsys perf_event
[    0.007467] CPU: Physical Processor ID: 0
[    0.007536] CPU: Processor Core ID: 0
[    0.007605] ENERGY_PERF_BIAS: Set to 'normal', was 'performance'
[    0.007605] ENERGY_PERF_BIAS: View and update with x86_energy_perf_policy(8)
[    0.008225] mce: CPU supports 7 MCE banks
[    0.008307] CPU0: Thermal monitoring enabled (TM1)
[    0.008386] Last level iTLB entries: 4KB 512, 2MB 0, 4MB 0
[    0.008386] Last level dTLB entries: 4KB 512, 2MB 32, 4MB 32
[    0.008386] tlb_flushall_shift: 1
[    0.008682] Freeing SMP alternatives memory: 20K (ffffffff82031000 - ffffffff82036000)
[    0.009342] ACPI: Core revision 20130725
[    0.016867] ACPI: All ACPI Tables successfully acquired
[    0.018339] dmar: Host address width 36
[    0.018407] dmar: DRHD base: 0x000000fed90000 flags: 0x0
[    0.018482] dmar: IOMMU 0: reg_base_addr fed90000 ver 1:0 cap c0000020e60262 ecap f0101a
[    0.018563] dmar: DRHD base: 0x000000fed91000 flags: 0x1
[    0.018633] dmar: IOMMU 1: reg_base_addr fed91000 ver 1:0 cap c9008020660262 ecap f0105a
[    0.018720] dmar: RMRR base: 0x000000dbe07000 end: 0x000000dbe13fff
[    0.018786] dmar: RMRR base: 0x000000dd800000 end: 0x000000df9fffff
[    0.018928] IOAPIC id 2 under DRHD base  0xfed91000 IOMMU 1
[    0.018996] HPET id 0 under DRHD base 0xfed91000
[    0.019260] Enabled IRQ remapping in x2apic mode
[    0.019327] Enabling x2apic
[    0.019390] Enabled x2apic
[    0.019469] Switched APIC routing to cluster x2apic.
[    0.020000] ..TIMER: vector=0x30 apic1=0 pin1=2 apic2=-1 pin2=-1
[    0.059729] smpboot: CPU0: Intel(R) Core(TM) i5-3427U CPU @ 1.80GHz (fam: 06, model: 3a, stepping: 09)
[    0.059957] TSC deadline timer enabled
[    0.060029] Performance Events: PEBS fmt1+, 16-deep LBR, IvyBridge events, full-width counters, Intel PMU driver.
[    0.060343] ... version:                3
[    0.060407] ... bit width:              48
[    0.060472] ... generic registers:      4
[    0.060534] ... value mask:             0000ffffffffffff
[    0.060601] ... max period:             0000ffffffffffff
[    0.060665] ... fixed-purpose events:   3
[    0.060730] ... event mask:             000000070000000f
[    0.074810] NMI watchdog: enabled on all CPUs, permanently consumes one hw-PMU counter.
[    0.061110] smpboot: Booting Node   0, Processors  #   1 #   2 #   3 OK
[    0.102449] Brought up 4 CPUs
[    0.102518] smpboot: Total of 4 processors activated (18358.71 BogoMIPS)
[    0.106829] devtmpfs: initialized
[    0.107746] xor: automatically using best checksumming function:
[    0.146553]    avx       : 12154.000 MB/sec
[    0.146691] NET: Registered protocol family 16
[    0.147058] cpuidle: using governor ladder
[    0.147127] cpuidle: using governor menu
[    0.147385] ACPI: bus type PCI registered
[    0.147455] acpiphp: ACPI Hot Plug PCI Controller Driver version: 0.5
[    0.147577] dca service started, version 1.12.1
[    0.147667] PCI: MMCONFIG for domain 0000 [bus 00-3f] at [mem 0xf8000000-0xfbffffff] (base 0xf8000000)
[    0.147756] PCI: MMCONFIG at [mem 0xf8000000-0xfbffffff] reserved in E820
[    0.152552] PCI: Using configuration type 1 for base access
[    0.155592] bio: create slab <bio-0> at 0
[    0.222552] raid6: sse2x1    4623 MB/s
[    0.290547] raid6: sse2x2    5727 MB/s
[    0.358539] raid6: sse2x4    6507 MB/s
[    0.358607] raid6: using algorithm sse2x4 (6507 MB/s)
[    0.358675] raid6: using ssse3x2 recovery algorithm
[    0.358789] ACPI: Added _OSI(Module Device)
[    0.358858] ACPI: Added _OSI(Processor Device)
[    0.358924] ACPI: Added _OSI(3.0 _SCP Extensions)
[    0.358990] ACPI: Added _OSI(Processor Aggregator Device)
[    0.360878] ACPI: EC: Look up EC in DSDT
[    0.362927] ACPI: Executed 1 blocks of module-level executable AML code
[    0.375169] ACPI: SSDT 00000000dbe1d018 0083B (v01  PmRef  Cpu0Cst 00003001 INTL 20051117)
[    0.375823] ACPI: Dynamic OEM Table Load:
[    0.375979] ACPI: SSDT           (null) 0083B (v01  PmRef  Cpu0Cst 00003001 INTL 20051117)
[    0.386894] ACPI: SSDT 00000000dbe1ea98 00303 (v01  PmRef    ApIst 00003000 INTL 20051117)
[    0.387591] ACPI: Dynamic OEM Table Load:
[    0.387746] ACPI: SSDT           (null) 00303 (v01  PmRef    ApIst 00003000 INTL 20051117)
[    0.398712] ACPI: SSDT 00000000dbe1fc18 00119 (v01  PmRef    ApCst 00003000 INTL 20051117)
[    0.399342] ACPI: Dynamic OEM Table Load:
[    0.399499] ACPI: SSDT           (null) 00119 (v01  PmRef    ApCst 00003000 INTL 20051117)
[    0.411401] ACPI: Interpreter enabled
[    0.411477] ACPI: (supports S0 S5)
[    0.411542] ACPI: Using IOAPIC for interrupt routing
[    0.411646] PCI: Using host bridge windows from ACPI; if necessary, use "pci=nocrs" and report a bug
[    0.411949] ACPI: No dock devices found.
[    0.422320] ACPI: Power Resource [FN00] (off)
[    0.422509] ACPI: Power Resource [FN01] (off)
[    0.422702] ACPI: Power Resource [FN02] (off)
[    0.422886] ACPI: Power Resource [FN03] (off)
[    0.423070] ACPI: Power Resource [FN04] (off)
[    0.423997] ACPI: PCI Root Bridge [PCI0] (domain 0000 [bus 00-3e])
[    0.424448] acpi PNP0A08:00: Requesting ACPI _OSC control (0x1d)
[    0.425202] acpi PNP0A08:00: ACPI _OSC control (0x1d) granted
[    0.425978] ACPI: \_SB_.PCI0.TPMX: can't evaluate _ADR (0x5)
[    0.426295] ACPI: \_SB_.PCI0.PDRC: can't evaluate _ADR (0x5)
[    0.426368] ACPI: \_SB_.PCI0.ITPM: can't evaluate _ADR (0x5)
[    0.426437] ACPI: \_SB_.PCI0.DOCK: can't evaluate _ADR (0x5)
[    0.426506] PCI host bridge to bus 0000:00
[    0.426570] pci_bus 0000:00: root bus resource [bus 00-3e]
[    0.426645] pci_bus 0000:00: root bus resource [io  0x0000-0x0cf7]
[    0.426715] pci_bus 0000:00: root bus resource [io  0x0d00-0xffff]
[    0.426785] pci_bus 0000:00: root bus resource [mem 0x000a0000-0x000bffff]
[    0.426856] pci_bus 0000:00: root bus resource [mem 0x000d0000-0x000d3fff]
[    0.426927] pci_bus 0000:00: root bus resource [mem 0x000d4000-0x000d7fff]
[    0.426996] pci_bus 0000:00: root bus resource [mem 0x000d8000-0x000dbfff]
[    0.427067] pci_bus 0000:00: root bus resource [mem 0x000dc000-0x000dffff]
[    0.427138] pci_bus 0000:00: root bus resource [mem 0x000e0000-0x000e3fff]
[    0.427208] pci_bus 0000:00: root bus resource [mem 0x000e4000-0x000e7fff]
[    0.427278] pci_bus 0000:00: root bus resource [mem 0xdfa00000-0xfeafffff]
[    0.427354] pci 0000:00:00.0: [8086:0154] type 00 class 0x060000
[    0.427560] pci 0000:00:02.0: [8086:0166] type 00 class 0x030000
[    0.427641] pci 0000:00:02.0: reg 0x10: [mem 0xf7800000-0xf7bfffff 64bit]
[    0.427720] pci 0000:00:02.0: reg 0x18: [mem 0xe0000000-0xefffffff 64bit pref]
[    0.427810] pci 0000:00:02.0: reg 0x20: [io  0xf000-0xf03f]
[    0.428036] pci 0000:00:14.0: [8086:1e31] type 00 class 0x0c0330
[    0.428132] pci 0000:00:14.0: reg 0x10: [mem 0xf7d20000-0xf7d2ffff 64bit]
[    0.428283] pci 0000:00:14.0: PME# supported from D3hot D3cold
[    0.428427] pci 0000:00:14.0: System wakeup disabled by ACPI
[    0.428551] pci 0000:00:16.0: [8086:1e3a] type 00 class 0x078000
[    0.428645] pci 0000:00:16.0: reg 0x10: [mem 0xf7d3c000-0xf7d3c00f 64bit]
[    0.428803] pci 0000:00:16.0: PME# supported from D0 D3hot D3cold
[    0.428989] pci 0000:00:16.3: [8086:1e3d] type 00 class 0x070002
[    0.429078] pci 0000:00:16.3: reg 0x10: [io  0xf0e0-0xf0e7]
[    0.429158] pci 0000:00:16.3: reg 0x14: [mem 0xf7d3a000-0xf7d3afff]
[    0.429426] pci 0000:00:19.0: [8086:1502] type 00 class 0x020000
[    0.429515] pci 0000:00:19.0: reg 0x10: [mem 0xf7d00000-0xf7d1ffff]
[    0.429593] pci 0000:00:19.0: reg 0x14: [mem 0xf7d39000-0xf7d39fff]
[    0.429671] pci 0000:00:19.0: reg 0x18: [io  0xf080-0xf09f]
[    0.429809] pci 0000:00:19.0: PME# supported from D0 D3hot D3cold
[    0.429950] pci 0000:00:19.0: System wakeup disabled by ACPI
[    0.430075] pci 0000:00:1a.0: [8086:1e2d] type 00 class 0x0c0320
[    0.430163] pci 0000:00:1a.0: reg 0x10: [mem 0xf7d38000-0xf7d383ff]
[    0.430335] pci 0000:00:1a.0: PME# supported from D0 D3hot D3cold
[    0.430494] pci 0000:00:1a.0: System wakeup disabled by ACPI
[    0.430613] pci 0000:00:1b.0: [8086:1e20] type 00 class 0x040300
[    0.430706] pci 0000:00:1b.0: reg 0x10: [mem 0xf7d30000-0xf7d33fff 64bit]
[    0.430857] pci 0000:00:1b.0: PME# supported from D0 D3hot D3cold
[    0.431002] pci 0000:00:1b.0: System wakeup disabled by ACPI
[    0.431124] pci 0000:00:1c.0: [8086:1e10] type 01 class 0x060400
[    0.431323] pci 0000:00:1c.0: PME# supported from D0 D3hot D3cold
[    0.431476] pci 0000:00:1c.0: System wakeup disabled by ACPI
[    0.431602] pci 0000:00:1c.2: [8086:1e14] type 01 class 0x060400
[    0.431802] pci 0000:00:1c.2: PME# supported from D0 D3hot D3cold
[    0.431956] pci 0000:00:1c.2: System wakeup disabled by ACPI
[    0.432084] pci 0000:00:1d.0: [8086:1e26] type 00 class 0x0c0320
[    0.432176] pci 0000:00:1d.0: reg 0x10: [mem 0xf7d37000-0xf7d373ff]
[    0.432348] pci 0000:00:1d.0: PME# supported from D0 D3hot D3cold
[    0.432513] pci 0000:00:1d.0: System wakeup disabled by ACPI
[    0.432630] pci 0000:00:1f.0: [8086:1e56] type 00 class 0x060100
[    0.432928] pci 0000:00:1f.2: [8086:1e03] type 00 class 0x010601
[    0.433019] pci 0000:00:1f.2: reg 0x10: [io  0xf0d0-0xf0d7]
[    0.433094] pci 0000:00:1f.2: reg 0x14: [io  0xf0c0-0xf0c3]
[    0.433171] pci 0000:00:1f.2: reg 0x18: [io  0xf0b0-0xf0b7]
[    0.433245] pci 0000:00:1f.2: reg 0x1c: [io  0xf0a0-0xf0a3]
[    0.433321] pci 0000:00:1f.2: reg 0x20: [io  0xf060-0xf07f]
[    0.433399] pci 0000:00:1f.2: reg 0x24: [mem 0xf7d36000-0xf7d367ff]
[    0.433516] pci 0000:00:1f.2: PME# supported from D3hot
[    0.433694] pci 0000:00:1f.3: [8086:1e22] type 00 class 0x0c0500
[    0.433780] pci 0000:00:1f.3: reg 0x10: [mem 0xf7d35000-0xf7d350ff 64bit]
[    0.433871] pci 0000:00:1f.3: reg 0x20: [io  0xf040-0xf05f]
[    0.434167] pci 0000:00:1c.0: PCI bridge to [bus 01]
[    0.435938] pci 0000:02:00.0: [8086:088e] type 00 class 0x028000
[    0.436191] pci 0000:02:00.0: reg 0x10: [mem 0xf7c00000-0xf7c01fff 64bit]
[    0.437028] pci 0000:02:00.0: PME# supported from D0 D3hot D3cold
[    0.437267] pci 0000:02:00.0: System wakeup disabled by ACPI
[    0.443791] pci 0000:00:1c.2: PCI bridge to [bus 02]
[    0.443868] pci 0000:00:1c.2:   bridge window [mem 0xf7c00000-0xf7cfffff]
[    0.444638] ACPI: PCI Interrupt Link [LNKA] (IRQs 3 4 5 6 10 *11 12 14 15)
[    0.445268] ACPI: PCI Interrupt Link [LNKB] (IRQs 3 4 5 6 10 11 12 14 15) *0, disabled.
[    0.445992] ACPI: PCI Interrupt Link [LNKC] (IRQs 3 *4 5 6 10 11 12 14 15)
[    0.446615] ACPI: PCI Interrupt Link [LNKD] (IRQs 3 4 5 6 *10 11 12 14 15)
[    0.447235] ACPI: PCI Interrupt Link [LNKE] (IRQs 3 4 *5 6 10 11 12 14 15)
[    0.447872] ACPI: PCI Interrupt Link [LNKF] (IRQs 3 4 5 6 10 11 12 14 15) *0, disabled.
[    0.448594] ACPI: PCI Interrupt Link [LNKG] (IRQs *3 4 5 6 10 11 12 14 15)
[    0.449213] ACPI: PCI Interrupt Link [LNKH] (IRQs 3 4 5 6 10 *11 12 14 15)
[    0.450055] ACPI: Enabled 6 GPEs in block 00 to 3F
[    0.450218] ACPI: \_SB_.PCI0: notify handler is installed
[    0.450355] Found 1 acpi root devices
[    0.450532] vgaarb: device added: PCI:0000:00:02.0,decodes=io+mem,owns=io+mem,locks=none
[    0.450620] vgaarb: loaded
[    0.450684] vgaarb: bridge control possible 0000:00:02.0
[    0.450880] SCSI subsystem initialized
[    0.451001] libata version 3.00 loaded.
[    0.451092] ACPI: bus type USB registered
[    0.451185] usbcore: registered new interface driver usbfs
[    0.451263] usbcore: registered new interface driver hub
[    0.451372] usbcore: registered new device driver usb
[    0.451464] pps_core: LinuxPPS API ver. 1 registered
[    0.451534] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[    0.451621] PTP clock support registered
[    0.451732] wmi: Mapper loaded
[    0.451811] PCI: Using ACPI for IRQ routing
[    0.453760] PCI: pci_cache_line_size set to 64 bytes
[    0.453938] e820: reserve RAM buffer [mem 0x0009d800-0x0009ffff]
[    0.454011] e820: reserve RAM buffer [mem 0x40004000-0x43ffffff]
[    0.454076] e820: reserve RAM buffer [mem 0xdb9f1000-0xdbffffff]
[    0.454145] e820: reserve RAM buffer [mem 0xdc20e000-0xdfffffff]
[    0.454214] e820: reserve RAM buffer [mem 0xdd000000-0xdfffffff]
[    0.454283] e820: reserve RAM buffer [mem 0x21e600000-0x21fffffff]
[    0.454543] cfg80211: Calling CRDA to update world regulatory domain
[    0.454917] hpet0: at MMIO 0xfed00000, IRQs 2, 8, 0, 0, 0, 0, 0, 0
[    0.455380] hpet0: 8 comparators, 64-bit 14.318180 MHz counter
[    0.457476] Switched to clocksource hpet
[    0.463132] FS-Cache: Loaded
[    0.463261] CacheFiles: Loaded
[    0.463339] pnp: PnP ACPI init
[    0.463417] ACPI: bus type PNP registered
[    0.463545] pnp 00:00: [dma 4]
[    0.463639] pnp 00:00: Plug and Play ACPI device, IDs PNP0200 (active)
[    0.463742] pnp 00:01: Plug and Play ACPI device, IDs INT0800 (active)
[    0.463955] pnp 00:02: Plug and Play ACPI device, IDs PNP0103 (active)
[    0.464086] system 00:03: [io  0x0680-0x069f] has been reserved
[    0.464159] system 00:03: [io  0x1000-0x100f] has been reserved
[    0.464228] system 00:03: [io  0xffff] has been reserved
[    0.464297] system 00:03: [io  0xffff] has been reserved
[    0.464366] system 00:03: [io  0x0400-0x0453] could not be reserved
[    0.464437] system 00:03: [io  0x0458-0x047f] has been reserved
[    0.464507] system 00:03: [io  0x0500-0x057f] has been reserved
[    0.464574] system 00:03: [io  0x164e-0x164f] has been reserved
[    0.464644] system 00:03: Plug and Play ACPI device, IDs PNP0c02 (active)
[    0.464757] pnp 00:04: Plug and Play ACPI device, IDs PNP0b00 (active)
[    0.464890] system 00:05: [io  0x0454-0x0457] has been reserved
[    0.464964] system 00:05: Plug and Play ACPI device, IDs INT3f0d PNP0c02 (active)
[    0.465220] system 00:06: [io  0x0a00-0x0a1f] has been reserved
[    0.465294] system 00:06: [io  0x0a30-0x0a3f] has been reserved
[    0.465363] system 00:06: [io  0x0a20-0x0a2f] has been reserved
[    0.465431] system 00:06: Plug and Play ACPI device, IDs PNP0c02 (active)
[    0.465609] system 00:07: [io  0x04d0-0x04d1] has been reserved
[    0.465680] system 00:07: Plug and Play ACPI device, IDs PNP0c02 (active)
[    0.465787] pnp 00:08: Plug and Play ACPI device, IDs PNP0c04 (active)
[    0.465912] pnp 00:09: Plug and Play ACPI device, IDs PNP0c31 (active)
[    0.466311] system 00:0a: [mem 0xfed1c000-0xfed1ffff] has been reserved
[    0.466385] system 00:0a: [mem 0xfed10000-0xfed17fff] has been reserved
[    0.466455] system 00:0a: [mem 0xfed18000-0xfed18fff] has been reserved
[    0.466526] system 00:0a: [mem 0xfed19000-0xfed19fff] has been reserved
[    0.466597] system 00:0a: [mem 0xf8000000-0xfbffffff] has been reserved
[    0.466667] system 00:0a: [mem 0xfed20000-0xfed3ffff] has been reserved
[    0.466738] system 00:0a: [mem 0xfed90000-0xfed93fff] could not be reserved
[    0.466810] system 00:0a: [mem 0xfed45000-0xfed8ffff] has been reserved
[    0.466881] system 00:0a: [mem 0xff000000-0xffffffff] has been reserved
[    0.466949] system 00:0a: [mem 0xfee00000-0xfeefffff] could not be reserved
[    0.467020] system 00:0a: [mem 0xdfa00000-0xdfa00fff] has been reserved
[    0.467091] system 00:0a: Plug and Play ACPI device, IDs PNP0c02 (active)
[    0.467421] system 00:0b: [mem 0x20000000-0x201fffff] has been reserved
[    0.467493] system 00:0b: [mem 0x40004000-0x40004fff] has been reserved
[    0.467562] system 00:0b: Plug and Play ACPI device, IDs PNP0c01 (active)
[    0.467657] pnp: PnP ACPI: found 12 devices
[    0.467726] ACPI: bus type PNP unregistered
[    0.475141] pci 0000:00:1c.0: PCI bridge to [bus 01]
[    0.475230] pci 0000:00:1c.2: PCI bridge to [bus 02]
[    0.475303] pci 0000:00:1c.2:   bridge window [mem 0xf7c00000-0xf7cfffff]
[    0.475385] pci_bus 0000:00: resource 4 [io  0x0000-0x0cf7]
[    0.475452] pci_bus 0000:00: resource 5 [io  0x0d00-0xffff]
[    0.475521] pci_bus 0000:00: resource 6 [mem 0x000a0000-0x000bffff]
[    0.475590] pci_bus 0000:00: resource 7 [mem 0x000d0000-0x000d3fff]
[    0.475660] pci_bus 0000:00: resource 8 [mem 0x000d4000-0x000d7fff]
[    0.475728] pci_bus 0000:00: resource 9 [mem 0x000d8000-0x000dbfff]
[    0.475797] pci_bus 0000:00: resource 10 [mem 0x000dc000-0x000dffff]
[    0.475867] pci_bus 0000:00: resource 11 [mem 0x000e0000-0x000e3fff]
[    0.475938] pci_bus 0000:00: resource 12 [mem 0x000e4000-0x000e7fff]
[    0.476008] pci_bus 0000:00: resource 13 [mem 0xdfa00000-0xfeafffff]
[    0.476078] pci_bus 0000:02: resource 1 [mem 0xf7c00000-0xf7cfffff]
[    0.476220] NET: Registered protocol family 2
[    0.476609] TCP established hash table entries: 65536 (order: 8, 1048576 bytes)
[    0.476958] TCP bind hash table entries: 65536 (order: 8, 1048576 bytes)
[    0.477205] TCP: Hash tables configured (established 65536 bind 65536)
[    0.477298] TCP: reno registered
[    0.477380] UDP hash table entries: 4096 (order: 5, 131072 bytes)
[    0.477515] UDP-Lite hash table entries: 4096 (order: 5, 131072 bytes)
[    0.477682] NET: Registered protocol family 1
[    0.477762] pci 0000:00:02.0: Boot video device
[    0.517628] PCI: CLS 64 bytes, default 64
[    0.517743] Trying to unpack rootfs image as initramfs...
[    0.713195] Freeing initrd memory: 9292K (ffff880036dca000 - ffff8800376dd000)
[    0.713290] PCI-DMA: Using software bounce buffering for IO (SWIOTLB)
[    0.713382] software IO TLB [mem 0xd79f1000-0xdb9f1000] (64MB) mapped at [ffff8800d79f1000-ffff8800db9f0fff]
[    0.714296] microcode: CPU0 sig=0x306a9, pf=0x10, revision=0x17
[    0.714382] microcode: CPU1 sig=0x306a9, pf=0x10, revision=0x17
[    0.714459] microcode: CPU2 sig=0x306a9, pf=0x10, revision=0x17
[    0.714537] microcode: CPU3 sig=0x306a9, pf=0x10, revision=0x17
[    0.714656] microcode: Microcode Update Driver: v2.00 <tigran@aivazian.fsnet.co.uk>, Peter Oruba
[    0.722296] alg: No test for __gcm-aes-aesni (__driver-gcm-aes-aesni)
[    0.724667] sha1_ssse3: Using AVX optimized SHA-1 implementation
[    0.725085] audit: initializing netlink socket (disabled)
[    0.725170] type=2000 audit(1381919409.720:1): initialized
[    0.764821] bounce pool size: 64 pages
[    0.764895] HugeTLB registered 2 MB page size, pre-allocated 0 pages
[    0.765557] VFS: Disk quotas dquot_6.5.2
[    0.765655] Dquot-cache hash table entries: 512 (order 0, 4096 bytes)
[    0.766136] FS-Cache: Netfs 'cifs' registered for caching
[    0.766256] Key type cifs.spnego registered
[    0.766334] Key type cifs.idmap registered
[    0.766406] NTFS driver 2.1.30 [Flags: R/W].
[    0.766572] fuse init (API version 7.22)
[    0.766803] bio: create slab <bio-1> at 1
[    0.767041] Btrfs loaded
[    0.767117] msgmni has been set to 15821
[    0.771969] alg: No test for stdrng (krng)
[    0.778191] alg: No test for fips(ansi_cprng) (fips_ansi_cprng)
[    0.778346] NET: Registered protocol family 38
[    0.778442] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 249)
[    0.778524] io scheduler noop registered
[    0.778589] io scheduler deadline registered
[    0.778676] io scheduler cfq registered (default)
[    0.779023] pcieport 0000:00:1c.0: irq 42 for MSI/MSI-X
[    0.779346] pcieport 0000:00:1c.2: irq 43 for MSI/MSI-X
[    0.779549] pcieport 0000:00:1c.0: Signaling PME through PCIe PME interrupt
[    0.779626] pcie_pme 0000:00:1c.0:pcie01: service driver pcie_pme loaded
[    0.779717] pcieport 0000:00:1c.2: Signaling PME through PCIe PME interrupt
[    0.779790] pci 0000:02:00.0: Signaling PME through PCIe PME interrupt
[    0.779864] pcie_pme 0000:00:1c.2:pcie01: service driver pcie_pme loaded
[    0.779950] pci_hotplug: PCI Hot Plug PCI Core version: 0.5
[    0.780037] pciehp: PCI Express Hot Plug Controller Driver version: 0.4
[    0.780110] cpcihp_zt5550: ZT5550 CompactPCI Hot Plug Driver version: 0.2
[    0.780195] cpcihp_generic: Generic port I/O CompactPCI Hot Plug Driver version: 0.1
[    0.780282] cpcihp_generic: not configured, disabling.
[    0.780361] shpchp: Standard Hot Plug PCI Controller Driver version: 0.4
[    0.782344] acpiphp_ibm: ibm_acpiphp_init: acpi_walk_namespace failed
[    0.782465] vmlfb: initializing
[    0.782693] uvesafb: failed to execute /sbin/v86d
[    0.782762] uvesafb: make sure that the v86d helper is installed and executable
[    0.782844] uvesafb: Getting VBE info block failed (eax=0x4f00, err=-2)
[    0.782914] uvesafb: vbe_init() failed with -22
[    0.782982] uvesafb: probe of uvesafb.0 failed with error -22
[    0.783093] vga16fb: initializing
[    0.783162] vga16fb: mapped to 0xffff8800000a0000
[    0.876905] Console: switching to colour frame buffer device 80x30
[    0.884071] fb0: VGA16 VGA frame buffer device
[    0.884337] intel_idle: MWAIT substates: 0x21120
[    0.884601] intel_idle: v0.4 model 0x3A
[    0.884844] intel_idle: lapic_timer_reliable_states 0xffffffff
[    0.885304] ipmi message handler version 39.2
[    0.897423] ipmi device interface
[    0.909647] IPMI System Interface driver.
[    0.921705] ipmi_si: Adding default-specified kcs state machine
[    0.933885] ipmi_si: Trying default-specified kcs state machine at i/o address 0xca2, slave address 0x0, irq 0
[    0.957489] ipmi_si: Interface detection failed
[    1.001221] ipmi_si: Adding default-specified smic state machine
[    1.013173] ipmi_si: Trying default-specified smic state machine at i/o address 0xca9, slave address 0x0, irq 0
[    1.036875] ipmi_si: Interface detection failed
[    1.073223] ipmi_si: Adding default-specified bt state machine
[    1.085079] ipmi_si: Trying default-specified bt state machine at i/o address 0xe4, slave address 0x0, irq 0
[    1.108244] ipmi_si: Interface detection failed
[    1.137192] ipmi_si: Unable to find any System Interface(s)
[    1.148731] IPMI Watchdog: driver initialized
[    1.160205] Copyright (C) 2004 MontaVista Software - IPMI Powerdown via sys_reboot.
[    1.182906] input: Power Button as /devices/LNXSYSTM:00/device:00/PNP0C0C:00/input/input0
[    1.205218] ACPI: Power Button [PWRB]
[    1.216553] input: Power Button as /devices/LNXSYSTM:00/LNXPWRBN:00/input/input1
[    1.239057] ACPI: Power Button [PWRF]
[    1.250568] ACPI: Fan [FAN0] (off)
[    1.261799] ACPI: Fan [FAN1] (off)
[    1.272905] ACPI: Fan [FAN2] (off)
[    1.283934] ACPI: Fan [FAN3] (off)
[    1.294869] ACPI: Fan [FAN4] (off)
[    1.305688] ACPI: Requesting acpi_cpufreq
[    1.357570] thermal LNXTHERM:00: registered as thermal_zone0
[    1.368401] ACPI: Thermal Zone [TZ00] (28 C)
[    1.379332] thermal LNXTHERM:01: registered as thermal_zone1
[    1.389947] ACPI: Thermal Zone [TZ01] (30 C)
[    1.400290] GHES: HEST is not enabled!
[    1.410454] ioatdma: Intel(R) QuickData Technology Driver 4.00
[    1.420796] xenfs: not registering filesystem on non-xen platform
[    1.431196] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
[    1.462208] 0000:00:16.3: ttyS0 at I/O 0xf0e0 (irq = 19, base_baud = 115200) is a 16550A
[    1.482955] Non-volatile memory driver v1.3
[    1.493660] Linux agpgart interface v0.103
[    1.504000] Hangcheck: starting hangcheck timer 0.9.1 (tick is 180 seconds, margin is 60 seconds).
[    1.525628] Hangcheck: Using getrawmonotonic().
[    1.536855] tpm_tis 00:09: 1.2 TPM (device-id 0x0, rev-id 78)
[    1.593124] [drm] Initialized drm 1.1.0 20060810
[    1.603659] drm/i810 does not support SMP
[    1.615035] [drm] Memory usable by graphics device = 2048M
[    1.625256] checking generic (a0000 10000) vs hw (e0000000 10000000)
[    1.635551] fb: conflicting fb hw usage inteldrmfb vs VGA16 VGA - removing generic driver
[    1.675114] Console: switching to colour VGA+ 80x25
[    1.676074] i915 0000:00:02.0: setting latency timer to 64
[    1.698942] i915 0000:00:02.0: irq 44 for MSI/MSI-X
[    1.699021] [drm] Supports vblank timestamp caching Rev 1 (10.10.2010).
[    1.699094] [drm] Driver supports precise vblank timestamp query.
[    1.699296] vgaarb: device changed decodes: PCI:0000:00:02.0,olddecodes=io+mem,decodes=io+mem:owns=io+mem
[    1.712855] tsc: Refined TSC clocksource calibration: 2294.792 MHz
[    1.796801] [drm] GMBUS [i915 gmbus vga] timed out, falling back to bit banging on pin 2
[    1.867013] fbcon: inteldrmfb (fb0) is primary device
[    2.071325] Console: switching to colour frame buffer device 210x65
[    2.082442] i915 0000:00:02.0: fb0: inteldrmfb frame buffer device
[    2.082507] i915 0000:00:02.0: registered panic notifier
[    2.114221] ACPI: Video Device [GFX0] (multi-head: yes  rom: no  post: no)
[    2.114377] input: Video Bus as /devices/LNXSYSTM:00/device:00/PNP0A08:00/LNXVIDEO:00/input/input2
[    2.114493] [drm] Initialized i915 1.6.0 20080730 for 0000:00:02.0 on minor 0
[    2.116885] brd: module loaded
[    2.118046] loop: module loaded
[    2.118515] nbd: registered device at major 43
[    2.120637] events: mcg drbd: 7
[    2.124932] drbd: initialized. Version: 8.4.3 (api:1/proto:86-101)
[    2.124991] drbd: built-in
[    2.125018] drbd: registered as block device major 147
[    2.125239] mei_me 0000:00:16.0: setting latency timer to 64
[    2.125349] mei_me 0000:00:16.0: irq 45 for MSI/MSI-X
[    2.129492] ACPI Warning: 0x0000000000000428-0x000000000000042f SystemIO conflicts with Region \PMIO 1 (20130725/utaddress-251)
[    2.129607] ACPI: If an ACPI driver is available for this device, you should use it instead of the native driver
[    2.129702] ACPI Warning: 0x0000000000000530-0x000000000000053f SystemIO conflicts with Region \GPIO 1 (20130725/utaddress-251)
[    2.129810] ACPI: If an ACPI driver is available for this device, you should use it instead of the native driver
[    2.129899] ACPI Warning: 0x0000000000000500-0x000000000000052f SystemIO conflicts with Region \GPIO 1 (20130725/utaddress-251)
[    2.130007] ACPI: If an ACPI driver is available for this device, you should use it instead of the native driver
[    2.130095] lpc_ich: Resource conflict(s) found affecting gpio_ich
[    2.130187] Loading iSCSI transport class v2.0-870.
[    2.130385] hv_vmbus: registering driver hv_storvsc
[    2.130514] ahci 0000:00:1f.2: version 3.0
[    2.130730] ahci 0000:00:1f.2: irq 46 for MSI/MSI-X
[    2.130839] ahci 0000:00:1f.2: AHCI 0001.0300 32 slots 6 ports 6 Gbps 0x1 impl SATA mode
[    2.130914] ahci 0000:00:1f.2: flags: 64bit ncq pm led clo pio slum part ems apst 
[    2.130988] ahci 0000:00:1f.2: setting latency timer to 64
[    2.131807] scsi0 : ahci
[    2.132053] scsi1 : ahci
[    2.132258] scsi2 : ahci
[    2.132422] scsi3 : ahci
[    2.132549] scsi4 : ahci
[    2.132673] scsi5 : ahci
[    2.132755] ata1: SATA max UDMA/133 abar m2048@0xf7d36000 port 0xf7d36100 irq 46
[    2.132822] ata2: DUMMY
[    2.132847] ata3: DUMMY
[    2.132874] ata4: DUMMY
[    2.132898] ata5: DUMMY
[    2.134650] ata6: DUMMY
[    2.136479] bonding: Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011)
[    2.138834] eql: Equalizer2002: Simon Janes (simon@ncm.com) and David S. Miller (davem@redhat.com)
[    2.141371] tun: Universal TUN/TAP device driver, 1.6
[    2.143306] tun: (C) 1999-2004 Max Krasnyansky <maxk@qualcomm.com>
[    2.145363] e100: Intel(R) PRO/100 Network Driver, 3.5.24-k2-NAPI
[    2.147389] e100: Copyright(c) 1999-2006 Intel Corporation
[    2.149475] e1000: Intel(R) PRO/1000 Network Driver - version 7.3.21-k8-NAPI
[    2.151597] e1000: Copyright (c) 1999-2006 Intel Corporation.
[    2.153775] e1000e: Intel(R) PRO/1000 Network Driver - 2.3.2-k
[    2.155960] e1000e: Copyright(c) 1999 - 2013 Intel Corporation.
[    2.158343] e1000e 0000:00:19.0: setting latency timer to 64
[    2.160669] e1000e 0000:00:19.0: Interrupt Throttling Rate (ints/sec) set to dynamic conservative mode
[    2.163032] e1000e 0000:00:19.0: irq 47 for MSI/MSI-X
[    2.372986] e1000e 0000:00:19.0 eth0: registered PHC clock
[    2.375379] e1000e 0000:00:19.0 eth0: (PCI Express:2.5GT/s:Width x1) ec:a8:6b:fa:7b:3c
[    2.377828] e1000e 0000:00:19.0 eth0: Intel(R) PRO/1000 Network Connection
[    2.380347] e1000e 0000:00:19.0 eth0: MAC: 10, PHY: 11, PBA No: FFFFFF-0FF
[    2.382870] igb: Intel(R) Gigabit Ethernet Network Driver - version 5.0.5-k
[    2.385422] igb: Copyright (c) 2007-2013 Intel Corporation.
[    2.388010] igbvf: Intel(R) Gigabit Virtual Function Network Driver - version 2.0.2-k
[    2.390658] igbvf: Copyright (c) 2009 - 2012 Intel Corporation.
[    2.393359] ixgbe: Intel(R) 10 Gigabit PCI Express Network Driver - version 3.15.1-k
[    2.396099] ixgbe: Copyright (c) 1999-2013 Intel Corporation.
[    2.398862] ixgbevf: Intel(R) 10 Gigabit PCI Express Virtual Function Network Driver - version 2.7.12-k
[    2.401641] ixgbevf: Copyright (c) 2009 - 2012 Intel Corporation.
[    2.404418] ixgb: Intel(R) PRO/10GbE Network Driver - version 1.0.135-k2-NAPI
[    2.407220] ixgb: Copyright (c) 1999-2008 Intel Corporation.
[    2.410060] ipw2100: Intel(R) PRO/Wireless 2100 Network Driver, git-1.2.2
[    2.412837] ipw2100: Copyright(c) 2003-2006 Intel Corporation
[    2.415597] libipw: 802.11 data/management/control stack, git-1.1.13
[    2.418342] libipw: Copyright (C) 2004-2005 Intel Corporation <jketreno@linux.intel.com>
[    2.421136] Intel(R) Wireless WiFi driver for Linux, in-tree:d
[    2.423933] Copyright(c) 2003-2013 Intel Corporation
[    2.426980] iwlwifi 0000:02:00.0: irq 48 for MSI/MSI-X
[    2.430327] iwlwifi 0000:02:00.0: loaded firmware version 18.168.6.1 op_mode iwldvm
[    2.433233] iwlwifi 0000:02:00.0: CONFIG_IWLWIFI_DEBUG enabled
[    2.436054] iwlwifi 0000:02:00.0: CONFIG_IWLWIFI_DEBUGFS disabled
[    2.438850] iwlwifi 0000:02:00.0: CONFIG_IWLWIFI_DEVICE_TRACING enabled
[    2.441652] iwlwifi 0000:02:00.0: Detected Intel(R) Centrino(R) Advanced-N 6235 AGN, REV=0xB0
[    2.444497] iwlwifi 0000:02:00.0: L1 Disabled; Enabling L0S
[    2.452503] ata1: SATA link up 6.0 Gbps (SStatus 133 SControl 300)
[    2.455858] ata1.00: ACPI cmd ef/10:06:00:00:00:00 (SET FEATURES) succeeded
[    2.458608] ata1.00: ACPI cmd f5/00:00:00:00:00:00 (SECURITY FREEZE LOCK) filtered out
[    2.461295] ata1.00: ACPI cmd b1/c1:00:00:00:00:00 (DEVICE CONFIGURATION OVERLAY) filtered out
[    2.464199] ata1.00: supports DRM functions and may not be fully accessible
[    2.464997] cfg80211: Ignoring regulatory request Set by core since the driver uses its own custom regulatory domain
[    2.465041] ieee80211 phy0: Selected rate control algorithm 'iwl-agn-rs'
[    2.465254] iwl4965: Intel(R) Wireless WiFi 4965 driver for Linux, in-tree:d
[    2.465255] iwl4965: Copyright(c) 2003-2011 Intel Corporation
[    2.465281] iwl3945: Intel(R) PRO/Wireless 3945ABG/BG Network Connection driver for Linux, in-tree:ds
[    2.465282] iwl3945: Copyright(c) 2003-2011 Intel Corporation
[    2.465421] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[    2.465423] ehci-pci: EHCI PCI platform driver
[    2.465636] ehci-pci 0000:00:1a.0: setting latency timer to 64
[    2.465646] ehci-pci 0000:00:1a.0: EHCI Host Controller
[    2.465754] ehci-pci 0000:00:1a.0: new USB bus registered, assigned bus number 1
[    2.465775] ehci-pci 0000:00:1a.0: debug port 2
[    2.469688] ehci-pci 0000:00:1a.0: cache line size of 64 is not supported
[    2.469714] ehci-pci 0000:00:1a.0: irq 16, io mem 0xf7d38000
[    2.480470] ehci-pci 0000:00:1a.0: USB 2.0 started, EHCI 1.00
[    2.480539] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
[    2.480541] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    2.480544] usb usb1: Product: EHCI Host Controller
[    2.480546] usb usb1: Manufacturer: Linux 3.12.0-rc5+ ehci_hcd
[    2.480548] usb usb1: SerialNumber: 0000:00:1a.0
[    2.480774] hub 1-0:1.0: USB hub found
[    2.480786] hub 1-0:1.0: 3 ports detected
[    2.481210] ehci-pci 0000:00:1d.0: setting latency timer to 64
[    2.481221] ehci-pci 0000:00:1d.0: EHCI Host Controller
[    2.481331] ehci-pci 0000:00:1d.0: new USB bus registered, assigned bus number 2
[    2.481350] ehci-pci 0000:00:1d.0: debug port 2
[    2.485244] ehci-pci 0000:00:1d.0: cache line size of 64 is not supported
[    2.485270] ehci-pci 0000:00:1d.0: irq 23, io mem 0xf7d37000
[    2.496454] ehci-pci 0000:00:1d.0: USB 2.0 started, EHCI 1.00
[    2.496506] usb usb2: New USB device found, idVendor=1d6b, idProduct=0002
[    2.496509] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    2.496512] usb usb2: Product: EHCI Host Controller
[    2.496514] usb usb2: Manufacturer: Linux 3.12.0-rc5+ ehci_hcd
[    2.496516] usb usb2: SerialNumber: 0000:00:1d.0
[    2.496726] hub 2-0:1.0: USB hub found
[    2.496735] hub 2-0:1.0: 3 ports detected
[    2.496993] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[    2.496994] ohci-pci: OHCI PCI platform driver
[    2.497014] ohci-platform: OHCI generic platform driver
[    2.497030] uhci_hcd: USB Universal Host Controller Interface driver
[    2.589492] xhci_hcd 0000:00:14.0: setting latency timer to 64
[    2.592122] xhci_hcd 0000:00:14.0: xHCI Host Controller
[    2.592171] ata1.00: ATA-9: Crucial_CT120M500SSD3, MU03, max UDMA/133
[    2.592173] ata1.00: 234441648 sectors, multi 16: LBA48 NCQ (depth 31/32), AA
[    2.599969] ata1.00: ACPI cmd ef/10:06:00:00:00:00 (SET FEATURES) succeeded
[    2.600033] xhci_hcd 0000:00:14.0: new USB bus registered, assigned bus number 3
[    2.600158] xhci_hcd 0000:00:14.0: cache line size of 64 is not supported
[    2.600196] xhci_hcd 0000:00:14.0: irq 49 for MSI/MSI-X
[    2.600307] usb usb3: New USB device found, idVendor=1d6b, idProduct=0002
[    2.600310] usb usb3: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    2.600312] usb usb3: Product: xHCI Host Controller
[    2.600315] usb usb3: Manufacturer: Linux 3.12.0-rc5+ xhci_hcd
[    2.600317] usb usb3: SerialNumber: 0000:00:14.0
[    2.600562] hub 3-0:1.0: USB hub found
[    2.600578] hub 3-0:1.0: 4 ports detected
[    2.601291] xhci_hcd 0000:00:14.0: xHCI Host Controller
[    2.601399] xhci_hcd 0000:00:14.0: new USB bus registered, assigned bus number 4
[    2.601465] usb usb4: New USB device found, idVendor=1d6b, idProduct=0003
[    2.601468] usb usb4: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    2.601471] usb usb4: Product: xHCI Host Controller
[    2.601473] usb usb4: Manufacturer: Linux 3.12.0-rc5+ xhci_hcd
[    2.601475] usb usb4: SerialNumber: 0000:00:14.0
[    2.601684] hub 4-0:1.0: USB hub found
[    2.601698] hub 4-0:1.0: 4 ports detected
[    2.650369] ata1.00: ACPI cmd f5/00:00:00:00:00:00 (SECURITY FREEZE LOCK) filtered out
[    2.652800] ata1.00: ACPI cmd b1/c1:00:00:00:00:00 (DEVICE CONFIGURATION OVERLAY) filtered out
[    2.655517] ata1.00: supports DRM functions and may not be fully accessible
[    2.664320] ata1.00: configured for UDMA/133
[    2.664523] i8042: PNP: No PS/2 controller found. Probing ports directly.
[    2.669265] scsi 0:0:0:0: Direct-Access     ATA      Crucial_CT120M50 MU03 PQ: 0 ANSI: 5
[    2.671813] sd 0:0:0:0: [sda] 234441648 512-byte logical blocks: (120 GB/111 GiB)
[    2.671854] sd 0:0:0:0: Attached scsi generic sg0 type 0
[    2.676599] sd 0:0:0:0: [sda] 4096-byte physical blocks
[    2.679018] sd 0:0:0:0: [sda] Write Protect is off
[    2.681377] sd 0:0:0:0: [sda] Mode Sense: 00 3a 00 00
[    2.683735] sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[    2.686534]  sda: sda1
[    2.689465] sd 0:0:0:0: [sda] Attached SCSI disk
[    2.816675] [drm] Enabling RC6 states: RC6 on, RC6p on, RC6pp off
[    3.703071] i8042: No controller found
[    3.705621] Switched to clocksource tsc
[    3.705657] mousedev: PS/2 mouse device common for all mice
[    3.705834] rtc_cmos 00:04: RTC can wake from S4
[    3.705976] rtc_cmos 00:04: rtc core: registered rtc_cmos as rtc0
[    3.706015] rtc_cmos 00:04: alarms up to one month, y3k, 242 bytes nvram, hpet irqs
[    3.706202] i2c /dev entries driver
[    3.706733] ACPI Warning: 0x000000000000f040-0x000000000000f05f SystemIO conflicts with Region \_SB_.PCI0.SBUS.SMBI 1 (20130725/utaddress-251)
[    3.706735] ACPI: If an ACPI driver is available for this device, you should use it instead of the native driver
[    3.706846] pps_ldisc: PPS line discipline registered
[    3.707246] w83627ehf: Found NCT6776F chip at 0xa30
[    3.707928] sp5100_tco: SP5100/SB800 TCO WatchDog Timer Driver v0.05
[    3.707974] iTCO_wdt: Intel TCO WatchDog Timer Driver v1.10
[    3.707999] iTCO_wdt: Found a Panther Point TCO device (Version=2, TCOBASE=0x0460)
[    3.708060] iTCO_wdt: initialized. heartbeat=30 sec (nowayout=0)
[    3.708065] iTCO_vendor_support: vendor-support=0
[    3.708097] softdog: Software Watchdog Timer: 0.08 initialized. soft_noboot=0 soft_margin=60 sec soft_panic=0 (nowayout=0)
[    3.746350] device-mapper: uevent: version 1.0.3
[    3.749218] device-mapper: ioctl: 4.26.0-ioctl (2013-08-15) initialised: dm-devel@redhat.com
[    3.752097] Intel P-state driver initializing.
[    3.754889] Intel pstate controlling: cpu 0
[    3.756677] Intel pstate controlling: cpu 1
[    3.758405] Intel pstate controlling: cpu 2
[    3.760152] Intel pstate controlling: cpu 3
[    3.761873] leds_ss4200: no LED devices found
[    3.763547] hidraw: raw HID events driver (C) Jiri Kosina
[    3.765309] usbcore: registered new interface driver usbhid
[    3.766975] usbhid: USB HID core driver
[    3.768653] hv_utils: Registering HyperV Utility Driver
[    3.770305] hv_vmbus: registering driver hv_util
[    3.772001] drop_monitor: Initializing network drop monitor service
[    3.773666] GACT probability on
[    3.775301] Mirror/redirect action on
[    3.776954] Simple TC action Loaded
[    3.778649] netem: version 1.3
[    3.780275] u32 classifier
[    3.781860]     Performance counters on
[    3.783447]     input device check on
[    3.785054]     Actions configured
[    3.786633] Netfilter messages via NETLINK v0.30.
[    3.788252] nfnl_acct: registering with nfnetlink.
[    3.789849] nf_conntrack version 0.5.0 (16384 buckets, 65536 max)
[    3.791541] ctnetlink v0.93: registering with nfnetlink.
[    3.793225] xt_time: kernel timezone is -0000
[    3.794824] ip_set: protocol 6
[    3.796435] IPVS: Registered protocols (TCP, UDP, SCTP, AH, ESP)
[    3.798070] IPVS: Connection hash table configured (size=4096, memory=64Kbytes)
[    3.799722] IPVS: Creating netns size=2048 id=0
[    3.801342] IPVS: ipvs loaded.
[    3.802950] IPVS: [rr] scheduler registered.
[    3.804546] IPVS: [wrr] scheduler registered.
[    3.806130] IPVS: [lc] scheduler registered.
[    3.807694] IPVS: [wlc] scheduler registered.
[    3.809251] IPVS: [lblc] scheduler registered.
[    3.810795] IPVS: [lblcr] scheduler registered.
[    3.812317] IPVS: [dh] scheduler registered.
[    3.813819] IPVS: [sh] scheduler registered.
[    3.815300] IPVS: [sed] scheduler registered.
[    3.815781] usb 1-1: new high-speed USB device number 2 using ehci-pci
[    3.818330] IPVS: [nq] scheduler registered.
[    3.819921] ip_tables: (C) 2000-2006 Netfilter Core Team
[    3.821455] ipt_CLUSTERIP: ClusterIP Version 0.8 loaded successfully
[    3.822963] arp_tables: (C) 2002 David S. Miller
[    3.824472] TCP: cubic registered
[    3.825953] Initializing XFRM netlink socket
[    3.827433] NET: Registered protocol family 17
[    3.828919] NET: Registered protocol family 15
[    3.830417] Bridge firewalling registered
[    3.831891] Ebtables v2.0 registered
[    3.867990] NET: Registered protocol family 33
[    3.869471] Key type rxrpc registered
[    3.870904] Key type rxrpc_s registered
[    3.872346] 8021q: 802.1Q VLAN Support v1.8
[    3.873705] lib80211: common routines for IEEE802.11 drivers
[    3.875045] lib80211_crypt: registered algorithm 'NULL'
[    3.876382] lib80211_crypt: registered algorithm 'WEP'
[    3.877694] lib80211_crypt: registered algorithm 'CCMP'
[    3.878981] lib80211_crypt: registered algorithm 'TKIP'
[    3.880260] Key type dns_resolver registered
[    3.882094] registered taskstats version 1
[    3.883857] console [netcon0] enabled
[    3.885161] netconsole: network logging started
[    3.886491] rtc_cmos 00:04: setting system clock to 2013-10-16 10:30:13 UTC (1381919413)
[    3.887744] BIOS EDD facility v0.16 2004-Jun-25, 0 devices found
[    3.888943] EDD information not available.
[    3.891350] Freeing unused kernel memory: 1140K (ffffffff81f14000 - ffffffff82031000)
[    3.892609] Write protecting the kernel read-only data: 14336k
[    3.897024] Freeing unused kernel memory: 1292K (ffff8800018bd000 - ffff880001a00000)
[    3.899556] Freeing unused kernel memory: 512K (ffff880001d80000 - ffff880001e00000)
[    3.914628] udevd[192]: starting version 175
[    3.948117] usb 1-1: New USB device found, idVendor=8087, idProduct=0024
[    3.949901] usb 1-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0
[    3.952282] hub 1-1:1.0: USB hub found
[    3.954113] hub 1-1:1.0: 6 ports detected
[    3.997492] microcode: CPU0 sig=0x306a9, pf=0x10, revision=0x17
[    3.999688] microcode: CPU0 updated to revision 0x19, date = 2013-06-13
[    4.001257] microcode: CPU1 sig=0x306a9, pf=0x10, revision=0x17
[    4.003021] microcode: CPU1 updated to revision 0x19, date = 2013-06-13
[    4.004477] microcode: CPU2 sig=0x306a9, pf=0x10, revision=0x17
[    4.006140] microcode: CPU2 updated to revision 0x19, date = 2013-06-13
[    4.007539] microcode: CPU3 sig=0x306a9, pf=0x10, revision=0x17
[    4.009342] microcode: CPU3 updated to revision 0x19, date = 2013-06-13
[    4.025536] bio: create slab <bio-2> at 2
[    4.067654] usb 2-1: new high-speed USB device number 2 using ehci-pci
[    4.074689] EXT4-fs (dm-0): mounted filesystem with ordered data mode. Opts: (null)
[    4.197809] udevd[508]: starting version 175
[    4.199871] usb 2-1: New USB device found, idVendor=8087, idProduct=0024
[    4.201662] usb 2-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0
[    4.203638] hub 2-1:1.0: USB hub found
[    4.205480] hub 2-1:1.0: 8 ports detected
[    4.279569] usb 1-1.1: new full-speed USB device number 3 using ehci-pci
[    4.376413] usb 1-1.1: New USB device found, idVendor=8087, idProduct=07da
[    4.378134] usb 1-1.1: New USB device strings: Mfr=0, Product=0, SerialNumber=0
[    4.479473] usb 2-1.5: new low-speed USB device number 3 using ehci-pci
[    4.525283] EXT4-fs (dm-0): re-mounted. Opts: (null)
[    4.555505] EXT4-fs (dm-0): re-mounted. Opts: discard,errors=remount-ro
[    4.577289] usb 2-1.5: New USB device found, idVendor=046d, idProduct=c517
[    4.579163] usb 2-1.5: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[    4.581377] usb 2-1.5: Product: USB Receiver
[    4.583491] usb 2-1.5: Manufacturer: Logitech
[    4.588498] input: Logitech USB Receiver as /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.5/2-1.5:1.0/input/input3
[    4.590628] logitech 0003:046D:C517.0001: input,hidraw0: USB HID v1.10 Keyboard [Logitech USB Receiver] on usb-0000:00:1d.0-1.5/input0
[    4.597962] logitech 0003:046D:C517.0002: fixing up Logitech keyboard report descriptor
[    4.600575] input: Logitech USB Receiver as /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.5/2-1.5:1.1/input/input4
[    4.602925] logitech 0003:046D:C517.0002: input,hiddev0,hidraw1: USB HID v1.10 Mouse [Logitech USB Receiver] on usb-0000:00:1d.0-1.5/input1
[    4.768204] Adding 1949692k swap on /dev/mapper/creabox-creabox_swap.  Priority:-1 extents:1 across:1949692k SS
[    4.935559] device eth0 entered promiscuous mode
[    5.072086] e1000e 0000:00:19.0: irq 47 for MSI/MSI-X
[    5.175225] e1000e 0000:00:19.0: irq 47 for MSI/MSI-X
[    6.748411] e1000e: eth0 NIC Link is Up 100 Mbps Full Duplex, Flow Control: Rx/Tx
[    6.753345] e1000e 0000:00:19.0 eth0: 10/100 speed: disabling TSO
[    6.758045] xen_bridge: port 1(eth0) entered forwarding state
[    6.762737] xen_bridge: port 1(eth0) entered forwarding state
[  476.229087] cfg80211: Pending regulatory request, waiting for it to be processed...
[  488.454905] cfg80211: Pending regulatory request, waiting for it to be processed...

[-- Attachment #3: iw-info.txt --]
[-- Type: text/plain, Size: 5981 bytes --]

Wiphy phy0
	Band 1:
		Capabilities: 0x1072
			HT20/HT40
			Static SM Power Save
			RX Greenfield
			RX HT20 SGI
			RX HT40 SGI
			No RX STBC
			Max AMSDU length: 3839 bytes
			DSSS/CCK HT40
		Maximum RX AMPDU length 65535 bytes (exponent: 0x003)
		Minimum RX AMPDU time spacing: 4 usec (0x05)
		HT TX/RX MCS rate indexes supported: 0-15, 32
		Frequencies:
			* 2412 MHz [1] (15.0 dBm)
			* 2417 MHz [2] (15.0 dBm)
			* 2422 MHz [3] (15.0 dBm)
			* 2427 MHz [4] (15.0 dBm)
			* 2432 MHz [5] (15.0 dBm)
			* 2437 MHz [6] (15.0 dBm)
			* 2442 MHz [7] (15.0 dBm)
			* 2447 MHz [8] (15.0 dBm)
			* 2452 MHz [9] (15.0 dBm)
			* 2457 MHz [10] (15.0 dBm)
			* 2462 MHz [11] (15.0 dBm)
			* 2467 MHz [12] (15.0 dBm) (passive scanning, no IBSS)
			* 2472 MHz [13] (15.0 dBm) (passive scanning, no IBSS)
		Bitrates (non-HT):
			* 1.0 Mbps
			* 2.0 Mbps (short preamble supported)
			* 5.5 Mbps (short preamble supported)
			* 11.0 Mbps (short preamble supported)
			* 6.0 Mbps
			* 9.0 Mbps
			* 12.0 Mbps
			* 18.0 Mbps
			* 24.0 Mbps
			* 36.0 Mbps
			* 48.0 Mbps
			* 54.0 Mbps
	Band 2:
		Capabilities: 0x1072
			HT20/HT40
			Static SM Power Save
			RX Greenfield
			RX HT20 SGI
			RX HT40 SGI
			No RX STBC
			Max AMSDU length: 3839 bytes
			DSSS/CCK HT40
		Maximum RX AMPDU length 65535 bytes (exponent: 0x003)
		Minimum RX AMPDU time spacing: 4 usec (0x05)
		HT TX/RX MCS rate indexes supported: 0-15, 32
		Frequencies:
			* 5180 MHz [36] (15.0 dBm) (passive scanning, no IBSS)
			* 5200 MHz [40] (15.0 dBm) (passive scanning, no IBSS)
			* 5220 MHz [44] (15.0 dBm) (passive scanning, no IBSS)
			* 5240 MHz [48] (15.0 dBm) (passive scanning, no IBSS)
			* 5260 MHz [52] (15.0 dBm) (passive scanning, no IBSS, radar detection)
			* 5280 MHz [56] (15.0 dBm) (passive scanning, no IBSS, radar detection)
			* 5300 MHz [60] (15.0 dBm) (passive scanning, no IBSS, radar detection)
			* 5320 MHz [64] (15.0 dBm) (passive scanning, no IBSS, radar detection)
			* 5500 MHz [100] (15.0 dBm) (passive scanning, no IBSS, radar detection)
			* 5520 MHz [104] (15.0 dBm) (passive scanning, no IBSS, radar detection)
			* 5540 MHz [108] (15.0 dBm) (passive scanning, no IBSS, radar detection)
			* 5560 MHz [112] (15.0 dBm) (passive scanning, no IBSS, radar detection)
			* 5580 MHz [116] (15.0 dBm) (passive scanning, no IBSS, radar detection)
			* 5600 MHz [120] (15.0 dBm) (passive scanning, no IBSS, radar detection)
			* 5620 MHz [124] (15.0 dBm) (passive scanning, no IBSS, radar detection)
			* 5640 MHz [128] (15.0 dBm) (passive scanning, no IBSS, radar detection)
			* 5660 MHz [132] (15.0 dBm) (passive scanning, no IBSS, radar detection)
			* 5680 MHz [136] (15.0 dBm) (passive scanning, no IBSS, radar detection)
			* 5700 MHz [140] (15.0 dBm) (passive scanning, no IBSS, radar detection)
			* 5745 MHz [149] (15.0 dBm) (passive scanning, no IBSS)
			* 5765 MHz [153] (15.0 dBm) (passive scanning, no IBSS)
			* 5785 MHz [157] (15.0 dBm) (passive scanning, no IBSS)
			* 5805 MHz [161] (15.0 dBm) (passive scanning, no IBSS)
			* 5825 MHz [165] (15.0 dBm) (passive scanning, no IBSS)
		Bitrates (non-HT):
			* 6.0 Mbps
			* 9.0 Mbps
			* 12.0 Mbps
			* 18.0 Mbps
			* 24.0 Mbps
			* 36.0 Mbps
			* 48.0 Mbps
			* 54.0 Mbps
	max # scan SSIDs: 20
	max scan IEs length: 195 bytes
	Coverage class: 0 (up to 0m)
	Supported Ciphers:
		* WEP40 (00-0f-ac:1)
		* WEP104 (00-0f-ac:5)
		* TKIP (00-0f-ac:2)
		* CCMP (00-0f-ac:4)
	Available Antennas: TX 0 RX 0
	Supported interface modes:
		 * IBSS
		 * managed
		 * AP
		 * AP/VLAN
		 * monitor
	software interface modes (can always be added):
		 * AP/VLAN
		 * monitor
	valid interface combinations:
		 * #{ managed } <= 1, #{ AP } <= 1,
		   total <= 2, #channels <= 1, STA/AP BI must match
		 * #{ managed } <= 2,
		   total <= 2, #channels <= 1
	Supported commands:
		 * new_interface
		 * set_interface
		 * new_key
		 * new_beacon
		 * new_station
		 * new_mpath
		 * set_mesh_params
		 * set_bss
		 * authenticate
		 * associate
		 * deauthenticate
		 * disassociate
		 * join_ibss
		 * join_mesh
		 * set_tx_bitrate_mask
		 * action
		 * frame_wait_cancel
		 * set_wiphy_netns
		 * set_channel
		 * set_wds_peer
		 * Unknown command (84)
		 * Unknown command (87)
		 * Unknown command (85)
		 * Unknown command (89)
		 * Unknown command (92)
		 * connect
		 * disconnect
	Supported TX frame types:
		 * IBSS: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0
		 * managed: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0
		 * AP: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0
		 * AP/VLAN: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0
		 * mesh point: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0
		 * P2P-client: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0
		 * P2P-GO: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0
		 * Unknown mode (10): 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0
	Supported RX frame types:
		 * IBSS: 0x40 0xb0 0xc0 0xd0
		 * managed: 0x40 0xd0
		 * AP: 0x00 0x20 0x40 0xa0 0xb0 0xc0 0xd0
		 * AP/VLAN: 0x00 0x20 0x40 0xa0 0xb0 0xc0 0xd0
		 * mesh point: 0xb0 0xc0 0xd0
		 * P2P-client: 0x40 0xd0
		 * P2P-GO: 0x00 0x20 0x40 0xa0 0xb0 0xc0 0xd0
		 * Unknown mode (10): 0x40 0xd0
	Device supports RSN-IBSS.
	WoWLAN support:
		 * wake up on disconnect
		 * wake up on magic packet
		 * wake up on pattern match, up to 20 patterns of 16-128 bytes
		 * can do GTK rekeying
		 * wake up on GTK rekey failure
		 * wake up on EAP identity request
		 * wake up on rfkill release
	HT Capability overrides:
		 * MCS: ff ff ff ff ff ff ff ff ff ff
		 * maximum A-MSDU length
		 * supported channel width
		 * short GI for 40 MHz
		 * max A-MPDU length exponent
		 * min MPDU start spacing
	Device supports TX status socket option.
	Device supports HT-IBSS.

^ permalink raw reply

* [PATCH 0/4] dm9000 improvements
From: Nikita Kiryanov @ 2013-10-16  8:41 UTC (permalink / raw)
  To: netdev
  Cc: Nikita Kiryanov, David S. Miller, Jingoo Han, Mugunthan V N,
	Michael Abbott, Igor Grinberg

This is a collection of improvements and bug fixes for dm9000, mostly
related to its startup and resume-from-suspend sequences.

Patch "Implement full reset of DM9000 network device" was submitted to the
linux-kernel mailing list but never applied.
An archive of the submission and the following conversation can be found here:
http://lkml.indiana.edu/hypermail/linux/kernel/1205.2/02817.html

Cc: David S. Miller <davem@davemloft.net>
Cc: Jingoo Han <jg1.han@samsung.com>
Cc: Mugunthan V N <mugunthanvnm@ti.com>
Cc: Michael Abbott <michael.abbott@diamond.ac.uk>
Cc: Igor Grinberg <grinberg@compulab.co.il>

Michael Abbott (1):
  dm9000: Implement full reset of DM9000 network device

Nikita Kiryanov (3):
  dm9000: during init reset phy only for dm9000b
  dm9000: take phy out of reset during init
  dm9000: report the correct LPA

 drivers/net/ethernet/davicom/dm9000.c | 56 ++++++++++++++++++++++++-----------
 1 file changed, 38 insertions(+), 18 deletions(-)

-- 
1.8.1.2

^ permalink raw reply

* [PATCH 2/4] dm9000: take phy out of reset during init
From: Nikita Kiryanov @ 2013-10-16  8:41 UTC (permalink / raw)
  To: netdev
  Cc: Nikita Kiryanov, David S. Miller, Jingoo Han, Mugunthan V N,
	Igor Grinberg
In-Reply-To: <1381912894-4780-1-git-send-email-nikita@compulab.co.il>

Take the phy out of reset explicitly during system resume to avoid
losing network connectivity.

Cc: David S. Miller <davem@davemloft.net>
Cc: Jingoo Han <jg1.han@samsung.com>
Cc: Mugunthan V N <mugunthanvnm@ti.com>
Signed-off-by: Nikita Kiryanov <nikita@compulab.co.il>
Signed-off-by: Igor Grinberg <grinberg@compulab.co.il>
---
 drivers/net/ethernet/davicom/dm9000.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/net/ethernet/davicom/dm9000.c b/drivers/net/ethernet/davicom/dm9000.c
index 912983b..3f650ce 100644
--- a/drivers/net/ethernet/davicom/dm9000.c
+++ b/drivers/net/ethernet/davicom/dm9000.c
@@ -890,6 +890,7 @@ dm9000_init_dm9000(struct net_device *dev)
 			(dev->features & NETIF_F_RXCSUM) ? RCSR_CSUM : 0);
 
 	iow(db, DM9000_GPCR, GPCR_GEP_CNTL);	/* Let GPIO0 output */
+	iow(db, DM9000_GPR, 0);
 
 	/* If we are dealing with DM9000B, some extra steps are required: a
 	 * manual phy reset, and setting init params.
-- 
1.8.1.2

^ permalink raw reply related

* [PATCH 3/4] dm9000: Implement full reset of DM9000 network device
From: Nikita Kiryanov @ 2013-10-16  8:41 UTC (permalink / raw)
  To: netdev; +Cc: Michael Abbott, David S. Miller, Jingoo Han, Mugunthan V N
In-Reply-To: <1381912894-4780-1-git-send-email-nikita@compulab.co.il>

From: Michael Abbott <michael.abbott@diamond.ac.uk>

A Davicom application note for the DM9000 network device recommends
performing software reset twice to correctly initialise the device.
Without this reset some devices fail to initialise correctly on
system startup.

Cc: David S. Miller <davem@davemloft.net>
Cc: Jingoo Han <jg1.han@samsung.com>
Cc: Mugunthan V N <mugunthanvnm@ti.com>
Signed-off-by: Michael Abbott <michael.abbott@diamond.ac.uk>
---
 drivers/net/ethernet/davicom/dm9000.c | 33 +++++++++++++++++++++------------
 1 file changed, 21 insertions(+), 12 deletions(-)

diff --git a/drivers/net/ethernet/davicom/dm9000.c b/drivers/net/ethernet/davicom/dm9000.c
index 3f650ce..a179f81 100644
--- a/drivers/net/ethernet/davicom/dm9000.c
+++ b/drivers/net/ethernet/davicom/dm9000.c
@@ -158,18 +158,6 @@ static inline board_info_t *to_dm9000_board(struct net_device *dev)
 
 /* DM9000 network board routine ---------------------------- */
 
-static void
-dm9000_reset(board_info_t * db)
-{
-	dev_dbg(db->dev, "resetting device\n");
-
-	/* RESET device */
-	writeb(DM9000_NCR, db->io_addr);
-	udelay(200);
-	writeb(NCR_RST, db->io_data);
-	udelay(200);
-}
-
 /*
  *   Read a byte from I/O port
  */
@@ -191,6 +179,27 @@ iow(board_info_t * db, int reg, int value)
 	writeb(value, db->io_data);
 }
 
+static void
+dm9000_reset(board_info_t *db)
+{
+	dev_dbg(db->dev, "resetting device\n");
+
+	/* Reset DM9000, see DM9000 Application Notes V1.22 Jun 11, 2004 page 29
+	 * The essential point is that we have to do a double reset, and the
+	 * instruction is to set LBK into MAC internal loopback mode.
+	 */
+	iow(db, DM9000_NCR, 0x03);
+	udelay(100); /* Application note says at least 20 us */
+	if (ior(db, DM9000_NCR) & 1)
+		dev_err(db->dev, "dm9000 did not respond to first reset\n");
+
+	iow(db, DM9000_NCR, 0);
+	iow(db, DM9000_NCR, 0x03);
+	udelay(100);
+	if (ior(db, DM9000_NCR) & 1)
+		dev_err(db->dev, "dm9000 did not respond to second reset\n");
+}
+
 /* routines for sending block to chip */
 
 static void dm9000_outblk_8bit(void __iomem *reg, void *data, int count)
-- 
1.8.1.2

^ permalink raw reply related

* [PATCH 4/4] dm9000: report the correct LPA
From: Nikita Kiryanov @ 2013-10-16  8:41 UTC (permalink / raw)
  To: netdev
  Cc: Nikita Kiryanov, David S. Miller, Jingoo Han, Mugunthan V N,
	Igor Grinberg
In-Reply-To: <1381912894-4780-1-git-send-email-nikita@compulab.co.il>

Report the LPA by checking mii_if_info, instead of just saying "no LPA" every
time.

Cc: David S. Miller <davem@davemloft.net>
Cc: Jingoo Han <jg1.han@samsung.com>
Cc: Mugunthan V N <mugunthanvnm@ti.com>
Signed-off-by: Nikita Kiryanov <nikita@compulab.co.il>
Signed-off-by: Igor Grinberg <grinberg@compulab.co.il>
---
 drivers/net/ethernet/davicom/dm9000.c | 13 +++++++++----
 1 file changed, 9 insertions(+), 4 deletions(-)

diff --git a/drivers/net/ethernet/davicom/dm9000.c b/drivers/net/ethernet/davicom/dm9000.c
index a179f81..a7a941b 100644
--- a/drivers/net/ethernet/davicom/dm9000.c
+++ b/drivers/net/ethernet/davicom/dm9000.c
@@ -753,15 +753,20 @@ static const struct ethtool_ops dm9000_ethtool_ops = {
 static void dm9000_show_carrier(board_info_t *db,
 				unsigned carrier, unsigned nsr)
 {
+	int lpa;
 	struct net_device *ndev = db->ndev;
+	struct mii_if_info *mii = &db->mii;
 	unsigned ncr = dm9000_read_locked(db, DM9000_NCR);
 
-	if (carrier)
-		dev_info(db->dev, "%s: link up, %dMbps, %s-duplex, no LPA\n",
+	if (carrier) {
+		lpa = mii->mdio_read(mii->dev, mii->phy_id, MII_LPA);
+		dev_info(db->dev,
+			 "%s: link up, %dMbps, %s-duplex, lpa 0x%04X\n",
 			 ndev->name, (nsr & NSR_SPEED) ? 10 : 100,
-			 (ncr & NCR_FDX) ? "full" : "half");
-	else
+			 (ncr & NCR_FDX) ? "full" : "half", lpa);
+	} else {
 		dev_info(db->dev, "%s: link down\n", ndev->name);
+	}
 }
 
 static void
-- 
1.8.1.2

^ permalink raw reply related

* [PATCH 1/4] dm9000: during init reset phy only for dm9000b
From: Nikita Kiryanov @ 2013-10-16  8:41 UTC (permalink / raw)
  To: netdev
  Cc: Nikita Kiryanov, David S. Miller, Jingoo Han, Mugunthan V N,
	Igor Grinberg
In-Reply-To: <1381912894-4780-1-git-send-email-nikita@compulab.co.il>

Some of the changes introduced in commit 6741f40 (DM9000B: driver
initialization upgrade) break functionality on DM9000A
(error message during NFS boot: "dm9000 dm9000.0: eth0: link down")

Since the changes were meant to serve only DM9000B, make them
dependent on the chip type.

Cc: David S. Miller <davem@davemloft.net>
Cc: Jingoo Han <jg1.han@samsung.com>
Cc: Mugunthan V N <mugunthanvnm@ti.com>
Signed-off-by: Nikita Kiryanov <nikita@compulab.co.il>
Signed-off-by: Igor Grinberg <grinberg@compulab.co.il>
---
 drivers/net/ethernet/davicom/dm9000.c | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/drivers/net/ethernet/davicom/dm9000.c b/drivers/net/ethernet/davicom/dm9000.c
index 5f5896e..912983b 100644
--- a/drivers/net/ethernet/davicom/dm9000.c
+++ b/drivers/net/ethernet/davicom/dm9000.c
@@ -891,8 +891,13 @@ dm9000_init_dm9000(struct net_device *dev)
 
 	iow(db, DM9000_GPCR, GPCR_GEP_CNTL);	/* Let GPIO0 output */
 
-	dm9000_phy_write(dev, 0, MII_BMCR, BMCR_RESET); /* PHY RESET */
-	dm9000_phy_write(dev, 0, MII_DM_DSPCR, DSPCR_INIT_PARAM); /* Init */
+	/* If we are dealing with DM9000B, some extra steps are required: a
+	 * manual phy reset, and setting init params.
+	 */
+	if (db->type == TYPE_DM9000B) {
+		dm9000_phy_write(dev, 0, MII_BMCR, BMCR_RESET);
+		dm9000_phy_write(dev, 0, MII_DM_DSPCR, DSPCR_INIT_PARAM);
+	}
 
 	ncr = (db->flags & DM9000_PLATF_EXT_PHY) ? NCR_EXT_PHY : 0;
 
-- 
1.8.1.2

^ permalink raw reply related

* PROBLEM: GRE forwarding not working with 3.10.x, WCCPv2 and Cisco 7200 Router showing IP0 bad-hlen 4 in tcpdump
From: Peter Schmitt @ 2013-10-16  8:35 UTC (permalink / raw)
  To: netdev@vger.kernel.org

Hi,

I have a setup with the current kernel (3.10.16) and can't get WCCPv2 to work using GRE since kernel 3.10.x. With 3.9.x everything was working fine.

My setup is simple with three boxes included:

Client (10.111.111.222/24) -- (10.111.111.1/24) Cisco 7200 (192.168.180.113/24) -- Internet Gateway
                                            (192.168.234.1/30)
                                                    |
                                                WCCPv2
                                                    |
                                            (192.168.234.2/30)
                                   Caching Box with Squid 2.7STABLE9 WCCPv2


On the caching box, I have the interfaces:
6: eth3 inet 192.168.234.2/30 scope global eth3\ valid_lft forever preferred_lft forever
22: wccp104102 inet 192.168.234.2/32 scope global wccp104102\ valid_lft forever preferred_lft forever 

The WCCP handshake is established and I can see messages on the Cisco Router:
*Oct 14 10:44:09.487: %WCCP-5-SERVICEFOUND: Service 80 acquired on WCCP client 192.168.234.2
*Oct 14 10:44:09.495: %WCCP-5-SERVICEFOUND: Service 90 acquired on WCCP client 192.168.234.2

When the client now starts a request, it gets connection timeouts:
>wget google.com
--2013-10-14 13:53:30--  http://google.com/
Resolving google.com (google.com)... 173.194.70.113, 173.194.70.100, 173.194.70.138, ...
Connecting to google.com (google.com)|173.194.70.113|:80... failed: Connection timed out.
Connecting to google.com (google.com)|173.194.70.100|:80... failed: Connection timed out.
...

A tcpdump on the Caching Box reveals the following:
> tcpdump -i eth3 -n proto gre                                                                                                                                                                
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth3, link-type EN10MB (Ethernet), capture size 96 bytes
13:53:35.686377 IP 192.168.234.1 > 192.168.234.2: GREv0, length 68: gre-proto-0x883e
13:53:36.678849 IP 192.168.234.1 > 192.168.234.2: GREv0, length 68: gre-proto-0x883e
13:53:38.682782 IP 192.168.234.1 > 192.168.234.2: GREv0, length 68: gre-proto-0x883e
13:53:42.690670 IP 192.168.234.1 > 192.168.234.2: GREv0, length 68: gre-proto-0x883e
13:53:50.714444 IP 192.168.234.1 > 192.168.234.2: GREv0, length 68: gre-proto-0x883e
13:54:06.745979 IP 192.168.234.1 > 192.168.234.2: GREv0, length 68: gre-proto-0x883e
13:54:38.813539 IP 192.168.234.1 > 192.168.234.2: GREv0, length 68: gre-proto-0x883e
13:54:39.808525 IP 192.168.234.1 > 192.168.234.2: GREv0, length 68: gre-proto-0x883e
13:54:41.812964 IP 192.168.234.1 > 192.168.234.2: GREv0, length 68: gre-proto-0x883e
13:54:45.816337 IP 192.168.234.1 > 192.168.234.2: GREv0, length 68: gre-proto-0x883e 

> tcpdump -i wccp104102 -n                                                                                                                                                                    
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on wccp104102, link-type LINUX_SLL (Linux cooked), capture size 96 bytes
13:53:35.686377 IP0 bad-hlen 4
13:53:36.678849 IP0 bad-hlen 4
13:53:38.682782 IP0 bad-hlen 4
13:53:42.690670 IP0 bad-hlen 4
13:53:50.714444 IP0 bad-hlen 4
13:54:06.745979 IP0 bad-hlen 4
13:54:38.813539 IP0 bad-hlen 4
13:54:39.808525 IP0 bad-hlen 4
13:54:41.812964 IP0 bad-hlen 4
13:54:45.816337 IP0 bad-hlen 4 
So I get correct GRE packets on the eth3 interface, but only bad-hlen messages from the GRE interface.


ver_linux from the Caching box:

Linux cache 3.10.16-x86 #1 SMP Mon Oct 14 06:33:21 CEST 2013 i686 GNU/Linux
Gnu C                       4.4.3
Gnu make                 3.81
binutils                      2.20.1
util-linux                    2.17.2
mount                       2.15.1-rc1
module-init-tools        3.11.1
e2fsprogs                  1.42.7
PPP                         2.4.5
Linux C Library          2.11.1
Dynamic linker (ldd)   2.11.1
Procps                     3.2.8
Net-tools                  1.60
Kbd                         1.15
Sh-utils                    7.4
Modules Loaded       xt_TPROXY nf_tproxy_core xt_set xt_socket nf_defrag_ipv6 xt_REDIRECT ip_set_hash_ip hwmon_vid hwmon bridge ip_set iptable_nat nf_nat_ipv4 ipt_REJECT nf_nat_irc nf_conntrack_irc nf_nat_ftp nf_nat nf_conntrack_ftp ip_gre gre bonding pcspkr uhci_hcd ehci_pci ehci_hcd lpc_ich mfd_core pata_acpi ata_generic


Has anybody an idea of what's going wrong here? If you need any further information or some pcap files, I will surely provide them.

Thanks a lot for your attention!

Best regards,
Peter

^ permalink raw reply


This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox