* Re: [PATCH net-next-2.6 11/12] cxgb3: implement set_phys_id
From: David Miller @ 2011-04-06 21:32 UTC (permalink / raw)
To: shemminger; +Cc: bhutchings, divy, netdev
In-Reply-To: <20110404184502.288358458@linuxplumber.net>
From: Stephen Hemminger <shemminger@vyatta.com>
Date: Mon, 04 Apr 2011 11:43:51 -0700
> Implement new ethtool set_phys_id on Chelsio cxgb3 board.
>
> Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Applied.
^ permalink raw reply
* Re: [PATCH 1/8] vxge: convert to set_phys_id
From: David Miller @ 2011-04-06 21:36 UTC (permalink / raw)
To: shemminger; +Cc: bhutchings, jdmason, netdev
In-Reply-To: <20110404210805.288930078@linuxplumber.net>
From: Stephen Hemminger <shemminger@vyatta.com>
Date: Mon, 04 Apr 2011 14:06:35 -0700
> Also fix up incorrect docbook comment
>
> Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Applied.
^ permalink raw reply
* Re: [PATCH 2/8] bnx2: convert to set_phys_id
From: David Miller @ 2011-04-06 21:36 UTC (permalink / raw)
To: shemminger; +Cc: bhutchings, mchan, netdev
In-Reply-To: <20110404210805.389777981@linuxplumber.net>
From: Stephen Hemminger <shemminger@vyatta.com>
Date: Mon, 04 Apr 2011 14:06:36 -0700
> In this case, need to add element to device private to hold
> original led state.
>
> Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Applied.
^ permalink raw reply
* Re: [PATCH 3/8] bnx2x: convert to set_phys_id
From: David Miller @ 2011-04-06 21:36 UTC (permalink / raw)
To: shemminger; +Cc: bhutchings, eilong, netdev
In-Reply-To: <20110404210805.493178297@linuxplumber.net>
From: Stephen Hemminger <shemminger@vyatta.com>
Date: Mon, 04 Apr 2011 14:06:37 -0700
> Also cleanup error codes to no lie about things that driver doesn't
> support. If device is down report -EAGAIN (same as Broadcom), and
> if port doesn't blink then error as well.
>
> Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Applied.
^ permalink raw reply
* Re: [PATCH 4/8] s2io: convert to set_phys_id
From: David Miller @ 2011-04-06 21:36 UTC (permalink / raw)
To: shemminger; +Cc: bhutchings, jdmason, netdev
In-Reply-To: <20110404210805.593573200@linuxplumber.net>
From: Stephen Hemminger <shemminger@vyatta.com>
Date: Mon, 04 Apr 2011 14:06:38 -0700
> Convert to new ethtool set physical id model. Remove no longer used
> timer, and fix docbook comment.
>
> Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Applied.
^ permalink raw reply
* Re: [PATCH 5/8] niu: convert to new ethtool set_phys_id
From: David Miller @ 2011-04-06 21:36 UTC (permalink / raw)
To: shemminger; +Cc: bhutchings, netdev
In-Reply-To: <20110404153119.29c02c9c@nehalam>
From: Stephen Hemminger <shemminger@vyatta.com>
Date: Mon, 4 Apr 2011 15:31:19 -0700
>
> Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Applied.
^ permalink raw reply
* Re: [PATCH 6/8] benet: convert to set_phys_id
From: David Miller @ 2011-04-06 21:36 UTC (permalink / raw)
To: shemminger
Cc: bhutchings, sathya.perla, subbu.seetharaman, ajit.khaparde,
netdev
In-Reply-To: <20110404210805.802043416@linuxplumber.net>
From: Stephen Hemminger <shemminger@vyatta.com>
Date: Mon, 04 Apr 2011 14:06:40 -0700
> Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Applied.
^ permalink raw reply
* Re: [PATCH 7/8] pcnet32: convert to set_phys_id
From: David Miller @ 2011-04-06 21:36 UTC (permalink / raw)
To: shemminger; +Cc: bhutchings, pcnet32, netdev
In-Reply-To: <20110404210805.901815681@linuxplumber.net>
From: Stephen Hemminger <shemminger@vyatta.com>
Date: Mon, 04 Apr 2011 14:06:41 -0700
> Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Applied.
^ permalink raw reply
* Re: [PATCH 8/8] ewrk3: convert to set_phys_id
From: David Miller @ 2011-04-06 21:37 UTC (permalink / raw)
To: shemminger; +Cc: bhutchings, netdev
In-Reply-To: <20110404210805.998401718@linuxplumber.net>
From: Stephen Hemminger <shemminger@vyatta.com>
Date: Mon, 04 Apr 2011 14:06:42 -0700
> Keep orginal locking and error handling.
>
> Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Please remove the "in progress" handling as indicated in feedback
sent for this patch.
Thanks.
^ permalink raw reply
* Re: [PATCH net-next-2.6 02/12] skge: implement set_phys_id
From: David Miller @ 2011-04-06 21:37 UTC (permalink / raw)
To: bhutchings; +Cc: shemminger, netdev
In-Reply-To: <1301957852.2935.54.camel@localhost>
From: Ben Hutchings <bhutchings@solarflare.com>
Date: Mon, 04 Apr 2011 23:57:32 +0100
> On Mon, 2011-04-04 at 11:43 -0700, Stephen Hemminger wrote:
>> - ms -= BLINK_MS;
>> + switch (state) {
>> + case ETHTOOL_ID_ACTIVE:
>> + return -1;
> [...]
>
> Must be -EINVAL.
I took care of this when I applied Stephen's patch.
^ permalink raw reply
* Re: [PATCH net-next-2.6 0/2] be2net: Patches for fixing suspend/resume
From: David Miller @ 2011-04-06 21:40 UTC (permalink / raw)
To: padmanabh.ratnakar; +Cc: netdev
In-Reply-To: <756be716-7252-48f7-9a48-cf958c83a56f@exht1.ad.emulex.com>
From: Padmanabh Ratnakar <padmanabh.ratnakar@emulex.com>
Date: Sun, 3 Apr 2011 17:23:52 +0530
> Hi David,
> Following are patches to fix suspend/resume operation.
> Please apply.
Both patched applied, thanks.
^ permalink raw reply
* Re: Signed bit field; int have_hotplug_status_watch:1
From: David Miller @ 2011-04-06 21:43 UTC (permalink / raw)
To: Ian.Campbell
Cc: linux, virtualization, Jeremy.Fitzhardinge, konrad.wilk, netdev,
xen-devel
In-Reply-To: <1301905584.23887.49.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@eu.citrix.com>
Date: Mon, 4 Apr 2011 09:26:24 +0100
> Subject: [PATCH] xen: netback: use unsigned type for one-bit bitfield.
>
> Fixes error from sparse:
> CHECK drivers/net/xen-netback/xenbus.c
> drivers/net/xen-netback/xenbus.c:29:40: error: dubious one-bit signed bitfield
>
> int have_hotplug_status_watch:1;
>
> Reported-by: Dr. David Alan Gilbert <linux@treblig.org>
> Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Applied to net-next-2.6, thanks.
^ permalink raw reply
* Re: [PATCH] xen: drop anti-dependency on X86_VISWS
From: David Miller @ 2011-04-06 21:45 UTC (permalink / raw)
To: Ian.Campbell
Cc: eric.dumazet, mirq-linux, netdev, Jeremy.Fitzhardinge,
konrad.wilk, xen-devel, virtualization, randy.dunlap, pazke,
linux-visws-devel, tglx, mingo, hpa
In-Reply-To: <1301910955.23887.75.camel@zakaz.uk.xensource.com>
From: Ian Campbell <Ian.Campbell@eu.citrix.com>
Date: Mon, 4 Apr 2011 10:55:55 +0100
> You mean the "!X86_VISWS" I presume? It doesn't make sense to me either.
No, I think 32-bit x86 allmodconfig elides XEN because of it's X86_TSC dependency.
And, well, you could type "make allmodconfig" on your tree and see for
yourself instead of asking me :-)
^ permalink raw reply
* Re: [PATCH] capi: Perform scheduled capifs removal
From: David Miller @ 2011-04-06 21:45 UTC (permalink / raw)
To: jan.kiszka; +Cc: netdev, amwang, isdn
In-Reply-To: <4D9CD3FD.3000604@web.de>
From: Jan Kiszka <jan.kiszka@web.de>
Date: Wed, 06 Apr 2011 22:58:37 +0200
> udev fully replaces this special file system that only contains CAPI
> NCCI TTY device nodes. User space (pppdcapiplugin) works without
> noticing the difference.
>
> Signed-off-by: Jan Kiszka <jan.kiszka@web.de>
Applied, thanks Jan.
^ permalink raw reply
* Re: [PATCH net-next-2.6 12/12] qlcnic: convert to set_phys_id
From: Stephen Hemminger @ 2011-04-06 21:47 UTC (permalink / raw)
To: David Miller; +Cc: bhutchings, amit.salecha, anirban.chakraborty, netdev
In-Reply-To: <20110406.143226.42783062.davem@davemloft.net>
Convert driver to use new ethtool set_phys_id.
Not completely sure that this is correct for all cases of device
up/down and doing operation. Compile tested only.
Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
---
v2 -use adapter variable to hold state across active/inactive
--- a/drivers/net/qlcnic/qlcnic_ethtool.c 2011-04-06 12:30:35.673116770 -0700
+++ b/drivers/net/qlcnic/qlcnic_ethtool.c 2011-04-06 12:52:06.250784682 -0700
@@ -831,48 +831,51 @@ static int qlcnic_set_tso(struct net_dev
return 0;
}
-static int qlcnic_blink_led(struct net_device *dev, u32 val)
+static int qlcnic_set_led(struct net_device *dev,
+ enum ethtool_phys_id_state state)
{
struct qlcnic_adapter *adapter = netdev_priv(dev);
int max_sds_rings = adapter->max_sds_rings;
- int dev_down = 0;
- int ret;
- if (!test_bit(__QLCNIC_DEV_UP, &adapter->state)) {
- dev_down = 1;
- if (test_and_set_bit(__QLCNIC_RESETTING, &adapter->state))
- return -EIO;
-
- ret = qlcnic_diag_alloc_res(dev, QLCNIC_LED_TEST);
- if (ret) {
- clear_bit(__QLCNIC_RESETTING, &adapter->state);
- return ret;
+ switch (state) {
+ case ETHTOOL_ID_ACTIVE:
+ adapter->blink_was_down = false;
+ if (!test_bit(__QLCNIC_DEV_UP, &adapter->state)) {
+ if (test_and_set_bit(__QLCNIC_RESETTING, &adapter->state))
+ return -EIO;
+
+ if (qlcnic_diag_alloc_res(dev, QLCNIC_LED_TEST)) {
+ clear_bit(__QLCNIC_RESETTING, &adapter->state);
+ return -EIO;
+ }
+ adapter->blink_was_down = true;
}
- }
- ret = adapter->nic_ops->config_led(adapter, 1, 0xf);
- if (ret) {
+ if (adapter->nic_ops->config_led(adapter, 1, 0xf) == 0)
+ return 0;
+
dev_err(&adapter->pdev->dev,
"Failed to set LED blink state.\n");
- goto done;
- }
+ break;
- msleep_interruptible(val * 1000);
+ case ETHTOOL_ID_INACTIVE:
+ if (adapter->nic_ops->config_led(adapter, 0, 0xf) == 0)
+ return 0;
- ret = adapter->nic_ops->config_led(adapter, 0, 0xf);
- if (ret) {
dev_err(&adapter->pdev->dev,
"Failed to reset LED blink state.\n");
- goto done;
+ break;
+
+ default:
+ return -EINVAL;
}
-done:
- if (dev_down) {
+ if (adapter->blink_was_down) {
qlcnic_diag_free_res(dev, max_sds_rings);
clear_bit(__QLCNIC_RESETTING, &adapter->state);
}
- return ret;
+ return -EIO;
}
static void
@@ -1080,7 +1083,7 @@ const struct ethtool_ops qlcnic_ethtool_
.set_coalesce = qlcnic_set_intr_coalesce,
.get_flags = ethtool_op_get_flags,
.set_flags = qlcnic_set_flags,
- .phys_id = qlcnic_blink_led,
+ .set_phys_id = qlcnic_set_led,
.set_msglevel = qlcnic_set_msglevel,
.get_msglevel = qlcnic_get_msglevel,
};
--- a/drivers/net/qlcnic/qlcnic.h 2011-04-06 12:32:53.622576568 -0700
+++ b/drivers/net/qlcnic/qlcnic.h 2011-04-06 12:51:55.698672781 -0700
@@ -1056,6 +1056,7 @@ struct qlcnic_adapter {
struct qlcnic_filter_hash fhash;
+ bool blink_was_down;
unsigned long state;
__le32 file_prd_off; /*File fw product offset*/
u32 fw_version;
^ permalink raw reply
* Re: [PATCH] net: netxen: convert to hw_features
From: David Miller @ 2011-04-06 21:49 UTC (permalink / raw)
To: mirq-linux; +Cc: netdev, amit.salecha
In-Reply-To: <20110405113658.D004D13909@rere.qmqm.pl>
From: Michał Mirosław <mirq-linux@rere.qmqm.pl>
Date: Tue, 5 Apr 2011 13:36:58 +0200 (CEST)
> Rather simple conversion to hw_features.
>
> Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl>
Applied, thanks.
^ permalink raw reply
* Re: [PATCH 8/8] ewrk3: convert to set_phys_id
From: Stephen Hemminger @ 2011-04-06 21:58 UTC (permalink / raw)
To: David Miller; +Cc: bhutchings, netdev
In-Reply-To: <20110406.143720.55846981.davem@davemloft.net>
Use ethtool infrastructure for blinking, which is now does
locking at higher level.
Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
--- a/drivers/net/ewrk3.c 2011-04-06 14:50:45.905902923 -0700
+++ b/drivers/net/ewrk3.c 2011-04-06 14:56:00.249078160 -0700
@@ -1604,55 +1604,47 @@ static u32 ewrk3_get_link(struct net_dev
return !(cmr & CMR_LINK);
}
-static int ewrk3_phys_id(struct net_device *dev, u32 data)
+static int ewrk3_set_phys_id(struct net_device *dev,
+ enum ethtool_phys_id_state state)
{
struct ewrk3_private *lp = netdev_priv(dev);
unsigned long iobase = dev->base_addr;
- unsigned long flags;
u8 cr;
- int count;
- /* Toggle LED 4x per second */
- count = data << 2;
+ spin_lock_irq(&lp->hw_lock);
- spin_lock_irqsave(&lp->hw_lock, flags);
+ switch (state) {
+ case ETHTOOL_ID_ACTIVE:
+ /* Prevent ISR from twiddling the LED */
+ lp->led_mask = 0;
+ spin_unlock_irq(&lp->hw_lock);
+ return -EINVAL;
- /* Bail if a PHYS_ID is already in progress */
- if (lp->led_mask == 0) {
- spin_unlock_irqrestore(&lp->hw_lock, flags);
- return -EBUSY;
- }
-
- /* Prevent ISR from twiddling the LED */
- lp->led_mask = 0;
+ case ETHTOOL_ID_ON:
+ cr = inb(EWRK3_CR);
+ outb(cr | CR_LED, EWRK3_CR);
+ break;
- while (count--) {
- /* Toggle the LED */
+ case ETHTOOL_ID_OFF:
cr = inb(EWRK3_CR);
- outb(cr ^ CR_LED, EWRK3_CR);
+ outb(cr & ~CR_LED, EWRK3_CR);
+ break;
- /* Wait a little while */
- spin_unlock_irqrestore(&lp->hw_lock, flags);
- msleep(250);
- spin_lock_irqsave(&lp->hw_lock, flags);
-
- /* Exit if we got a signal */
- if (signal_pending(current))
- break;
+ case ETHTOOL_ID_INACTIVE:
+ lp->led_mask = CR_LED;
+ cr = inb(EWRK3_CR);
+ outb(cr & ~CR_LED, EWRK3_CR);
}
+ spin_unlock_irq(&lp->hw_lock);
- lp->led_mask = CR_LED;
- cr = inb(EWRK3_CR);
- outb(cr & ~CR_LED, EWRK3_CR);
- spin_unlock_irqrestore(&lp->hw_lock, flags);
- return signal_pending(current) ? -ERESTARTSYS : 0;
+ return 0;
}
static const struct ethtool_ops ethtool_ops_203 = {
.get_drvinfo = ewrk3_get_drvinfo,
.get_settings = ewrk3_get_settings,
.set_settings = ewrk3_set_settings,
- .phys_id = ewrk3_phys_id,
+ .set_phys_id = ewrk3_set_phys_id,
};
static const struct ethtool_ops ethtool_ops = {
@@ -1660,7 +1652,7 @@ static const struct ethtool_ops ethtool_
.get_settings = ewrk3_get_settings,
.set_settings = ewrk3_set_settings,
.get_link = ewrk3_get_link,
- .phys_id = ewrk3_phys_id,
+ .set_phys_id = ewrk3_set_phys_id,
};
/*
^ permalink raw reply
* Re: 2.6.39-rc2 boot crash
From: Eric B Munson @ 2011-04-06 22:05 UTC (permalink / raw)
To: David Miller; +Cc: dave, linux-kernel, kaber, zbr, gregkh, ksrinivasan, netdev
In-Reply-To: <20110406.142157.68145422.davem@davemloft.net>
[-- Attachment #1: Type: text/plain, Size: 8883 bytes --]
On Wed, 06 Apr 2011, David Miller wrote:
> From: Eric B Munson <emunson@mgebm.net>
> Date: Wed, 6 Apr 2011 17:20:41 -0400
>
> > A bisect points at commit 04f482faf50535229a5a5c8d629cf963899f857c for the
> > first bad one. Unfortunately, I have not made netconsole work yet and the
> > hang is happening mostly right when X starts so I can't even see the console.
> > I will keep at the netconsole and see if I can get it functioning, also I will
> > try to boot this kernel in a VM and see if that helps.
>
> Patrick, please help Eric so we can fix this bug.
>
> Thanks.
>
I have a useful trace now from netconsole:
[ 18.029521] BUG: sleeping function called from invalid context at arch/x86/mm/fault.c:1087
[ 18.029527] in_atomic(): 0, irqs_disabled(): 1, pid: 2018, name: cgrulesengd
[ 18.029693] BUG: unable to handle kernel paging request at 0000100000000000
[ 18.029730] IP: [<ffffffff814c3db8>] __skb_recv_datagram+0x128/0x2b0
[ 18.029756] PGD 0
[ 18.029768] Oops: 0002 [#1] SMP
[ 18.029790] last sysfs file: /sys/devices/pci0000:00/0000:00:02.0/0000:02:00.0/usb10/10-0:1.0/bInterfaceClass
[ 18.029824] CPU 0
[ 18.029833] Modules linked in: kvm_intel kvm parport_pc ppdev snd_hda_codec_hdmi snd_hda_codec_realtek nfs lockd fscache auth_rpcgss nfs_acl sunrpc radeon deflate zlib_deflate ctr twofish_generic twofish_x86_64 twofish_common ttm camellia serpent drm_kms_helper snd_usb_audio blowfish cast5 snd_hda_intel drm des_generic snd_hda_codec snd_hwdep aesni_intel snd_usbmidi_lib cryptd aes_x86_64 aes_generic snd_pcm xcbc snd_seq_midi rmd160 snd_rawmidi sha512_generic sha256_generic uvcvideo snd_seq_midi_event sha1_generic snd_seq snd_timer crypto_null snd_seq_device snd af_key xhci_hcd i7core_edac videodev joydev psmouse edac_core v4l2_compat_ioctl32 w83627ehf soundcore serio_raw hwmon_vid snd_page_alloc max6650 hid_microsoft i2c_algo_bit lp parport asus_atk0110 usbhid hid firewire_ohci firewire_core crc_itu_t
[ 18.030424]
[ 18.030432] Pid: 2018, comm: cgrulesengd Not tainted 2.6.39-rc2+ #52 System manufacturer System Product Name/P6X58D PREMIUM
[ 18.030477] RIP: 0010:[<ffffffff814c3db8>] [<ffffffff814c3db8>] __skb_recv_datagram+0x128/0x2b0
[ 18.030510] RSP: 0018:ffff880326f03b28 EFLAGS: 00010002
[ 18.030528] RAX: 0000000000000286 RBX: ffff8803204c5100 RCX: 0000100000000000
[ 18.030552] RDX: ffff88031fe47200 RSI: ffff880326f03bf4 RDI: 0000000000000046
[ 18.030576] RBP: ffff880326f03bd8 R08: 0000000000000000 R09: 0000000000000000
[ 18.030599] R10: 0000000000000000 R11: 0000000000000001 R12: ffff880327d6e928
[ 18.030623] R13: ffff880326f03b78 R14: ffff880326f03b90 R15: ffff880327d6e940
[ 18.030646] FS: 00007f3bf9173b20(0000) GS:ffff880331600000(0000) knlGS:0000000000000000
[ 18.030673] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[ 18.030693] CR2: 0000100000000000 CR3: 0000000326dda000 CR4: 00000000000006f0
[ 18.030716] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
[ 18.030740] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
[ 18.030763] Process cgrulesengd (pid: 2018, threadinfo ffff880326f02000, task ffff8803275aa300)
[ 18.030794] Stack:
[ 18.030803] ffff880300000000 ffff8803275aa338 ffff880327d6ebd0 ffff8803275aa300
[ 18.030839] 7fffffffffffffff ffff880326f03c74 ffff880326f03bf4 0000000000000001
[ 18.030872] ffff8803275aa300 ffff880327d6e940 00000000000001f7 0000000000000001
[ 18.030905] Call Trace:
[ 18.030916] [<ffffffff81009833>] ? native_sched_clock+0x13/0x60
[ 18.030936] [<ffffffff814c3f64>] skb_recv_datagram+0x24/0x30
[ 18.030956] [<ffffffff814f463c>] netlink_recvmsg+0x7c/0x430
[ 18.030975] [<ffffffff814bc185>] ? sock_update_classid+0x65/0x100
[ 18.030996] [<ffffffff814bc19d>] ? sock_update_classid+0x7d/0x100
[ 18.031016] [<ffffffff814bc1c0>] ? sock_update_classid+0xa0/0x100
[ 18.031037] [<ffffffff814b7c1d>] sock_recvmsg+0xfd/0x130
[ 18.031055] [<ffffffff81178af8>] ? set_fd_set+0x48/0x60
[ 18.031073] [<ffffffff8117a25b>] ? core_sys_select+0x26b/0x330
[ 18.031093] [<ffffffff8117a03d>] ? core_sys_select+0x4d/0x330
[ 18.031112] [<ffffffff8108cc05>] ? lock_release_holdtime+0x35/0x160
[ 18.031133] [<ffffffff814b7da1>] sys_recvfrom+0xf1/0x170
[ 18.031152] [<ffffffff815d40ba>] ? sysret_check+0x2e/0x69
[ 18.031171] [<ffffffff812f02de>] ? trace_hardirqs_on_thunk+0x3a/0x3f
[ 18.031193] [<ffffffff815d4082>] system_call_fastpath+0x16/0x1b
[ 18.031212] Code: 41 5d 41 5e 41 5f c9 c3 eb 01 90 ff 8b 38 01 00 00 48 8b 1a 48 8b 4a 08 48 c7 02 00 00 00 00 48 c7 42 08 00 00 00 00 48 89 4b 08
[ 18.031494] 89 19 eb aa eb 01 90 48 8b 83 f0 03 00 00 48 89 85 70 ff ff
[ 18.031601] RIP [<ffffffff814c3db8>] __skb_recv_datagram+0x128/0x2b0
[ 18.031625] RSP <ffff880326f03b28>
[ 18.031637] CR2: 0000100000000000
[ 18.039388] ---[ end trace 0e3e016130139f1b ]---
[ 18.112703] BUG: unable to handle kernel NULL pointer dereference at (null)
[ 18.112738] IP: [<ffffffff814befed>] skb_queue_tail+0x3d/0x60
[ 18.112763] PGD 0
[ 18.112775] Oops: 0002 [#2] SMP
[ 18.112796] last sysfs file: /sys/devices/pci0000:00/0000:00:02.0/0000:02:00.0/usb10/10-0:1.0/bInterfaceClass
[ 18.112828] CPU 0
[ 18.112837] Modules linked in: kvm_intel kvm parport_pc ppdev snd_hda_codec_hdmi snd_hda_codec_realtek nfs lockd fscache auth_rpcgss nfs_acl sunrpc radeon deflate zlib_deflate ctr twofish_generic twofish_x86_64 twofish_common ttm camellia serpent drm_kms_helper snd_usb_audio blowfish cast5 snd_hda_intel drm des_generic snd_hda_codec snd_hwdep aesni_intel snd_usbmidi_lib cryptd aes_x86_64 aes_generic snd_pcm xcbc snd_seq_midi rmd160 snd_rawmidi sha512_generic sha256_generic uvcvideo snd_seq_midi_event sha1_generic snd_seq snd_timer crypto_null snd_seq_device snd af_key xhci_hcd i7core_edac videodev joydev psmouse edac_core v4l2_compat_ioctl32 w83627ehf soundcore serio_raw hwmon_vid snd_page_alloc max6650 hid_microsoft i2c_algo_bit lp parport asus_atk0110 usbhid hid firewire_ohci firewire_core crc_itu_t
[ 18.115476]
[ 18.117533] Pid: 2178, comm: 0dns-down Tainted: G D 2.6.39-rc2+ #52 System manufacturer System Product Name/P6X58D PREMIUM
[ 18.119646] RIP: 0010:[<ffffffff814befed>] [<ffffffff814befed>] skb_queue_tail+0x3d/0x60
[ 18.121757] RSP: 0018:ffff88032666bd08 EFLAGS: 00010096
[ 18.123845] RAX: 0000000000000282 RBX: ffff880327d6e928 RCX: 000000000acc7db8
[ 18.125948] RDX: 0000000000000000 RSI: 0000000000000282 RDI: ffff880327d6e940
[ 18.128046] RBP: ffff88032666bd28 R08: 0000000000000000 R09: 0000000000000001
[ 18.130171] R10: 0000000000000000 R11: 0000000000000000 R12: ffff880327d6e940
[ 18.132281] R13: ffff880320929b00 R14: ffff880327d6e818 R15: ffff880327d6e800
[ 18.134388] FS: 0000000000000000(0000) GS:ffff880331600000(0000) knlGS:0000000000000000
[ 18.136498] CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b
[ 18.138610] CR2: 0000000000000000 CR3: 0000000001a03000 CR4: 00000000000006f0
[ 18.140732] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
[ 18.142839] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
[ 18.144953] Process 0dns-down (pid: 2178, threadinfo ffff88032666a000, task ffff880326f0a300)
[ 18.147057] Stack:
[ 18.149156] ffff88032666bd28 0000000000000000 ffff88032a7fa800 0000000000000000
[ 18.151256] ffff88032666bdb8 ffffffff814f4d12 0000000000000000 ffff880320929b00
[ 18.153365] ffff880327d6e84c ffff880320929bec 0000000026f0a300 0000000000000000
[ 18.155464] Call Trace:
[ 18.157539] [<ffffffff814f4d12>] netlink_broadcast_filtered+0x322/0x480
[ 18.159575] [<ffffffff814f4e8d>] netlink_broadcast+0x1d/0x20
[ 18.161568] [<ffffffff813a0223>] cn_netlink_send+0x1a3/0x1c0
[ 18.163515] [<ffffffff813a044a>] proc_exit_connector+0xda/0x100
[ 18.165538] [<ffffffff81055a08>] do_exit+0x1d8/0x870
[ 18.167428] [<ffffffff810570fe>] ? sys_wait4+0xae/0x100
[ 18.169287] [<ffffffff812f0354>] ? lockdep_sys_exit_thunk+0x35/0x67
[ 18.171133] [<ffffffff810560fe>] do_group_exit+0x5e/0xd0
[ 18.172965] [<ffffffff81056187>] sys_exit_group+0x17/0x20
[ 18.174782] [<ffffffff815d4082>] system_call_fastpath+0x16/0x1b
[ 18.176600] Code: 6d f8 0f 1f 44 00 00 49 89 f5 48 89 fb 4c 8d 67 18 4c 89 e7 e8 65 c6 10 00 48 8b 53 08 4c 89 e7 49 89 5d 00 49 89 55 08 48 89 c6 <4c> 89 2a 4c 89 6b 08 ff 43 10 e8 54 cf 10 00 48 8b 5d e8 4c 8b
[ 18.178889] RIP [<ffffffff814befed>] skb_queue_tail+0x3d/0x60
[ 18.180925] RSP <ffff88032666bd08>
[ 18.182948] CR2: 0000000000000000
[ 18.184969] ---[ end trace 0e3e016130139f1c ]---
[ 18.184972] Fixing recursive fault but reboot is needed!
I haven't dug into it at all, but I am happy to help test potential fixes.
Eric
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 490 bytes --]
^ permalink raw reply
* Re: [PATCH net-next-2.6 12/12] qlcnic: convert to set_phys_id
From: David Miller @ 2011-04-06 22:06 UTC (permalink / raw)
To: shemminger; +Cc: bhutchings, amit.salecha, anirban.chakraborty, netdev
In-Reply-To: <20110406144723.26467b77@nehalam>
From: Stephen Hemminger <shemminger@vyatta.com>
Date: Wed, 6 Apr 2011 14:47:23 -0700
> Convert driver to use new ethtool set_phys_id.
> Not completely sure that this is correct for all cases of device
> up/down and doing operation. Compile tested only.
>
> Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Applied.
^ permalink raw reply
* Re: [PATCH 8/8] ewrk3: convert to set_phys_id
From: David Miller @ 2011-04-06 22:06 UTC (permalink / raw)
To: shemminger; +Cc: bhutchings, netdev
In-Reply-To: <20110406145836.35af537a@nehalam>
From: Stephen Hemminger <shemminger@vyatta.com>
Date: Wed, 6 Apr 2011 14:58:36 -0700
> Use ethtool infrastructure for blinking, which is now does
> locking at higher level.
>
> Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Applied.
^ permalink raw reply
* Re: [PATCH 07/19] timberdale: mfd_cell is now implicitly available to drivers
From: Greg KH @ 2011-04-06 22:09 UTC (permalink / raw)
To: Felipe Balbi
Cc: Samuel Ortiz, Grant Likely, Andres Salomon,
linux-kernel-u79uwXL29TY76Z2rM5mHXA, Mark Brown,
khali-PUYAD+kWke1g9hUCZPvPmw, ben-linux-elnMNo+KYs3YtjvyW6yDsg,
Peter Korsgaard, Mauro Carvalho Chehab, David Brownell,
linux-i2c-u79uwXL29TY76Z2rM5mHXA,
linux-media-u79uwXL29TY76Z2rM5mHXA, netdev-u79uwXL29TY76Z2rM5mHXA,
spi-devel-general-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f,
Mocean Laboratories
In-Reply-To: <20110406185902.GN25654-UiBtZHVXSwEVvW8u9ZQWYwjfymiNCTlR@public.gmane.org>
On Wed, Apr 06, 2011 at 09:59:02PM +0300, Felipe Balbi wrote:
> Hi,
>
> On Wed, Apr 06, 2011 at 08:47:34PM +0200, Samuel Ortiz wrote:
> > > > > What is a "MFD cell pointer" and why is it needed in struct device?
> > > > An MFD cell is an MFD instantiated device.
> > > > MFD (Multi Function Device) drivers instantiate platform devices. Those
> > > > devices drivers sometimes need a platform data pointer, sometimes an MFD
> > > > specific pointer, and sometimes both. Also, some of those drivers have been
> > > > implemented as MFD sub drivers, while others know nothing about MFD and just
> > > > expect a plain platform_data pointer.
> > >
> > > That sounds like a bug in those drivers, why not fix them to properly
> > > pass in the correct pointer?
> > Because they're drivers for generic IPs, not MFD ones. By forcing them to use
> > MFD specific structure and APIs, we make it more difficult for platform code
> > to instantiate them.
>
> I agree. What I do on those cases is to have a simple platform_device
> for the core IP driver and use platform_device_id tables to do runtime
> checks of the small differences. If one platform X doesn't use a
> platform_bus, it uses e.g. PCI, then you make a PCI "bridge" which
> allocates a platform_device with the correct name and adds that to the
> driver model.
>
> See [1] (for the core driver) and [2] (for a PCI bridge driver) for an
> example of what I'm talking about.
Yes, thanks for providing a real example, this is the best way to handle
this.
thanks,
greg k-h
^ permalink raw reply
* Re: [PATCH] net: ethtool support to configure number of channels
From: Ben Hutchings @ 2011-04-06 22:18 UTC (permalink / raw)
To: Anirban Chakraborty
Cc: Amit Salecha, davem@davemloft.net, netdev@vger.kernel.org,
Ameen Rahman, Sucheta Chakraborty
In-Reply-To: <BEEA5B09-0726-463D-B542-234C4FB49FC5@qlogic.com>
On Fri, 2011-04-01 at 22:47 -0700, Anirban Chakraborty wrote:
> On Apr 1, 2011, at 7:55 PM, Ben Hutchings wrote:
>
> > On Fri, 2011-04-01 at 21:36 -0500, Amit Salecha wrote:
> >>> I'm not sure why you reduced this to a single count. If if the driver
> >>> or hardware doesn't allow certain combinations of counts, it might be
> >>> necessary to configure several types at the same time
> >>>
> >>>> +/* Channel ID is made up of a type */
> >>>> +enum ethtool_channel_id {
> >>>> + ETH_CHAN_TYPE_RX = 0x1,
> >>>> + ETH_CHAN_TYPE_TX = 0x2
> >>>> +};
> >>> [...]
> >>>
> >>> enum ethtool_channel_id was meant to be an identifier of a specific
> >>> channel. An enumeration of channel types should be named differently.
> >>>
> >>
> >> I will name it as ethtool_channel_type. Any other suggestion ?
> >>
> >>> This also omits the 'combined' and 'other' types. Most multiqueue
> >>> drivers pair up RX and TX queues so that most channels combine RX and
> >>> TX
> >>> work.
> >>
> >> 'combined' is ok, what is use of 'other' ?
> >
> > Could be link interrupts, SR-IOV coordination, or something else. Not
> > something you'd likely be able to change, but it could be useful to know
> > that some interrupts are allocated to them. Actually, that does mean it
> > might be helpful for the 'get' operation to return a minimum value along
> > with the maximum value.
>
> Are you thinking of using the 'other' field as a way to a represent a 'virtual port'
> that a VF could have. A virtual port could have a set of rx/tx rings, interrupts,
> QoS parameters, MAC filters, VLAN ids etc. etc. A VF could have one or many such
> channels. If thats the case, I would think that configuring these channels should
> be done via a PF rather than on a VF. It is possible I could get you totally wrong here,
> however it would be good to hear your thoughts.
The net device for a VF could have all sorts of channels, and their
numbers may or may not be configurable depending on limitations of the
hardware, firmware, driver or hypervisor.
The channel counts reported by a net device should include all those
IRQs allocated by the net device driver for its parent device (e.g. a
PCI device).
To be more concrete, here is how I would count channels:
1. RX queue with IRQ, exposed to the network stack => RX channel
2. TX queue with IRQ, exposed to the network stack => TX channel
3. RX and TX queue sharing IRQ, exposed to the network stack => combined channel
4. Link change IRQ => other channel
5. Queue(s) and IRQ for iSCSI traffic, not exposed to the network stack => other channel
6. Qeuue(s) and IRQ for coordination between PCI functions => other channel
7. Queue(s) and IRQ allocated to other PCI function => not counted
Ben.
--
Ben Hutchings, Senior Software Engineer, Solarflare
Not speaking for my employer; that's the marketing department's job.
They asked us to note that Solarflare product names are trademarked.
^ permalink raw reply
* Fw: [Bug 32832] New: shutdown(2) does not fully shut down socket any more
From: Stephen Hemminger @ 2011-04-06 23:07 UTC (permalink / raw)
To: netdev
Begin forwarded message:
Date: Wed, 6 Apr 2011 22:42:39 GMT
From: bugzilla-daemon@bugzilla.kernel.org
To: shemminger@linux-foundation.org
Subject: [Bug 32832] New: shutdown(2) does not fully shut down socket any more
https://bugzilla.kernel.org/show_bug.cgi?id=32832
Summary: shutdown(2) does not fully shut down socket any more
Product: Networking
Version: 2.5
Kernel Version: 2.6.38
Platform: All
OS/Version: Linux
Tree: Mainline
Status: NEW
Severity: normal
Priority: P1
Component: IPV4
AssignedTo: shemminger@linux-foundation.org
ReportedBy: kees@outflux.net
Regression: Yes
In 2.6.35 and earlier, shutdown(2) will fully remove a socket. This does not
appear to be true any more and is causing software to misbehave.
2.6.35:
$ ./testcase
parent: 5957
before:
tcp 0 0 0.0.0.0:12345 0.0.0.0:* LISTEN
after:
child: 5961
$ ./testcase
parent: 6001
before:
tcp 0 0 0.0.0.0:12345 0.0.0.0:* LISTEN
after:
child: 6002
2.6.38:
$ ./testcase
parent: 1138
before:
tcp 0 0 0.0.0.0:12345 0.0.0.0:* LISTEN
after:
child: 1142
$ ./testcase
bind: Address already in use
The listener doesn't show up in netstat any more, but as long as the child
process is running, the socket is unavailable. It is as if the shutdown(2)
behavior has partially reverted to close(2) behavior (but in the case of using
close(2), the child's socket would remain visible in netstat).
--
Configure bugmail: https://bugzilla.kernel.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
--
^ permalink raw reply
* [RFC net-next] qlge: use ethtool set_phys_id
From: Stephen Hemminger @ 2011-04-06 23:47 UTC (permalink / raw)
To: Ron Mercer, David Miller; +Cc: linux-driver, netdev
This is a stab at replacing old ethtool phys_id with set_phys_id
on the Qlogic 10Gb driver. Compile tested only.
Not sure if set_led_cfg will flash continuously, or needs
to be replaced by ETHTOOL_ID_ON/ETHTOOL_ID_OFF
Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
--- a/drivers/net/qlge/qlge_ethtool.c 2011-04-06 16:28:33.897200810 -0700
+++ b/drivers/net/qlge/qlge_ethtool.c 2011-04-06 16:39:55.140139828 -0700
@@ -412,31 +412,31 @@ static int ql_set_wol(struct net_device
return 0;
}
-static int ql_phys_id(struct net_device *ndev, u32 data)
+static int ql_set_phys_id(struct net_device *ndev,
+ enum ethtool_phys_id_state state)
+
{
struct ql_adapter *qdev = netdev_priv(ndev);
- u32 led_reg, i;
- int status;
-
- /* Save the current LED settings */
- status = ql_mb_get_led_cfg(qdev);
- if (status)
- return status;
- led_reg = qdev->led_config;
- /* Start blinking the led */
- if (!data || data > 300)
- data = 300;
+ switch (state) {
+ case ETHTOOL_ID_ACTIVE:
+ /* Save the current LED settings */
+ if (ql_mb_get_led_cfg(qdev))
+ return -EIO;
- for (i = 0; i < (data * 10); i++)
+ /* Start blinking */
ql_mb_set_led_cfg(qdev, QL_LED_BLINK);
+ return 0;
- /* Restore LED settings */
- status = ql_mb_set_led_cfg(qdev, led_reg);
- if (status)
- return status;
+ case ETHTOOL_ID_INACTIVE:
+ /* Restore LED settings */
+ if (ql_mb_set_led_cfg(qdev, qdev->led_config))
+ return -EIO;
+ return 0;
- return 0;
+ default:
+ return -EINVAL;
+ }
}
static int ql_start_loopback(struct ql_adapter *qdev)
@@ -703,7 +703,7 @@ const struct ethtool_ops qlge_ethtool_op
.get_msglevel = ql_get_msglevel,
.set_msglevel = ql_set_msglevel,
.get_link = ethtool_op_get_link,
- .phys_id = ql_phys_id,
+ .set_phys_id = ql_set_phys_id,
.self_test = ql_self_test,
.get_pauseparam = ql_get_pauseparam,
.set_pauseparam = ql_set_pauseparam,
^ permalink raw reply
* Re: [Bug 32832] New: shutdown(2) does not fully shut down socket any more
From: David Miller @ 2011-04-06 23:48 UTC (permalink / raw)
To: shemminger; +Cc: netdev
In-Reply-To: <20110406160713.7ff48ef1@nehalam>
From: Stephen Hemminger <shemminger@linux-foundation.org>
Date: Wed, 6 Apr 2011 16:07:13 -0700
> Begin forwarded message:
>
> Date: Wed, 6 Apr 2011 22:42:39 GMT
> From: bugzilla-daemon@bugzilla.kernel.org
> To: shemminger@linux-foundation.org
> Subject: [Bug 32832] New: shutdown(2) does not fully shut down socket any more
>
>
> https://bugzilla.kernel.org/show_bug.cgi?id=32832
>
> Summary: shutdown(2) does not fully shut down socket any more
...
>
> In 2.6.35 and earlier, shutdown(2) will fully remove a socket. This does not
> appear to be true any more and is causing software to misbehave.
>
This is already being discussed:
http://marc.info/?l=linux-netdev&m=130176733401613&w=2
^ permalink raw reply
page: next (older) | prev (newer) | latest
- recent:[subjects (threaded)|topics (new)|topics (active)]
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox