* Re: [PATCHv3] drivers/net/usb: Add new driver ipheth
From: "L. Alberto Giménez" @ 2010-03-31 21:38 UTC (permalink / raw)
To: Oliver Neukum
Cc: linux-kernel, netdev, linux-usb, linville, j.dumon,
steve.glendinning, davem, gregkh, dgiagio, dborca
In-Reply-To: <201003312233.26130.oliver@neukum.org>
On 03/31/2010 10:33 PM, Oliver Neukum wrote:
> Am Mittwoch, 31. März 2010 21:42:07 schrieb L. Alberto Giménez:
>
> Hi,
>
> a few comments below.
Hi Oliver,
I'll try to fix all the problems that you spotted as soon as I know how
to do that (documentation pointers more than the obvious ones are
welcome). In the meantime, please be patient :)
Regards,
--
L. Alberto Giménez
JabberID agimenez@jabber.sysvalve.es
GnuPG key ID 0x3BAABDE1
^ permalink raw reply
* Re: [net-2.6 PATCH] bonding: fix broken multicast with round-robin mode
From: David Miller @ 2010-03-31 21:25 UTC (permalink / raw)
To: eric.dumazet; +Cc: andy, netdev, lhh, fubar, bonding-devel
In-Reply-To: <1270070586.2593.6.camel@edumazet-laptop>
From: Eric Dumazet <eric.dumazet@gmail.com>
Date: Wed, 31 Mar 2010 23:23:06 +0200
> New compiler got these new options : -Wframe-larger-than=1024
> -fno-strict-overflow -fno-dwarf2-cfi-asm -fconserve-stack
Ok, so much for my warning option theory :-)
^ permalink raw reply
* Re: [net-2.6 PATCH] bonding: fix broken multicast with round-robin mode
From: Eric Dumazet @ 2010-03-31 21:23 UTC (permalink / raw)
To: David Miller; +Cc: andy, netdev, lhh, fubar, bonding-devel
In-Reply-To: <20100331.140055.246389406.davem@davemloft.net>
Le mercredi 31 mars 2010 à 14:00 -0700, David Miller a écrit :
> Funny how going back in time gives us better diagnostic messages from
> the compiler :-)
>
> FWIW I also didn't get the warning, and that was with gcc-4.5 built
> from the gcc trunk just the other day.
>
> I suspect this is to do with a change to what warnings get enabled by
> default with the -W options we put in the cflags rather than gcc
> losing the ability to detect this case.
x86_64-unknown-linux-gcc -Wp,-MD,drivers/net/bonding/.bond_main.o.d
-nostdinc
-isystem /data/x86-64/lib/gcc/x86_64-unknown-linux/4.1.2/include
-I/data/src/linux-2.6/arch/x86/include -Iinclude -include
include/generated/autoconf.h -D__KERNEL__ -Wall -Wundef
-Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common
-Werror-implicit-function-declaration -Wno-format-security
-fno-delete-null-pointer-checks -O2 -m64 -mno-red-zone -mcmodel=kernel
-funit-at-a-time -maccumulate-outgoing-args -DCONFIG_AS_CFI=1
-DCONFIG_AS_CFI_SIGNAL_FRAME=1 -pipe -Wno-sign-compare
-fno-asynchronous-unwind-tables -mno-sse -mno-mmx -mno-sse2 -mno-3dnow
-fno-stack-protector -fno-omit-frame-pointer -fno-optimize-sibling-calls
-g -pg -Wdeclaration-after-statement -Wno-pointer-sign
-D"KBUILD_STR(s)=#s" -D"KBUILD_BASENAME=KBUILD_STR(bond_main)"
-D"KBUILD_MODNAME=KBUILD_STR(bonding)" -c -o
drivers/net/bonding/.tmp_bond_main.o drivers/net/bonding/bond_main.c
drivers/net/bonding/bond_main.c: In function ‘bond_xmit_roundrobin’:
drivers/net/bonding/bond_main.c:4159: warning: comparison is always
false due to limited range of data type
while with gcc-4.4.2 (native compiler, no warning displayed)
gcc -Wp,-MD,drivers/net/bonding/.bond_main.o.d -nostdinc
-isystem /usr/lib/gcc/x86_64-linux-gnu/4.4.3/include
-I/usr/src/git/linux-2.6/arch/x86/include -Iinclude -include
include/generated/autoconf.h -D__KERNEL__ -Wall -Wundef
-Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common
-Werror-implicit-function-declaration -Wno-format-security
-fno-delete-null-pointer-checks -O2 -m64 -mtune=generic -mno-red-zone
-mcmodel=kernel -funit-at-a-time -maccumulate-outgoing-args
-DCONFIG_AS_CFI=1 -DCONFIG_AS_CFI_SIGNAL_FRAME=1 -pipe -Wno-sign-compare
-fno-asynchronous-unwind-tables -mno-sse -mno-mmx -mno-sse2 -mno-3dnow
-Wframe-larger-than=1024 -fno-stack-protector -fno-omit-frame-pointer
-fno-optimize-sibling-calls -g -Wdeclaration-after-statement
-Wno-pointer-sign -fno-strict-overflow -fno-dwarf2-cfi-asm
-fconserve-stack -D"KBUILD_STR(s)=#s"
-D"KBUILD_BASENAME=KBUILD_STR(bond_main)"
-D"KBUILD_MODNAME=KBUILD_STR(bond_main)" -c -o
drivers/net/bonding/.tmp_bond_main.o drivers/net/bonding/bond_main.c
New compiler got these new options : -Wframe-larger-than=1024
-fno-strict-overflow -fno-dwarf2-cfi-asm -fconserve-stack
^ permalink raw reply
* Re: Undefined behaviour of connect(fd, NULL, 0);
From: David Miller @ 2010-03-31 21:17 UTC (permalink / raw)
To: neilb; +Cc: shemminger, netdev
In-Reply-To: <20100401072412.032aa8e6@notabene.brown>
From: Neil Brown <neilb@suse.de>
Date: Thu, 1 Apr 2010 07:24:12 +1100
>> --- a/net/ipv4/af_inet.c 2010-03-31 11:47:01.952910248 -0700
>> +++ b/net/ipv4/af_inet.c 2010-03-31 11:48:09.852938406 -0700
>> @@ -575,7 +575,7 @@ int inet_stream_connect(struct socket *s
>>
>> lock_sock(sk);
>>
>> - if (uaddr->sa_family == AF_UNSPEC) {
>> + if (addr_len < sizeof(sa_family_t) || uaddr->sa_family == AF_UNSPEC) {
>> err = sk->sk_prot->disconnect(sk, flags);
>> sock->state = err ? SS_DISCONNECTING : SS_UNCONNECTED;
>> goto out;
>
> Thanks for the reply.
>
> The implication of this patch is that
> connect(fd, NULL, 0)
> is actually a valid way to check if an in-progress connection has completed.
>
> Is that the intention?
That's not how I read the patch, the result is that connect(fd, NULL...)
will now disconnect the socket.
^ permalink raw reply
* Re: Undefined behaviour of connect(fd, NULL, 0);
From: Stephen Hemminger @ 2010-03-31 21:14 UTC (permalink / raw)
To: Neil Brown; +Cc: netdev
In-Reply-To: <20100401072412.032aa8e6@notabene.brown>
On Thu, 1 Apr 2010 07:24:12 +1100
Neil Brown <neilb@suse.de> wrote:
> On Wed, 31 Mar 2010 11:49:36 -0700
> Stephen Hemminger <shemminger@vyatta.com> wrote:
>
> > On Wed, 31 Mar 2010 22:36:37 +1100
> > Neil Brown <neilb@suse.de> wrote:
> >
> > >
> > > Hi Netdev.
> > >
> > > We have a customer who was reporting strangely unpredictable behaviour of an
> > > in-house application that used networking.
> > >
> > > It called connect on a non-blocking socket and subsequently called
> > > connect(fd, NULL, 0)
> > >
> > > to check if the connection had succeeded.
> > > This would sometime "work" and sometimes close the connection.
> > >
> > > Looking at the code (sys_connect, move_addr_to_kernel, inet_stream_connect),
> > > it seems that in this case an uninitialised on-stack address is passed
> > > to inet_stream_connect and it makes a decision based on ->sa_family (which is
> > > uninitialised).
> > >
> > > It seems clear that connect(fd, NULL, 0) is the wrong thing to do in this
> > > circumstance, but I think it would be good if it failed consistently rather
> > > than unpredictably.
> > >
> > > Would it be appropriate for move_addr_to_kernel to zero out the remainder of
> > > the address?
> > > memset(kaddr+ulen, 0, MAX_SOCK_ADDR-ulen);
> > > ??
> > >
> > > Then connect(fd, NULL, 0) would always break the connection.
> >
> > I think the problem is inet_stream_connect referencing past addr_len.
> >
> > --- a/net/ipv4/af_inet.c 2010-03-31 11:47:01.952910248 -0700
> > +++ b/net/ipv4/af_inet.c 2010-03-31 11:48:09.852938406 -0700
> > @@ -575,7 +575,7 @@ int inet_stream_connect(struct socket *s
> >
> > lock_sock(sk);
> >
> > - if (uaddr->sa_family == AF_UNSPEC) {
> > + if (addr_len < sizeof(sa_family_t) || uaddr->sa_family == AF_UNSPEC) {
> > err = sk->sk_prot->disconnect(sk, flags);
> > sock->state = err ? SS_DISCONNECTING : SS_UNCONNECTED;
> > goto out;
>
> Thanks for the reply.
>
> The implication of this patch is that
> connect(fd, NULL, 0)
> is actually a valid way to check if an in-progress connection has completed.
>
> Is that the intention?
The rationale is that move_addr_to_kernel, explcitly allow addr=NULL with addr_len=0
so if it is allowed there why not let it through. The implication of this is that
addr_len is the same as AF_UNSPEC.
> Does all other address manipulation code check the addr_len ?? (probably).
Not sure.
Someone ought to check BSD/Solaris to see if there is some standard here.
^ permalink raw reply
* Re: [PATCH 5/6] cxgb4: Add main driver file and driver Makefile
From: David Miller @ 2010-03-31 21:13 UTC (permalink / raw)
To: swise; +Cc: shemminger, dm, netdev
In-Reply-To: <4BB3A301.3090100@opengridcomputing.com>
From: Steve Wise <swise@opengridcomputing.com>
Date: Wed, 31 Mar 2010 14:31:13 -0500
> This sounds interesting. Dave, how would you envision the ethtool
> interface for this? A new modifier to --statistics? Like: 'ethtool
> --statistics ethX viewname' where viewname could maybe be passed to
> the driver to allow arbitrary views? Or something else?
I really don't care much about the userland side, I'm only
interested in how you implement this in the kernel :-)
^ permalink raw reply
* Re: [net-2.6 PATCH] bonding: fix broken multicast with round-robin mode
From: David Miller @ 2010-03-31 21:00 UTC (permalink / raw)
To: eric.dumazet; +Cc: andy, netdev, lhh, fubar, bonding-devel
In-Reply-To: <1270048448.2103.28.camel@edumazet-laptop>
From: Eric Dumazet <eric.dumazet@gmail.com>
Date: Wed, 31 Mar 2010 17:14:08 +0200
> ARCH=x86_64 CROSS_COMPILE=x86_64-unknown-linux- make vmlinux
>
> so, it was a cross compiler :
>
> /data/x86-64/bin/x86_64-unknown-linux-gcc-4.1.2 -v
> Using built-in specs.
> Target: x86_64-unknown-linux
> Configured with: ../gcc-4.1.2/configure --prefix=/data/x86-64
> --target=x86_64-unknown-linux --enable-languages=c --disable-shared
> --disable-multilib --disable-threads --disable-libssp --without-headers
> --disable-libmudflap
> Thread model: single
> gcc version 4.1.2
Funny how going back in time gives us better diagnostic messages from
the compiler :-)
FWIW I also didn't get the warning, and that was with gcc-4.5 built
from the gcc trunk just the other day.
I suspect this is to do with a change to what warnings get enabled by
default with the -W options we put in the cflags rather than gcc
losing the ability to detect this case.
^ permalink raw reply
* RE: re-submit2 [ANNOUNCEMENT] NET: usb: sierra_net.c driver
From: Elina Pasheva @ 2010-03-31 20:58 UTC (permalink / raw)
To: davem-fT/PcQaiUtIeIZ0/mPfg9Q
Cc: Rory Filer,
dbrownell-Rn4VEauK+AKRv+LV9MX5uipxlwaOVQ5f@public.gmane.org,
linux-usb-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
netdev-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
In-Reply-To: <8F90F944E50427428C60E12A34A309D22FC800D825-3qf8vkpM5jTbmvMHnzRVpW3Pdy6AhKVLXbPIYa3/oNjDOqzlkpFKJg@public.gmane.org>
On Tue, 2010-03-30 at 23:21 -0700, Rory Filer wrote:
> -----Original Message-----
> > >
> > > Applied, thanks.
> >
> > Nevermind, reverted, it doesn't even build.
> >
> > drivers/net/usb/sierra_net.c: In function 'check_ethip_packet':
> > drivers/net/usb/sierra_net.c:221:3: error: implicit declaration of
> > function 'deverr'
> >
> > Really, this should never ever happen, and there is simply
> > no excuse at all for this.
>
> Well actually there is an excuse, but I'm sure you don't want to
> know what it is.
The patch was posted saying it had only been tested on 2.6.33.1.
There was failure-to-build and boot problems beyond our control with 2.6.34-rc2.
Now that 2.6.34-rc3 is available (and we are able to build and boot on our Ubuntu platform)
I will modify the driver to reflect the fact that deverr is no longer in existence
and is replaced by another function. I will submit the modified driver tested on 2.6.34-rc3 shortly.
Perhaps we should have waited until the build problem was fixed.
Regards,
Elina
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" 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
* Re: [PATCH 3/4] xfrm: remove policy lock when accessing policy->walk.dead
From: David Miller @ 2010-03-31 20:57 UTC (permalink / raw)
To: herbert; +Cc: hadi, timo.teras, netdev
In-Reply-To: <20100331141525.GA14331@gondor.apana.org.au>
From: Herbert Xu <herbert@gondor.apana.org.au>
Date: Wed, 31 Mar 2010 22:15:25 +0800
> Dave can keep or revert this as he likes.
Herbert, if it doesn't break anything, I feel the gains are very
worthwhile.
When we have a breakage report, I will undo this or fix it
immediately. Until then, we have to be cognizant of what positives we
get out of this.
Have you actually tried to monitor the IPSEC netlink socket events
when a daemon is running? It's way too painful before Jamal's
changes, and we already emit way too many semantically empty events in
netlink.
Minimization of the noise is a good thing, if it can legally be done,
which I believe is the case here. And this applies to pfkey events
too, because processing those is even more expensive on the
application side.
^ permalink raw reply
* Re: [PATCH 3/4] xfrm: remove policy lock when accessing policy->walk.dead
From: David Miller @ 2010-03-31 20:54 UTC (permalink / raw)
To: herbert; +Cc: hadi, timo.teras, netdev
In-Reply-To: <20100331135629.GD14082@gondor.apana.org.au>
From: Herbert Xu <herbert@gondor.apana.org.au>
Date: Wed, 31 Mar 2010 21:56:29 +0800
> This is inconsistent with the behaviour of SADB flushes, and the
> spirit of RFC2367.
Want to have an even larger list of areas where we're not compliant
with that RFC2367 that everyone has to extend and makes changes to in
order to be useful? :-)
Herbert, you have to show that something breaks because of this,
because the new behavior helps in diagnosis and efficiency and the old
behavior has been a serious pet peeve of mine just as it was for
Jamal.
^ permalink raw reply
* Re: [PATCH 3/4] xfrm: remove policy lock when accessing policy->walk.dead
From: David Miller @ 2010-03-31 20:52 UTC (permalink / raw)
To: herbert; +Cc: hadi, timo.teras, netdev
In-Reply-To: <20100331135331.GB14082@gondor.apana.org.au>
From: Herbert Xu <herbert@gondor.apana.org.au>
Date: Wed, 31 Mar 2010 21:53:31 +0800
> Dave, please revert this patch.
Herbert I actually don't agree with you on this one, sorry :-)
If no semantic change occurred to the policy or state databases,
there is zero reason to report the flush event, it's noise.
Like Jamal, I too am pretty frustrated with how noisy and unusable the
netlink messages are to watch when trying to debug something and this
behavior change should break no applications whatsoever.
When you have evidence of a real existing case failing because of
Jamal's changes (not some case you crafted specifically to show that
an empty flush doesn't get reported), I'll consider a revert or ask
Jamal to fix that case up.
Until then, Jamal's change is staying in the tree.
^ permalink raw reply
* Re: [PATCHv3] drivers/net/usb: Add new driver ipheth
From: Oliver Neukum @ 2010-03-31 20:33 UTC (permalink / raw)
To: L. Alberto Giménez
Cc: linux-kernel, netdev, linux-usb, linville, j.dumon,
steve.glendinning, davem, gregkh, dgiagio, dborca
In-Reply-To: <1270064527-8485-1-git-send-email-agimenez@sysvalve.es>
Am Mittwoch, 31. März 2010 21:42:07 schrieb L. Alberto Giménez:
Hi,
a few comments below.
Regards
Oliver
> +
> +static struct usb_device_id ipheth_table[] = {
> + { USB_DEVICE(USB_VENDOR_APPLE, USB_PRODUCT_IPHETH) },
> + { USB_DEVICE(USB_VENDOR_APPLE, USB_PRODUCT_IPHETH_3G) },
> + { USB_DEVICE(USB_VENDOR_APPLE, USB_PRODUCT_IPHETH_3GS) },
Please use the macros specifying the interface.
> + { }
> +};
> +MODULE_DEVICE_TABLE(usb, ipheth_table);
> +static void ipheth_unlink_urbs(struct ipheth_device *dev)
The naming might be misleading.
> +{
> + usb_kill_urb(dev->tx_urb);
> + usb_kill_urb(dev->rx_urb);
> +}
> +
> +static void ipheth_sndbulk_callback(struct urb *urb)
> +{
> + struct ipheth_device *dev;
> +
> + dev = urb->context;
> + if (dev == NULL)
> + return;
> +
> + if (urb->status != 0 &&
> + urb->status != -ENOENT &&
> + urb->status != -ECONNRESET &&
> + urb->status != -ESHUTDOWN)
> + err("%s: urb status: %d", __func__, urb->status);
> +
> + netif_wake_queue(dev->net);
> + dev_kfree_skb_irq(dev->tx_skb);
Race condition. You must free the skb before you wake the queue.
> +}
> +
> +static int ipheth_open(struct net_device *net)
> +{
> + struct ipheth_device *dev = netdev_priv(net);
> + struct usb_device *udev = dev->udev;
> + int retval = 0;
> +
> + usb_set_interface(udev, IPHETH_INTFNUM, IPHETH_ALT_INTFNUM);
> + usb_clear_halt(udev, usb_rcvbulkpipe(udev, dev->bulk_in));
> + usb_clear_halt(udev, usb_sndbulkpipe(udev, dev->bulk_out));
Is this really needed? If so, please add a comment.
> +
> + retval = ipheth_carrier_set(dev);
> + if (retval)
> + goto error;
> +
> + retval = ipheth_rx_submit(dev, GFP_KERNEL);
> + if (retval)
> + goto error;
> +
> + schedule_delayed_work(&dev->carrier_work, IPHETH_CARRIER_CHECK_TIMEOUT);
Does it make sense to start rx while you have no carrier?
> + netif_start_queue(net);
> +error:
> + return retval;
> +}
> +static int ipheth_tx(struct sk_buff *skb, struct net_device *net)
> +{
> + struct ipheth_device *dev = netdev_priv(net);
> + struct usb_device *udev = dev->udev;
> + int retval;
> +
> + /* Paranoid */
> + if (skb->len > IPHETH_BUF_SIZE) {
> + err("%s: skb too large: %d bytes", __func__, skb->len);
> + dev->stats.tx_dropped++;
> + dev_kfree_skb_irq(skb);
> + goto exit;
> + }
> +
> + memset(dev->tx_buf, 0, IPHETH_BUF_SIZE);
> + memcpy(dev->tx_buf, skb->data, skb->len);
a bit wasteful
> +static int ipheth_probe(struct usb_interface *intf,
> + const struct usb_device_id *id)
> +{
> + struct usb_device *udev = interface_to_usbdev(intf);
> + struct usb_host_interface *hintf;
> + struct usb_endpoint_descriptor *endp;
> + struct ipheth_device *dev;
> + struct net_device *netdev;
> + int i;
> + int retval;
> +
> + /* Ensure we are probing the right interface */
> + if (intf->cur_altsetting->desc.bInterfaceClass != IPHETH_USBINTF_CLASS ||
> + intf->cur_altsetting->desc.bInterfaceSubClass != IPHETH_USBINTF_SUBCLASS)
> + return -ENODEV;
Please use the correct macro to specify the interface you are interested in
> +static void ipheth_disconnect(struct usb_interface *intf)
> +{
> + struct ipheth_device *dev;
> +
> + dev = usb_get_intfdata(intf);
> + if (dev != NULL) {
is this check needed?
> +static struct usb_driver ipheth_driver = {
> + .name = "ipheth",
> + .probe = ipheth_probe,
> + .disconnect = ipheth_disconnect,
> + .id_table = ipheth_table,
> + .supports_autosuspend = 0,
redundant
^ permalink raw reply
* Re: [PATCH] r8169: fix broken register writes
From: =?unknown-8bit?B?RnJhbsOnb2lz?= Romieu @ 2010-03-31 20:27 UTC (permalink / raw)
To: Al Viro; +Cc: Ben Hutchings, David Miller, timo.teras, ivecera, netdev
In-Reply-To: <20100329021730.GI30031@ZenIV.linux.org.uk>
Al Viro <viro@ZenIV.linux.org.uk> :
[...]
> BTW, patch from upthread doesn't help on that box, and neither does
> simple reordering of MAC0 and MAC4 writes. Adding reads of MAC0 and
> MAC4 after corresponding writes seems to work.
Does something like the patch below work too ?
I'd like to factor out the posted PCI write commits.
diff --git a/drivers/net/r8169.c b/drivers/net/r8169.c
index 9674005..8d1ab0f 100644
--- a/drivers/net/r8169.c
+++ b/drivers/net/r8169.c
@@ -542,6 +542,11 @@ static int rtl8169_poll(struct napi_struct *napi, int budget);
static const unsigned int rtl8169_rx_config =
(RX_FIFO_THRESH << RxCfgFIFOShift) | (RX_DMA_BURST << RxCfgDMAShift);
+static void r816x_pci_write_commit(void __iomem *ioaddr)
+{
+ RTL_R8(ChipCmd);
+}
+
static void mdio_write(void __iomem *ioaddr, int reg_addr, int value)
{
int i;
@@ -2825,8 +2830,13 @@ static void rtl_rar_set(struct rtl8169_private *tp, u8 *addr)
spin_lock_irq(&tp->lock);
RTL_W8(Cfg9346, Cfg9346_Unlock);
+
RTL_W32(MAC4, high);
+ r816x_pci_write_commit(ioaddr);
+
RTL_W32(MAC0, low);
+ r816x_pci_write_commit(ioaddr);
+
RTL_W8(Cfg9346, Cfg9346_Lock);
spin_unlock_irq(&tp->lock);
^ permalink raw reply related
* Re: Undefined behaviour of connect(fd, NULL, 0);
From: Neil Brown @ 2010-03-31 20:24 UTC (permalink / raw)
To: Stephen Hemminger; +Cc: netdev
In-Reply-To: <20100331114936.3549ca90@s6510>
On Wed, 31 Mar 2010 11:49:36 -0700
Stephen Hemminger <shemminger@vyatta.com> wrote:
> On Wed, 31 Mar 2010 22:36:37 +1100
> Neil Brown <neilb@suse.de> wrote:
>
> >
> > Hi Netdev.
> >
> > We have a customer who was reporting strangely unpredictable behaviour of an
> > in-house application that used networking.
> >
> > It called connect on a non-blocking socket and subsequently called
> > connect(fd, NULL, 0)
> >
> > to check if the connection had succeeded.
> > This would sometime "work" and sometimes close the connection.
> >
> > Looking at the code (sys_connect, move_addr_to_kernel, inet_stream_connect),
> > it seems that in this case an uninitialised on-stack address is passed
> > to inet_stream_connect and it makes a decision based on ->sa_family (which is
> > uninitialised).
> >
> > It seems clear that connect(fd, NULL, 0) is the wrong thing to do in this
> > circumstance, but I think it would be good if it failed consistently rather
> > than unpredictably.
> >
> > Would it be appropriate for move_addr_to_kernel to zero out the remainder of
> > the address?
> > memset(kaddr+ulen, 0, MAX_SOCK_ADDR-ulen);
> > ??
> >
> > Then connect(fd, NULL, 0) would always break the connection.
>
> I think the problem is inet_stream_connect referencing past addr_len.
>
> --- a/net/ipv4/af_inet.c 2010-03-31 11:47:01.952910248 -0700
> +++ b/net/ipv4/af_inet.c 2010-03-31 11:48:09.852938406 -0700
> @@ -575,7 +575,7 @@ int inet_stream_connect(struct socket *s
>
> lock_sock(sk);
>
> - if (uaddr->sa_family == AF_UNSPEC) {
> + if (addr_len < sizeof(sa_family_t) || uaddr->sa_family == AF_UNSPEC) {
> err = sk->sk_prot->disconnect(sk, flags);
> sock->state = err ? SS_DISCONNECTING : SS_UNCONNECTED;
> goto out;
Thanks for the reply.
The implication of this patch is that
connect(fd, NULL, 0)
is actually a valid way to check if an in-progress connection has completed.
Is that the intention?
Does all other address manipulation code check the addr_len ?? (probably).
Thanks,
NeilBrown
^ permalink raw reply
* Re: [r8169] WARNING: at net/sched/sch_generic.c
From: =?unknown-8bit?B?RnJhbsOnb2lz?= Romieu @ 2010-03-31 20:14 UTC (permalink / raw)
To: Neil Horman
Cc: Eric Dumazet, Sergey Senozhatsky, netdev, David S. Miller,
linux-kernel
In-Reply-To: <20100331133533.GD13963@hmsreliant.think-freely.org>
Neil Horman <nhorman@redhat.com> :
[...]
> +1 I wouldn't be suprised if using something over the nominal 1522 byte frame
> length on r8169 caused tx errors. The driver doesn't seem to support Jumbo
> frames, so my guess is you have to keep the packet size below 1522 bytes.
-1
The driver does not support Jumbo frames because the original 8169 will not
go much beyond 7200 (see r8169.c::SafeMtu and netdev circa 2004 december 7).
/me checks... Apparently it still works a bit.
Sergey, can you 'dmesg | grep XID' and send the output of a lspci as
well as the MTU used during the test ?
--
Ueimor
^ permalink raw reply
* Re: eth1: Detected Hardware Unit Hang
From: Paweł Staszewski @ 2010-03-31 20:06 UTC (permalink / raw)
To: Tantilov, Emil S
Cc: Allan, Bruce W, Linux Network Development list,
e1000-devel@lists.sourceforge.net
In-Reply-To: <EA929A9653AAE14F841771FB1DE5A1365FE4D29FF4@rrsmsx501.amr.corp.intel.com>
W dniu 2010-03-31 21:59, Tantilov, Emil S pisze:
> Paweł Staszewski wrote:
>
>> W dniu 2010-03-31 20:03, Tantilov, Emil S pisze:
>>
>>> Pawel Staszewski wrote:
>>>
>>>
>>>> Hello
>>>>
>>>> I reproduce this problem on other machine with the same hardware and
>>>> here is dmesg output: (kernel 2.6.33)
>>>>
>>>> Mar 27 18:19:16 TM_01_C1 [1817894.769395] 0000:04:00.0: eth0:
>>>> Detected Hardware Unit Hang: Mar 27 18:19:16 TM_01_C1
>>>> [1817894.769396] TDH<2e>
>>>> Mar 27 18:19:16 TM_01_C1 [1817894.769397] TDT<1a>
>>>> Mar 27 18:19:16 TM_01_C1 [1817894.769397] next_to_use<1a>
>>>> Mar 27 18:19:16 TM_01_C1 [1817894.769398] next_to_clean<2d>
>>>> Mar 27 18:19:16 TM_01_C1 [1817894.769398]
>>>> buffer_info[next_to_clean]: Mar 27 18:19:16 TM_01_C1
>>>> [1817894.769399] time_stamp<11b1591e9>
>>>> Mar 27 18:19:16 TM_01_C1 [1817894.769399] next_to_watch<2f>
>>>> Mar 27 18:19:16 TM_01_C1 [1817894.769400] jiffies<11b1592e4>
>>>> Mar 27 18:19:16 TM_01_C1 [1817894.769401] next_to_watch.status<0>
>>>> Mar 27 18:19:16 TM_01_C1 [1817894.769401] MAC Status<80080783>
>>>> Mar 27 18:19:16 TM_01_C1 [1817894.769402] PHY Status<796d>
>>>> Mar 27 18:19:16 TM_01_C1 [1817894.769402] PHY 1000BASE-T
>>>> Status<3800> Mar 27 18:19:16 TM_01_C1 [1817894.769403] PHY Extended
>>>> Status<3000> Mar 27 18:19:16 TM_01_C1 [1817894.769404] PCI
>>>> Status<10>
>>>> Mar 27 18:19:18 TM_01_C1 [1817896.773365] 0000:04:00.0: eth0:
>>>> Detected Hardware Unit Hang: Mar 27 18:19:18 TM_01_C1
>>>> [1817896.773367] TDH<2e>
>>>> Mar 27 18:19:18 TM_01_C1 [1817896.773368] TDT<1a>
>>>> Mar 27 18:19:18 TM_01_C1 [1817896.773368] next_to_use<1a>
>>>> Mar 27 18:19:18 TM_01_C1 [1817896.773369] next_to_clean<2d>
>>>> Mar 27 18:19:18 TM_01_C1 [1817896.773369]
>>>> buffer_info[next_to_clean]: Mar 27 18:19:18 TM_01_C1
>>>> [1817896.773370] time_stamp<11b1591e9>
>>>> Mar 27 18:19:18 TM_01_C1 [1817896.773370] next_to_watch<2f>
>>>> Mar 27 18:19:18 TM_01_C1 [1817896.773371] jiffies<11b1594d8>
>>>> Mar 27 18:19:18 TM_01_C1 [1817896.773372] next_to_watch.status<0>
>>>> Mar 27 18:19:18 TM_01_C1 [1817896.773372] MAC Status<80080783>
>>>> Mar 27 18:19:18 TM_01_C1 [1817896.773373] PHY Status<796d>
>>>> Mar 27 18:19:18 TM_01_C1 [1817896.773373] PHY 1000BASE-T
>>>> Status<3800> Mar 27 18:19:18 TM_01_C1 [1817896.773374] PHY Extended
>>>> Status<3000> Mar 27 18:19:18 TM_01_C1 [1817896.773375] PCI
>>>> Status<10>
>>>> Mar 27 18:19:20 TM_01_C1 [1817898.769353] 0000:04:00.0: eth0:
>>>> Detected
>>>>
>>>>
>>> <snip>
>>>
>>> I have a similar (not the same model) system in the lab with
>>> 82573E/L on board, but was not able to reproduce the Tx hangs you
>>> reported. So at this point we need to start looking into more
>>> details. Could you please file a bug at e1000.sf.net? Include the
>>> information you provided so far and also:
>>> 1. output from ethtoool -e
>>> 2. ethtool -d
>>> 3. cat /proc/interrupts
>>> 4. full dmesg output from boot to the point where Tx hangs occurred.
>>> 5. kernel config file
>>>
>>> Looking at the description of your system (Supermicro X7DCT) I see
>>> this board has IPMI option. Do you have IPMI in your system?
>>>
>>>
>>>
>> Aditional informations are in attached files.
>> Yes there is IPMI option but i don't have it.
>>
>> And yes i will make a bugreport at e1000.sf.net.
>>
> Thanks Pawel, for the quick reply. I see that you have disabled flow control. Is that on purpose? What is your link partner?
>
>
Yes i always disable flow control - link partner is 3Com Switch
> Thanks,
> Emil
>
>
>
^ permalink raw reply
* [PATCH 1/1] e1000e: stop cleaning when we reach tx_ring->next_to_use
From: Terry Loftin @ 2010-03-31 20:01 UTC (permalink / raw)
To: netdev, e1000-devel, Jeff Kirsher, Jesse Brandeburg
Tx ring buffers after tx_ring->next_to_use are volatile and could
change, possibly causing a crash. Stop cleaning when we hit
tx_ring->next_to_use.
Signed-off-by: Terry Loftin <terry.loftin@hp.com>
---
diff --git a/drivers/net/e1000e/netdev.c b/drivers/net/e1000e/netdev.c
index e1cceb6..60288e4 100644
--- a/drivers/net/e1000e/netdev.c
+++ b/drivers/net/e1000e/netdev.c
@@ -660,6 +660,8 @@ static bool e1000_clean_tx_irq(struct e1000_adapter *adapter)
i = 0;
}
+ if (i == tx_ring->next_to_use)
+ break;
eop = tx_ring->buffer_info[i].next_to_watch;
eop_desc = E1000_TX_DESC(*tx_ring, eop);
}
^ permalink raw reply related
* [PATCH 0/1][RFC] e1000e: stop cleaning when we reach tx_ring->next_to_use
From: Terry Loftin @ 2010-03-31 20:01 UTC (permalink / raw)
To: netdev, e1000-devel, Jeff Kirsher, Jesse Brandeburg
During long test runs with heavy network traffic, we have had
a number of crashes in e1000e with backtraces like this:
BUG: unable to handle kernel NULL pointer dereference at 00000000000000cc
IP: [<ffffffffa006951f>] e1000_clean_tx_irq+0x81/0x2db [e1000e]
Pid: 0, comm: swapper Not tainted 2.6.32-4-amd64 #1 ProLiant DL380 G6
RIP: 0010:[<ffffffffa006951f>] [<ffffffffa006951f>] e1000_clean_tx_irq+0x81/0x2db [e1000e]
RSP: 0018:ffff8800282039a0 EFLAGS: 00010246
RAX: ffff8803259e0000 RBX: 0000000000000046 RCX: 0000000000000000
RDX: ffff8803259e0000 RSI: 0000000000000000 RDI: ffffc90006b20af0
RBP: ffff880028203a10 R08: 0000000000000000 R09: 0000000000003d5c
R10: 0000000000000000 R11: 0000000000000010 R12: 0000000000000046
R13: ffff8801a4bc45c0 R14: ffff8801a4b5cd40 R15: 0000000000000046
FS: 0000000000000000(0000) GS:ffff880028200000(0000) knlGS:0000000000000000
CS: 0010 DS: 0018 ES: 0018 CR0: 000000008005003b
CR2: 00000000000000cc CR3: 0000000001001000 CR4: 00000000000006f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
Process swapper (pid: 0, threadinfo ffffffff81420000, task ffffffff8145e4b0)
Stack:
0000000000000008 0000000000000001 ffff8802fa2d8200 ffff8801a6966880
<0> ffff8800282039d0 ffff8801a4bc4000 0000000000000003 01ffffff00000000
<0> ffff8803259e0000 ffff8801a4bc45c0 ffff8801a4b5cd40 ffff880326cbccc0
Call Trace:
<IRQ>
[<ffffffffa00697aa>] e1000_intr_msix_tx+0x31/0x53 [e1000e] (eth9 tx)
[<ffffffff810924f1>] handle_IRQ_event+0x61/0x13b
[<ffffffff81093dc9>] handle_edge_irq+0xeb/0x130
[<ffffffff8100e910>] handle_irq+0x1f/0x27
[<ffffffff8100df5c>] do_IRQ+0x5a/0xba
[<ffffffff8100c513>] ret_from_intr+0x0/0x11
[<ffffffffa006950f>] ? e1000_clean_tx_irq+0x71/0x2db [e1000e]
[<ffffffff8100c513>] ? ret_from_intr+0x0/0x11
[<ffffffffa00697aa>] ? e1000_intr_msix_tx+0x31/0x53 [e1000e] (eth6 tx)
[<ffffffff810924f1>] ? handle_IRQ_event+0x61/0x13b
[<ffffffff81093dc9>] ? handle_edge_irq+0xeb/0x130
[<ffffffff8100e910>] ? handle_irq+0x1f/0x27
[<ffffffff8100df5c>] ? do_IRQ+0x5a/0xba
[<ffffffff8100c513>] ? ret_from_intr+0x0/0x11
[<ffffffffa006b54a>] ? e1000_clean_rx_irq+0x1fb/0x2fb [e1000e] (eth6 rx)
[<ffffffff8119a78c>] ? is_swiotlb_buffer+0x2b/0x39
[<ffffffffa006cc87>] ? e1000_clean+0x75/0x22b [e1000e]
[<ffffffff81255d96>] ? net_rx_action+0xb8/0x1e3
[<ffffffff8104f9e3>] ? __do_softirq+0xde/0x19f
[<ffffffff8100ccec>] ? call_softirq+0x1c/0x28
[<ffffffff8100e8b1>] ? do_softirq+0x41/0x81
[<ffffffff8104f7bd>] ? irq_exit+0x36/0x75
[<ffffffff8100dfa5>] ? do_IRQ+0xa3/0xba
[<ffffffff8100c513>] ? ret_from_intr+0x0/0x11
<EOI>
[<ffffffffa019161f>] ? acpi_idle_enter_bm+0x2bb/0x2f2 [processor]
[<ffffffffa0191618>] ? acpi_idle_enter_bm+0x2b4/0x2f2 [processor]
[<ffffffff8123f426>] ? cpuidle_idle_call+0x9b/0xf9
[<ffffffff8100aeec>] ? cpu_idle+0x5b/0x93
[<ffffffff812f7e82>] ? rest_init+0x66/0x68
[<ffffffff814d9ca8>] ? start_kernel+0x381/0x38c
[<ffffffff814d9140>] ? early_idt_handler+0x0/0x71
[<ffffffff814d92a3>] ? x86_64_start_reservations+0xaa/0xae
[<ffffffff814d939e>] ? x86_64_start_kernel+0xf7/0x106
Typically, we find several nested interrupts. Each interrupt is for
a different interface and tx or rx combination as noted above in
parenthesis. This problem happens on about 30% of our 4-day CHO runs.
The crash occurs in e1000_clean_tx_irq(), on this line:
segs = skb_shinfo(skb)->gso_segs ?: 1;
because the skb is null (0xcc is the offset of gso_segs).
The problem is that we clean the tx_ring until we hit an entry that
does not have (eop_desc->upper.data & E1000_TXD_STAT_DD).
In other words, we keep cleaning the ring until we find an entry
that the hardware hasn't marked as done.
The crash always occurs when i >= tx_ring->next_to_use. In the crash
above, we set eop to the ring entries next_to_watch index at the
bottom of the while loop:
index next_to_watch skb descriptor->upper.data
0x46 0x46 null 0
0x47 0x47 null 0
That is, eop = 0x46. By the time we get to the test at the top of the
while loop, the ring now looks like this:
index next_to_watch skb descriptor->upper.data
0x46 0x47 null E1000_TXD_STAT_DD
0x47 0x47 not-null E1000_TXD_STAT_DD
Because descriptor->upper.data now has E1000_TXD_STAT_DD, we assume
this entry can be cleaned, and since we're using the old next_to_watch
value, we assume it has an skb.
Apparently, we've been interrupted long enough handling interrupts from
other interfaces that another cpu has had time to call e1000_start_xmit(),
queue up more tx's and the hardware has had time to xmit some of them
and mark them as E1000_TXD_STAT_DD.
I've been able to make this occur much more frequently (within 10 minutes)
by inserting a delay loop after we set eop, similar to:
if (i == tx_ring->next_to_use) for (j = 0; j < 5000000; j++ ) ;
The fix is to just bail out when (i == tx_ring->next_to_use). With
the fix and the delay loop, the problem no longer occurred for me.
A patch follows. If you find it acceptable, please considerate it.
Thanks,
-T
^ permalink raw reply
* RE: eth1: Detected Hardware Unit Hang
From: Tantilov, Emil S @ 2010-03-31 19:59 UTC (permalink / raw)
To: Paweł Staszewski
Cc: Allan, Bruce W, Linux Network Development list,
e1000-devel@lists.sourceforge.net
In-Reply-To: <4BB39FA2.5000604@itcare.pl>
Paweł Staszewski wrote:
> W dniu 2010-03-31 20:03, Tantilov, Emil S pisze:
>> Pawel Staszewski wrote:
>>
>>> Hello
>>>
>>> I reproduce this problem on other machine with the same hardware and
>>> here is dmesg output: (kernel 2.6.33)
>>>
>>> Mar 27 18:19:16 TM_01_C1 [1817894.769395] 0000:04:00.0: eth0:
>>> Detected Hardware Unit Hang: Mar 27 18:19:16 TM_01_C1
>>> [1817894.769396] TDH<2e>
>>> Mar 27 18:19:16 TM_01_C1 [1817894.769397] TDT<1a>
>>> Mar 27 18:19:16 TM_01_C1 [1817894.769397] next_to_use<1a>
>>> Mar 27 18:19:16 TM_01_C1 [1817894.769398] next_to_clean<2d>
>>> Mar 27 18:19:16 TM_01_C1 [1817894.769398]
>>> buffer_info[next_to_clean]: Mar 27 18:19:16 TM_01_C1
>>> [1817894.769399] time_stamp<11b1591e9>
>>> Mar 27 18:19:16 TM_01_C1 [1817894.769399] next_to_watch<2f>
>>> Mar 27 18:19:16 TM_01_C1 [1817894.769400] jiffies<11b1592e4>
>>> Mar 27 18:19:16 TM_01_C1 [1817894.769401] next_to_watch.status<0>
>>> Mar 27 18:19:16 TM_01_C1 [1817894.769401] MAC Status<80080783>
>>> Mar 27 18:19:16 TM_01_C1 [1817894.769402] PHY Status<796d>
>>> Mar 27 18:19:16 TM_01_C1 [1817894.769402] PHY 1000BASE-T
>>> Status<3800> Mar 27 18:19:16 TM_01_C1 [1817894.769403] PHY Extended
>>> Status<3000> Mar 27 18:19:16 TM_01_C1 [1817894.769404] PCI
>>> Status<10>
>>> Mar 27 18:19:18 TM_01_C1 [1817896.773365] 0000:04:00.0: eth0:
>>> Detected Hardware Unit Hang: Mar 27 18:19:18 TM_01_C1
>>> [1817896.773367] TDH<2e>
>>> Mar 27 18:19:18 TM_01_C1 [1817896.773368] TDT<1a>
>>> Mar 27 18:19:18 TM_01_C1 [1817896.773368] next_to_use<1a>
>>> Mar 27 18:19:18 TM_01_C1 [1817896.773369] next_to_clean<2d>
>>> Mar 27 18:19:18 TM_01_C1 [1817896.773369]
>>> buffer_info[next_to_clean]: Mar 27 18:19:18 TM_01_C1
>>> [1817896.773370] time_stamp<11b1591e9>
>>> Mar 27 18:19:18 TM_01_C1 [1817896.773370] next_to_watch<2f>
>>> Mar 27 18:19:18 TM_01_C1 [1817896.773371] jiffies<11b1594d8>
>>> Mar 27 18:19:18 TM_01_C1 [1817896.773372] next_to_watch.status<0>
>>> Mar 27 18:19:18 TM_01_C1 [1817896.773372] MAC Status<80080783>
>>> Mar 27 18:19:18 TM_01_C1 [1817896.773373] PHY Status<796d>
>>> Mar 27 18:19:18 TM_01_C1 [1817896.773373] PHY 1000BASE-T
>>> Status<3800> Mar 27 18:19:18 TM_01_C1 [1817896.773374] PHY Extended
>>> Status<3000> Mar 27 18:19:18 TM_01_C1 [1817896.773375] PCI
>>> Status<10>
>>> Mar 27 18:19:20 TM_01_C1 [1817898.769353] 0000:04:00.0: eth0:
>>> Detected
>>>
>> <snip>
>>
>> I have a similar (not the same model) system in the lab with
>> 82573E/L on board, but was not able to reproduce the Tx hangs you
>> reported. So at this point we need to start looking into more
>> details. Could you please file a bug at e1000.sf.net? Include the
>> information you provided so far and also:
>> 1. output from ethtoool -e
>> 2. ethtool -d
>> 3. cat /proc/interrupts
>> 4. full dmesg output from boot to the point where Tx hangs occurred.
>> 5. kernel config file
>>
>> Looking at the description of your system (Supermicro X7DCT) I see
>> this board has IPMI option. Do you have IPMI in your system?
>>
>>
> Aditional informations are in attached files.
> Yes there is IPMI option but i don't have it.
>
> And yes i will make a bugreport at e1000.sf.net.
Thanks Pawel, for the quick reply. I see that you have disabled flow control. Is that on purpose? What is your link partner?
Thanks,
Emil
^ permalink raw reply
* [PATCHv3] drivers/net/usb: Add new driver ipheth
From: L. Alberto Giménez @ 2010-03-31 19:42 UTC (permalink / raw)
To: linux-kernel
Cc: netdev, linux-usb, oliver, linville, j.dumon, steve.glendinning,
davem, gregkh, dgiagio, dborca
In-Reply-To: <1269984864-28159-1-git-send-email-agimenez@sysvalve.es>
From: Diego Giagio <diego@giagio.com>
Add new driver to use tethering with an iPhone device.
Signed-off-by: L. Alberto Giménez <agimenez@sysvalve.es>
---
drivers/net/usb/Kconfig | 12 +
drivers/net/usb/Makefile | 1 +
drivers/net/usb/ipheth.c | 573 ++++++++++++++++++++++++++++++++++++++++++++++
3 files changed, 586 insertions(+), 0 deletions(-)
create mode 100644 drivers/net/usb/ipheth.c
diff --git a/drivers/net/usb/Kconfig b/drivers/net/usb/Kconfig
index ba56ce4..63be4ca 100644
--- a/drivers/net/usb/Kconfig
+++ b/drivers/net/usb/Kconfig
@@ -385,4 +385,16 @@ config USB_CDC_PHONET
cellular modem, as found on most Nokia handsets with the
"PC suite" USB profile.
+config USB_IPHETH
+ tristate "Apple iPhone USB Ethernet driver"
+ default n
+ ---help---
+ Module used to share Internet connection (tethering) from your
+ iPhone (Original, 3G and 3GS) to your system.
+ Note that you need userspace libraries and programs that are needed
+ to pair your device with your system and that understand the iPhone
+ protocol.
+
+ For more information: http://giagio.com/wiki/moin.cgi/iPhoneEthernetDriver
+
endmenu
diff --git a/drivers/net/usb/Makefile b/drivers/net/usb/Makefile
index 82ea629..edb09c0 100644
--- a/drivers/net/usb/Makefile
+++ b/drivers/net/usb/Makefile
@@ -23,4 +23,5 @@ obj-$(CONFIG_USB_NET_MCS7830) += mcs7830.o
obj-$(CONFIG_USB_USBNET) += usbnet.o
obj-$(CONFIG_USB_NET_INT51X1) += int51x1.o
obj-$(CONFIG_USB_CDC_PHONET) += cdc-phonet.o
+obj-$(CONFIG_USB_IPHETH) += ipheth.o
diff --git a/drivers/net/usb/ipheth.c b/drivers/net/usb/ipheth.c
new file mode 100644
index 0000000..3f93da1
--- /dev/null
+++ b/drivers/net/usb/ipheth.c
@@ -0,0 +1,573 @@
+/*
+ * ipheth.c - Apple iPhone USB Ethernet driver
+ *
+ * Copyright (c) 2009 Diego Giagio <diego@giagio.com>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. Neither the name of GIAGIO.COM nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * Alternatively, provided that this notice is retained in full, this
+ * software may be distributed under the terms of the GNU General
+ * Public License ("GPL") version 2, in which case the provisions of the
+ * GPL apply INSTEAD OF those given above.
+ *
+ * The provided data structures and external interfaces from this code
+ * are not restricted to be used by modules with a GPL compatible license.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
+ * DAMAGE.
+ *
+ *
+ * Attention: iPhone device must be paired, otherwise it won't respond to our
+ * driver. For more info: http://giagio.com/wiki/moin.cgi/iPhoneEthernetDriver
+ *
+ */
+
+#include <linux/kernel.h>
+#include <linux/errno.h>
+#include <linux/init.h>
+#include <linux/slab.h>
+#include <linux/module.h>
+#include <linux/netdevice.h>
+#include <linux/etherdevice.h>
+#include <linux/ethtool.h>
+#include <linux/uaccess.h>
+#include <linux/usb.h>
+#include <linux/workqueue.h>
+
+#define USB_VENDOR_APPLE 0x05ac
+#define USB_PRODUCT_IPHETH 0x1290
+#define USB_PRODUCT_IPHETH_3G 0x1292
+#define USB_PRODUCT_IPHETH_3GS 0x1294
+
+#define IPHETH_USBINTF_CLASS 255
+#define IPHETH_USBINTF_SUBCLASS 253
+
+#define IPHETH_BUF_SIZE 1516
+#define IPHETH_TX_TIMEOUT (5 * HZ)
+
+#define IPHETH_INTFNUM 2
+#define IPHETH_ALT_INTFNUM 1
+
+#define IPHETH_CTRL_ENDP 0x00
+#define IPHETH_CTRL_BUF_SIZE 0x40
+#define IPHETH_CTRL_TIMEOUT (5 * HZ)
+
+#define IPHETH_CMD_GET_MACADDR 0x00
+#define IPHETH_CMD_CARRIER_CHECK 0x45
+
+#define IPHETH_CARRIER_CHECK_TIMEOUT (1 * HZ)
+#define IPHETH_CARRIER_ON 0x04
+
+static struct usb_device_id ipheth_table[] = {
+ { USB_DEVICE(USB_VENDOR_APPLE, USB_PRODUCT_IPHETH) },
+ { USB_DEVICE(USB_VENDOR_APPLE, USB_PRODUCT_IPHETH_3G) },
+ { USB_DEVICE(USB_VENDOR_APPLE, USB_PRODUCT_IPHETH_3GS) },
+ { }
+};
+MODULE_DEVICE_TABLE(usb, ipheth_table);
+
+struct ipheth_device {
+ struct usb_device *udev;
+ struct usb_interface *intf;
+ struct net_device *net;
+ struct net_device_stats stats;
+ struct sk_buff *tx_skb;
+ struct urb *tx_urb;
+ struct urb *rx_urb;
+ unsigned char *tx_buf;
+ unsigned char *rx_buf;
+ unsigned char *ctrl_buf;
+ __u8 bulk_in;
+ __u8 bulk_out;
+ struct delayed_work carrier_work;
+};
+
+static int ipheth_rx_submit(struct ipheth_device *dev, gfp_t mem_flags);
+
+static int ipheth_alloc_urbs(struct ipheth_device *iphone)
+{
+ struct urb *tx_urb = NULL;
+ struct urb *rx_urb = NULL;
+ u8 *tx_buf = NULL;
+ u8 *rx_buf = NULL;
+
+ tx_urb = usb_alloc_urb(0, GFP_KERNEL);
+ if (tx_urb == NULL)
+ goto error;
+
+ rx_urb = usb_alloc_urb(0, GFP_KERNEL);
+ if (rx_urb == NULL)
+ goto error;
+
+ tx_buf = usb_buffer_alloc(iphone->udev,
+ IPHETH_BUF_SIZE,
+ GFP_KERNEL,
+ &tx_urb->transfer_dma);
+ if (tx_buf == NULL)
+ goto error;
+
+ rx_buf = usb_buffer_alloc(iphone->udev,
+ IPHETH_BUF_SIZE,
+ GFP_KERNEL,
+ &rx_urb->transfer_dma);
+ if (rx_buf == NULL)
+ goto error;
+
+
+ iphone->tx_urb = tx_urb;
+ iphone->rx_urb = rx_urb;
+ iphone->tx_buf = tx_buf;
+ iphone->rx_buf = rx_buf;
+ return 0;
+
+error:
+ usb_buffer_free(iphone->udev, IPHETH_BUF_SIZE, rx_buf,
+ rx_urb->transfer_dma);
+ usb_buffer_free(iphone->udev, IPHETH_BUF_SIZE, tx_buf,
+ tx_urb->transfer_dma);
+ usb_free_urb(rx_urb);
+ usb_free_urb(tx_urb);
+ return -ENOMEM;
+}
+
+static void ipheth_free_urbs(struct ipheth_device *iphone)
+{
+ usb_buffer_free(iphone->udev, IPHETH_BUF_SIZE, iphone->rx_buf,
+ iphone->rx_urb->transfer_dma);
+ usb_buffer_free(iphone->udev, IPHETH_BUF_SIZE, iphone->tx_buf,
+ iphone->tx_urb->transfer_dma);
+ usb_free_urb(iphone->rx_urb);
+ usb_free_urb(iphone->tx_urb);
+}
+
+static void ipheth_unlink_urbs(struct ipheth_device *dev)
+{
+ usb_kill_urb(dev->tx_urb);
+ usb_kill_urb(dev->rx_urb);
+}
+
+static void ipheth_rcvbulk_callback(struct urb *urb)
+{
+ struct ipheth_device *dev;
+ struct sk_buff *skb;
+ int status;
+ char *buf;
+ int len;
+
+ dev = urb->context;
+ if (dev == NULL)
+ return;
+
+ status = urb->status;
+ switch (status) {
+ case -ENOENT:
+ case -ECONNRESET:
+ case -ESHUTDOWN:
+ return;
+ case 0:
+ break;
+ default:
+ err("%s: urb status: %d", __func__, urb->status);
+ return;
+ }
+
+ len = urb->actual_length;
+ buf = urb->transfer_buffer;
+
+ skb = dev_alloc_skb(NET_IP_ALIGN + len);
+ if (!skb) {
+ err("%s: dev_alloc_skb: -ENOMEM", __func__);
+ dev->stats.rx_dropped++;
+ return;
+ }
+
+ skb_reserve(skb, NET_IP_ALIGN);
+ memcpy(skb_put(skb, len), buf + NET_IP_ALIGN, len - NET_IP_ALIGN);
+ skb->dev = dev->net;
+ skb->protocol = eth_type_trans(skb, dev->net);
+
+ dev->stats.rx_packets++;
+ dev->stats.rx_bytes += len;
+
+ netif_rx(skb);
+ ipheth_rx_submit(dev, GFP_ATOMIC);
+}
+
+static void ipheth_sndbulk_callback(struct urb *urb)
+{
+ struct ipheth_device *dev;
+
+ dev = urb->context;
+ if (dev == NULL)
+ return;
+
+ if (urb->status != 0 &&
+ urb->status != -ENOENT &&
+ urb->status != -ECONNRESET &&
+ urb->status != -ESHUTDOWN)
+ err("%s: urb status: %d", __func__, urb->status);
+
+ netif_wake_queue(dev->net);
+ dev_kfree_skb_irq(dev->tx_skb);
+}
+
+static int ipheth_carrier_set(struct ipheth_device *dev)
+{
+ struct usb_device *udev = dev->udev;
+ int retval;
+
+ retval = usb_control_msg(udev, usb_rcvctrlpipe(udev, IPHETH_CTRL_ENDP),
+ IPHETH_CMD_CARRIER_CHECK, /* request */
+ 0xc0, /* request type */
+ 0x00, /* value */
+ 0x02, /* index */
+ dev->ctrl_buf, IPHETH_CTRL_BUF_SIZE,
+ IPHETH_CTRL_TIMEOUT);
+ if (retval < 0) {
+ err("%s: usb_control_msg: %d", __func__, retval);
+ return retval;
+ }
+
+ if (dev->ctrl_buf[0] == IPHETH_CARRIER_ON)
+ netif_carrier_on(dev->net);
+ else
+ netif_carrier_off(dev->net);
+
+ return 0;
+}
+
+static void ipheth_carrier_check_work(struct work_struct *work)
+{
+ struct ipheth_device *dev = container_of(work, struct ipheth_device,
+ carrier_work.work);
+
+ ipheth_carrier_set(dev);
+ schedule_delayed_work(&dev->carrier_work, IPHETH_CARRIER_CHECK_TIMEOUT);
+}
+
+static int ipheth_get_macaddr(struct ipheth_device *dev)
+{
+ struct usb_device *udev = dev->udev;
+ struct net_device *net = dev->net;
+ int retval;
+
+ retval = usb_control_msg(udev,
+ usb_rcvctrlpipe(udev, IPHETH_CTRL_ENDP),
+ IPHETH_CMD_GET_MACADDR, /* request */
+ 0xc0, /* request type */
+ 0x00, /* value */
+ 0x02, /* index */
+ dev->ctrl_buf,
+ IPHETH_CTRL_BUF_SIZE,
+ IPHETH_CTRL_TIMEOUT);
+ if (retval < 0) {
+ err("%s: usb_control_msg: %d", __func__, retval);
+ } else if (retval < ETH_ALEN) {
+ err("%s: usb_control_msg: short packet: %d bytes",
+ __func__, retval);
+ retval = -EINVAL;
+ } else {
+ memcpy(net->dev_addr, dev->ctrl_buf, ETH_ALEN);
+ retval = 0;
+ }
+
+ return retval;
+}
+
+static int ipheth_rx_submit(struct ipheth_device *dev, gfp_t mem_flags)
+{
+ struct usb_device *udev = dev->udev;
+ int retval;
+
+ usb_fill_bulk_urb(dev->rx_urb, udev,
+ usb_rcvbulkpipe(udev, dev->bulk_in),
+ dev->rx_buf, IPHETH_BUF_SIZE,
+ ipheth_rcvbulk_callback,
+ dev);
+ dev->rx_urb->transfer_flags |= URB_NO_TRANSFER_DMA_MAP;
+
+ retval = usb_submit_urb(dev->rx_urb, mem_flags);
+ if (retval)
+ err("%s: usb_submit_urb: %d", __func__, retval);
+
+ return retval;
+}
+
+static int ipheth_open(struct net_device *net)
+{
+ struct ipheth_device *dev = netdev_priv(net);
+ struct usb_device *udev = dev->udev;
+ int retval = 0;
+
+ usb_set_interface(udev, IPHETH_INTFNUM, IPHETH_ALT_INTFNUM);
+ usb_clear_halt(udev, usb_rcvbulkpipe(udev, dev->bulk_in));
+ usb_clear_halt(udev, usb_sndbulkpipe(udev, dev->bulk_out));
+
+ retval = ipheth_carrier_set(dev);
+ if (retval)
+ goto error;
+
+ retval = ipheth_rx_submit(dev, GFP_KERNEL);
+ if (retval)
+ goto error;
+
+ schedule_delayed_work(&dev->carrier_work, IPHETH_CARRIER_CHECK_TIMEOUT);
+ netif_start_queue(net);
+error:
+ return retval;
+}
+
+static int ipheth_close(struct net_device *net)
+{
+ struct ipheth_device *dev = netdev_priv(net);
+
+ cancel_delayed_work_sync(&dev->carrier_work);
+ netif_stop_queue(net);
+ return 0;
+}
+
+static int ipheth_tx(struct sk_buff *skb, struct net_device *net)
+{
+ struct ipheth_device *dev = netdev_priv(net);
+ struct usb_device *udev = dev->udev;
+ int retval;
+
+ /* Paranoid */
+ if (skb->len > IPHETH_BUF_SIZE) {
+ err("%s: skb too large: %d bytes", __func__, skb->len);
+ dev->stats.tx_dropped++;
+ dev_kfree_skb_irq(skb);
+ goto exit;
+ }
+
+ memset(dev->tx_buf, 0, IPHETH_BUF_SIZE);
+ memcpy(dev->tx_buf, skb->data, skb->len);
+
+ usb_fill_bulk_urb(dev->tx_urb, udev,
+ usb_sndbulkpipe(udev, dev->bulk_out),
+ dev->tx_buf, IPHETH_BUF_SIZE,
+ ipheth_sndbulk_callback,
+ dev);
+ dev->tx_urb->transfer_flags |= URB_NO_TRANSFER_DMA_MAP;
+
+ retval = usb_submit_urb(dev->tx_urb, GFP_ATOMIC);
+ if (retval) {
+ err("%s: usb_submit_urb: %d", __func__, retval);
+ dev->stats.tx_errors++;
+ dev_kfree_skb_irq(skb);
+ } else {
+ net->trans_start = jiffies;
+ dev->tx_skb = skb;
+
+ dev->stats.tx_packets++;
+ dev->stats.tx_bytes += skb->len;
+ netif_stop_queue(net);
+ }
+exit:
+ return NETDEV_TX_OK;
+}
+
+static void ipheth_tx_timeout(struct net_device *net)
+{
+ struct ipheth_device *dev = netdev_priv(net);
+
+ err("%s: TX timeout", __func__);
+ dev->stats.tx_errors++;
+ usb_unlink_urb(dev->tx_urb);
+}
+
+static struct net_device_stats *ipheth_stats(struct net_device *net)
+{
+ struct ipheth_device *dev = netdev_priv(net);
+ return &dev->stats;
+}
+
+static u32 ipheth_ethtool_op_get_link(struct net_device *net)
+{
+ struct ipheth_device *dev = netdev_priv(net);
+ return netif_carrier_ok(dev->net);
+}
+
+static struct ethtool_ops ops = {
+ .get_link = ipheth_ethtool_op_get_link
+};
+
+#ifdef HAVE_NET_DEVICE_OPS
+static const struct net_device_ops ipheth_netdev_ops = {
+ .ndo_open = &ipheth_open,
+ .ndo_stop = &ipheth_close,
+ .ndo_start_xmit = &ipheth_tx,
+ .ndo_tx_timeout = &ipheth_tx_timeout,
+ .ndo_get_stats = &ipheth_stats,
+};
+#endif
+
+static int ipheth_probe(struct usb_interface *intf,
+ const struct usb_device_id *id)
+{
+ struct usb_device *udev = interface_to_usbdev(intf);
+ struct usb_host_interface *hintf;
+ struct usb_endpoint_descriptor *endp;
+ struct ipheth_device *dev;
+ struct net_device *netdev;
+ int i;
+ int retval;
+
+ /* Ensure we are probing the right interface */
+ if (intf->cur_altsetting->desc.bInterfaceClass != IPHETH_USBINTF_CLASS ||
+ intf->cur_altsetting->desc.bInterfaceSubClass != IPHETH_USBINTF_SUBCLASS)
+ return -ENODEV;
+
+ netdev = alloc_etherdev(sizeof(struct ipheth_device));
+ if (!netdev)
+ return -ENOMEM;
+
+#ifdef HAVE_NET_DEVICE_OPS
+ netdev->netdev_ops = &ipheth_netdev_ops;
+#else /* CONFIG_COMPAT_NET_DEV_OPS */
+ netdev->open = &ipheth_open;
+ netdev->stop = &ipheth_close;
+ netdev->hard_start_xmit = &ipheth_tx;
+ netdev->tx_timeout = &ipheth_tx_timeout;
+ netdev->get_stats = &ipheth_stats;
+#endif
+ netdev->watchdog_timeo = IPHETH_TX_TIMEOUT;
+
+ dev = netdev_priv(netdev);
+ dev->udev = udev;
+ dev->net = netdev;
+ dev->intf = intf;
+
+ /* Set up endpoints */
+ hintf = usb_altnum_to_altsetting(intf, IPHETH_ALT_INTFNUM);
+ if (hintf == NULL) {
+ retval = -ENODEV;
+ err("Unable to find alternate settings interface");
+ goto err_endpoints;
+ }
+
+ for (i = 0; i < hintf->desc.bNumEndpoints; i++) {
+ endp = &hintf->endpoint[i].desc;
+ if (usb_endpoint_is_bulk_in(endp))
+ dev->bulk_in = endp->bEndpointAddress;
+ else if (usb_endpoint_is_bulk_out(endp))
+ dev->bulk_out = endp->bEndpointAddress;
+ }
+ if (!(dev->bulk_in && dev->bulk_out)) {
+ retval = -ENODEV;
+ err("Unable to find endpoints");
+ goto err_endpoints;
+ }
+
+ dev->ctrl_buf = kmalloc(IPHETH_CTRL_BUF_SIZE, GFP_KERNEL);
+ if (dev->ctrl_buf == NULL) {
+ retval = -ENOMEM;
+ goto err_alloc_ctrl_buf;
+ }
+
+ retval = ipheth_get_macaddr(dev);
+ if (retval)
+ goto err_get_macaddr;
+
+ INIT_DELAYED_WORK(&dev->carrier_work, ipheth_carrier_check_work);
+
+ retval = ipheth_alloc_urbs(dev);
+ if (retval) {
+ err("error allocating urbs: %d", retval);
+ goto err_alloc_urbs;
+ }
+
+ usb_set_intfdata(intf, dev);
+
+ SET_NETDEV_DEV(netdev, &intf->dev);
+ SET_ETHTOOL_OPS(netdev, &ops);
+
+ retval = register_netdev(netdev);
+ if (retval) {
+ err("error registering netdev: %d", retval);
+ retval = -EIO;
+ goto err_register_netdev;
+ }
+
+ dev_info(&intf->dev, "Apple iPhone USB Ethernet device attached\n");
+ return 0;
+
+err_register_netdev:
+ ipheth_free_urbs(dev);
+err_alloc_urbs:
+err_get_macaddr:
+err_alloc_ctrl_buf:
+ kfree(dev->ctrl_buf);
+err_endpoints:
+ free_netdev(netdev);
+ return retval;
+}
+
+static void ipheth_disconnect(struct usb_interface *intf)
+{
+ struct ipheth_device *dev;
+
+ dev = usb_get_intfdata(intf);
+ if (dev != NULL) {
+ unregister_netdev(dev->net);
+ ipheth_unlink_urbs(dev);
+ ipheth_free_urbs(dev);
+ kfree(dev->ctrl_buf);
+ free_netdev(dev->net);
+ }
+ usb_set_intfdata(intf, NULL);
+ dev_info(&intf->dev, "Apple iPhone USB Ethernet now disconnected\n");
+}
+
+static struct usb_driver ipheth_driver = {
+ .name = "ipheth",
+ .probe = ipheth_probe,
+ .disconnect = ipheth_disconnect,
+ .id_table = ipheth_table,
+ .supports_autosuspend = 0,
+};
+
+static int __init ipheth_init(void)
+{
+ int retval;
+
+ retval = usb_register(&ipheth_driver);
+ if (retval) {
+ err("usb_register failed: %d", retval);
+ return retval;
+ }
+ return 0;
+}
+
+static void __exit ipheth_exit(void)
+{
+ usb_deregister(&ipheth_driver);
+}
+
+module_init(ipheth_init);
+module_exit(ipheth_exit);
+
+MODULE_AUTHOR("Diego Giagio <diego@giagio.com>");
+MODULE_DESCRIPTION("Apple iPhone USB Ethernet driver");
+MODULE_LICENSE("Dual BSD/GPL");
--
1.7.0
^ permalink raw reply related
* Re: [PATCH 5/6] cxgb4: Add main driver file and driver Makefile
From: Steve Wise @ 2010-03-31 19:31 UTC (permalink / raw)
To: David Miller; +Cc: shemminger, dm, netdev
In-Reply-To: <20100330.225042.107712654.davem@davemloft.net>
David Miller wrote:
> From: Stephen Hemminger <shemminger@vyatta.com>
> Date: Tue, 30 Mar 2010 14:19:04 -0700
>
>
>> On Tue, 30 Mar 2010 10:52:21 -0800
>> Dimitris Michailidis <dm@chelsio.com> wrote:
>>
>>
>>> +static struct cxgb4_proc_entry proc_files[] = {
>>> +#ifdef CONFIG_PROC_FS
>>> + { "l2t", 0444, ADAP_NEED_L2T, 0, &t4_l2t_proc_fops },
>>> +#endif
>>> + { "lb_stats", 0444, 0, 0, &lb_stats_proc_fops },
>>> + { "path_mtus", 0644, 0, 0, &mtutab_proc_fops },
>>> + { "qstats", 0444, 0, 0, &sge_stats_proc_fops },
>>> + { "rss", 0444, 0, 0, &rss_proc_fops },
>>> + { "tcp_stats", 0444, 0, 0, &tcp_stats_proc_fops },
>>> + { "tids", 0444, ADAP_NEED_OFLD, 0, &tid_info_proc_fops },
>>> + { "tp_err_stats", 0444, 0, 0, &tp_err_stats_proc_fops },
>>> + { "trace0", 0644, 0, 0, &mps_trc_proc_fops },
>>> + { "trace1", 0644, 0, 1, &mps_trc_proc_fops },
>>> + { "trace2", 0644, 0, 2, &mps_trc_proc_fops },
>>> + { "trace3", 0644, 0, 3, &mps_trc_proc_fops },
>>> + { "uld", 0444, 0, 0, &uld_proc_fops },
>>> +};
>>> +
>>>
>> Do you really need this large number of /proc files.
>> It creates another stable API to worry about. If it is just for
>> debugging move it to debugfs, or better yet just drop it.
>>
>
> I also find this a bit too much.
>
> We have all kinds of ways to export whatever statistics you
> want. In particular we have ethtool stats of which you
> can have as many as you wish.
>
> If necessary, we could add a feature to define "views" of ethtool
> stats so that we can have domains of driver specific statistics if the
> problem is that you don't want all of these debugging stats to clutter
> up the "main" ethtool stats.
>
>
This sounds interesting. Dave, how would you envision the ethtool
interface for this? A new modifier to --statistics? Like: 'ethtool
--statistics ethX viewname' where viewname could maybe be passed to the
driver to allow arbitrary views? Or something else?
Steve.
^ permalink raw reply
* Re: eth1: Detected Hardware Unit Hang
From: Paweł Staszewski @ 2010-03-31 19:16 UTC (permalink / raw)
To: Tantilov, Emil S
Cc: e1000-devel@lists.sourceforge.net, Linux Network Development list,
Allan, Bruce W
In-Reply-To: <EA929A9653AAE14F841771FB1DE5A1365FE4CC716B@rrsmsx501.amr.corp.intel.com>
[-- Attachment #1: Type: text/plain, Size: 3310 bytes --]
W dniu 2010-03-31 20:03, Tantilov, Emil S pisze:
> Pawel Staszewski wrote:
>
>> Hello
>>
>> I reproduce this problem on other machine with the same hardware and
>> here is dmesg output: (kernel 2.6.33)
>>
>> Mar 27 18:19:16 TM_01_C1 [1817894.769395] 0000:04:00.0: eth0: Detected
>> Hardware Unit Hang:
>> Mar 27 18:19:16 TM_01_C1 [1817894.769396] TDH<2e>
>> Mar 27 18:19:16 TM_01_C1 [1817894.769397] TDT<1a>
>> Mar 27 18:19:16 TM_01_C1 [1817894.769397] next_to_use<1a>
>> Mar 27 18:19:16 TM_01_C1 [1817894.769398] next_to_clean<2d>
>> Mar 27 18:19:16 TM_01_C1 [1817894.769398] buffer_info[next_to_clean]:
>> Mar 27 18:19:16 TM_01_C1 [1817894.769399] time_stamp<11b1591e9>
>> Mar 27 18:19:16 TM_01_C1 [1817894.769399] next_to_watch<2f>
>> Mar 27 18:19:16 TM_01_C1 [1817894.769400] jiffies<11b1592e4>
>> Mar 27 18:19:16 TM_01_C1 [1817894.769401] next_to_watch.status<0>
>> Mar 27 18:19:16 TM_01_C1 [1817894.769401] MAC Status<80080783>
>> Mar 27 18:19:16 TM_01_C1 [1817894.769402] PHY Status<796d>
>> Mar 27 18:19:16 TM_01_C1 [1817894.769402] PHY 1000BASE-T Status<3800>
>> Mar 27 18:19:16 TM_01_C1 [1817894.769403] PHY Extended Status<3000>
>> Mar 27 18:19:16 TM_01_C1 [1817894.769404] PCI Status<10>
>> Mar 27 18:19:18 TM_01_C1 [1817896.773365] 0000:04:00.0: eth0: Detected
>> Hardware Unit Hang:
>> Mar 27 18:19:18 TM_01_C1 [1817896.773367] TDH<2e>
>> Mar 27 18:19:18 TM_01_C1 [1817896.773368] TDT<1a>
>> Mar 27 18:19:18 TM_01_C1 [1817896.773368] next_to_use<1a>
>> Mar 27 18:19:18 TM_01_C1 [1817896.773369] next_to_clean<2d>
>> Mar 27 18:19:18 TM_01_C1 [1817896.773369] buffer_info[next_to_clean]:
>> Mar 27 18:19:18 TM_01_C1 [1817896.773370] time_stamp<11b1591e9>
>> Mar 27 18:19:18 TM_01_C1 [1817896.773370] next_to_watch<2f>
>> Mar 27 18:19:18 TM_01_C1 [1817896.773371] jiffies<11b1594d8>
>> Mar 27 18:19:18 TM_01_C1 [1817896.773372] next_to_watch.status<0>
>> Mar 27 18:19:18 TM_01_C1 [1817896.773372] MAC Status<80080783>
>> Mar 27 18:19:18 TM_01_C1 [1817896.773373] PHY Status<796d>
>> Mar 27 18:19:18 TM_01_C1 [1817896.773373] PHY 1000BASE-T Status<3800>
>> Mar 27 18:19:18 TM_01_C1 [1817896.773374] PHY Extended Status<3000>
>> Mar 27 18:19:18 TM_01_C1 [1817896.773375] PCI Status<10>
>> Mar 27 18:19:20 TM_01_C1 [1817898.769353] 0000:04:00.0: eth0: Detected
>>
> <snip>
>
> I have a similar (not the same model) system in the lab with 82573E/L on board, but was not able to reproduce the Tx hangs you reported. So at this point we need to start looking into more details. Could you please file a bug at e1000.sf.net? Include the information you provided so far and also:
> 1. output from ethtoool -e
> 2. ethtool -d
> 3. cat /proc/interrupts
> 4. full dmesg output from boot to the point where Tx hangs occurred.
> 5. kernel config file
>
> Looking at the description of your system (Supermicro X7DCT) I see this board has IPMI option. Do you have IPMI in your system?
>
>
Aditional informations are in attached files.
Yes there is IPMI option but i don't have it.
And yes i will make a bugreport at e1000.sf.net.
Thanks
Pawel
> Thanks,
> Emil--
> To unsubscribe from this list: send the line "unsubscribe netdev" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>
>
>
[-- Attachment #2: dmesg.txt --]
[-- Type: text/plain, Size: 33485 bytes --]
Linux version 2.6.33.1 (root@GWR_01) (gcc version 4.1.2 (Gentoo 4.1.2 p1.3)) #2 SMP Thu Mar 25 20:52:35 UTC 2010
BIOS-provided physical RAM map:
BIOS-e820: 0000000000000000 - 000000000009dc00 (usable)
BIOS-e820: 000000000009dc00 - 00000000000a0000 (reserved)
BIOS-e820: 00000000000e4000 - 0000000000100000 (reserved)
BIOS-e820: 0000000000100000 - 00000000dff5f000 (usable)
BIOS-e820: 00000000dff5f000 - 00000000dff80000 (ACPI NVS)
BIOS-e820: 00000000dff80000 - 00000000f0000000 (reserved)
BIOS-e820: 00000000fec00000 - 00000000fec10000 (reserved)
BIOS-e820: 00000000fee00000 - 00000000fee01000 (reserved)
BIOS-e820: 00000000ff000000 - 0000000100000000 (reserved)
BIOS-e820: 0000000100000000 - 0000000320000000 (usable)
NX (Execute Disable) protection: active
DMI present.
Phoenix BIOS detected: BIOS may corrupt low RAM, working around it.
e820 update range: 0000000000000000 - 0000000000010000 (usable) ==> (reserved)
last_pfn = 0x320000 max_arch_pfn = 0x1000000
MTRR default type: uncachable
MTRR fixed ranges enabled:
00000-9FFFF write-back
A0000-BFFFF uncachable
C0000-CFFFF write-protect
D0000-E3FFF uncachable
E4000-FFFFF write-protect
MTRR variable ranges enabled:
0 base 00E0000000 mask 3FE0000000 uncachable
1 base 0000000000 mask 3E00000000 write-back
2 base 0200000000 mask 3F00000000 write-back
3 base 0300000000 mask 3FE0000000 write-back
4 disabled
5 disabled
6 disabled
x86 PAT enabled: cpu 0, old 0x7040600070406, new 0x7010600070106
e820 update range: 00000000e0000000 - 0000000100000000 (usable) ==> (reserved)
initial memory mapped : 0 - 01a00000
found SMP MP-table at [c00f6040] f6040
init_memory_mapping: 0000000000000000-00000000379fe000
0000000000 - 0000200000 page 4k
0000200000 - 0037800000 page 2M
0037800000 - 00379fe000 page 4k
kernel direct mapping tables up to 379fe000 @ 11000-17000
ACPI Error: A valid RSDP was not found (20091214/tbxfroot-219)
11910MB HIGHMEM available.
889MB LOWMEM available.
mapped low ram: 0 - 379fe000
low ram: 0 - 379fe000
node 0 low ram: 00000000 - 379fe000
node 0 bootmap 00013000 - 00019f40
(12 early reservations) ==> bootmem [0000000000 - 00379fe000]
#0 [0000000000 - 0000001000] BIOS data page ==> [0000000000 - 0000001000]
#1 [0000001000 - 0000002000] EX TRAMPOLINE ==> [0000001000 - 0000002000]
#2 [0001000000 - 0001533060] TEXT DATA BSS ==> [0001000000 - 0001533060]
#3 [0001534000 - 0001541178] BRK ==> [0001534000 - 0001541178]
#4 [00000f6050 - 0000100000] BIOS reserved ==> [00000f6050 - 0000100000]
#5 [00000f6040 - 00000f6050] MP-table mpf ==> [00000f6040 - 00000f6050]
#6 [000009dc00 - 000009e071] BIOS reserved ==> [000009dc00 - 000009e071]
#7 [000009e25d - 00000f6040] BIOS reserved ==> [000009e25d - 00000f6040]
#8 [000009e071 - 000009e25d] MP-table mpc ==> [000009e071 - 000009e25d]
#9 [0000010000 - 0000011000] TRAMPOLINE ==> [0000010000 - 0000011000]
#10 [0000011000 - 0000013000] PGTABLE ==> [0000011000 - 0000013000]
#11 [0000013000 - 000001a000] BOOTMAP ==> [0000013000 - 000001a000]
Zone PFN ranges:
DMA 0x00000010 -> 0x00001000
Normal 0x00001000 -> 0x000379fe
HighMem 0x000379fe -> 0x00320000
Movable zone start PFN for each node
early_node_map[3] active PFN ranges
0: 0x00000010 -> 0x0000009d
0: 0x00000100 -> 0x000dff5f
0: 0x00100000 -> 0x00320000
On node 0 totalpages: 3145452
free_area_init_node: node 0, pgdat c1454500, node_mem_map c1543200
DMA zone: 32 pages used for memmap
DMA zone: 0 pages reserved
DMA zone: 3949 pages, LIFO batch:0
Normal zone: 1748 pages used for memmap
Normal zone: 221994 pages, LIFO batch:31
HighMem zone: 23821 pages used for memmap
HighMem zone: 2893908 pages, LIFO batch:31
Using APIC driver default
Intel MultiProcessor Specification v1.4
Virtual Wire compatibility mode.
MPTABLE: OEM ID: INTEL
MPTABLE: Product ID: SAN CLEMENTE
MPTABLE: APIC at: 0xFEE00000
Processor #0 (Bootup-CPU)
Processor #4
Processor #1
Processor #5
Processor #2
Processor #6
Processor #3
Processor #7
I/O APIC #8 Version 32 at 0xFEC00000.
Processors: 8
SMP: Allowing 8 CPUs, 0 hotplug CPUs
nr_irqs_gsi: 24
Allocating PCI resources starting at f0000000 (gap: f0000000:ec00000)
setup_percpu: NR_CPUS:8 nr_cpumask_bits:8 nr_cpu_ids:8 nr_node_ids:1
PERCPU: Embedded 12 pages/cpu @c7a00000 s28120 r0 d21032 u262144
pcpu-alloc: s28120 r0 d21032 u262144 alloc=1*2097152
pcpu-alloc: [0] 0 1 2 3 4 5 6 7
Built 1 zonelists in Zone order, mobility grouping on. Total pages: 3119851
Kernel command line: root=/dev/md2
PID hash table entries: 4096 (order: 2, 16384 bytes)
Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
Enabling fast FPU save and restore... done.
Enabling unmasked SIMD FPU exception support... done.
Initializing CPU#0
Initializing HighMem for node 0 (000379fe:00320000)
Memory: 12471320k/13107200k available (2843k kernel code, 109108k reserved, 1619k data, 368k init, 11670916k highmem)
virtual kernel memory layout:
fixmap : 0xfff1f000 - 0xfffff000 ( 896 kB)
pkmap : 0xffa00000 - 0xffc00000 (2048 kB)
vmalloc : 0xf81fe000 - 0xff9fe000 ( 120 MB)
lowmem : 0xc0000000 - 0xf79fe000 ( 889 MB)
.init : 0xc145c000 - 0xc14b8000 ( 368 kB)
.data : 0xc12c6cca - 0xc145b9a0 (1619 kB)
.text : 0xc1000000 - 0xc12c6cca (2843 kB)
Checking if this processor honours the WP bit even in supervisor mode...Ok.
Hierarchical RCU implementation.
NR_IRQS:512
Console: colour VGA+ 80x25
console [tty0] enabled
Fast TSC calibration using PIT
Detected 3000.476 MHz processor.
Calibrating delay loop (skipped), value calculated using timer frequency.. 6000.95 BogoMIPS (lpj=12001904)
Mount-cache hash table entries: 512
CPU: Physical Processor ID: 0
CPU: Processor Core ID: 0
using mwait in idle threads.
Performance Events: Core2 events, Intel PMU driver.
... version: 2
... bit width: 40
... generic registers: 2
... value mask: 000000ffffffffff
... max period: 000000007fffffff
... fixed-purpose events: 3
... event mask: 0000000700000003
Checking 'hlt' instruction... OK.
Freeing SMP alternatives: 14k freed
Enabling APIC mode: Flat. Using 1 I/O APICs
ExtINT not setup in hardware but reported by MP table
..TIMER: vector=0x30 apic1=0 pin1=2 apic2=0 pin2=0
CPU0: Intel(R) Xeon(R) CPU X5450 @ 3.00GHz stepping 06
Booting Node 0, Processors #1
Initializing CPU#1
#2
Initializing CPU#2
#3
Initializing CPU#3
#4
Initializing CPU#4
#5
Initializing CPU#5
#6
Initializing CPU#6
#7 Ok.
Initializing CPU#7
Brought up 8 CPUs
Total of 8 processors activated (48004.17 BogoMIPS).
NET: Registered protocol family 16
dca service started, version 1.12.1
PCI: PCI BIOS revision 3.00 entry at 0xfddcf, last bus=6
PCI: Using configuration type 1 for base access
bio: create slab <bio-0> at 0
ACPI: Interpreter disabled.
vgaarb: loaded
SCSI subsystem initialized
libata version 3.00 loaded.
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
PCI: Probing PCI hardware
PCI: Probing PCI hardware (bus 00)
pci 0000:00:00.0: PME# supported from D0 D3hot D3cold
pci 0000:00:00.0: PME# disabled
pci 0000:00:02.0: PME# supported from D0 D3hot D3cold
pci 0000:00:02.0: PME# disabled
pci 0000:00:04.0: PME# supported from D0 D3hot D3cold
pci 0000:00:04.0: PME# disabled
pci 0000:00:08.0: reg 10: [mem 0xfe700000-0xfe7003ff 64bit]
pci 0000:00:08.0: PME# supported from D0 D3hot D3cold
pci 0000:00:08.0: PME# disabled
pci 0000:00:1a.0: reg 20: [io 0x1820-0x183f]
pci 0000:00:1a.7: reg 10: [mem 0xf8600000-0xf86003ff]
pci 0000:00:1a.7: PME# supported from D0 D3hot D3cold
pci 0000:00:1a.7: PME# disabled
pci 0000:00:1c.0: PME# supported from D0 D3hot D3cold
pci 0000:00:1c.0: PME# disabled
pci 0000:00:1c.4: PME# supported from D0 D3hot D3cold
pci 0000:00:1c.4: PME# disabled
pci 0000:00:1c.5: PME# supported from D0 D3hot D3cold
pci 0000:00:1c.5: PME# disabled
pci 0000:00:1d.0: reg 20: [io 0x1840-0x185f]
pci 0000:00:1d.1: reg 20: [io 0x1860-0x187f]
pci 0000:00:1d.2: reg 20: [io 0x1880-0x189f]
pci 0000:00:1d.7: reg 10: [mem 0xf8600400-0xf86007ff]
pci 0000:00:1d.7: PME# supported from D0 D3hot D3cold
pci 0000:00:1d.7: PME# disabled
pci 0000:00:1f.0: Force enabled HPET at 0xfed00000
pci 0000:00:1f.0: quirk: [io 0x1000-0x107f] claimed by ICH6 ACPI/GPIO/TCO
pci 0000:00:1f.0: quirk: [io 0x1180-0x11bf] claimed by ICH6 GPIO
pci 0000:00:1f.0: ICH7 LPC Generic IO decode 2 PIO at 0ca0 (mask 000f)
pci 0000:00:1f.2: reg 10: [io 0x0000-0x0007]
pci 0000:00:1f.2: reg 14: [io 0x0000-0x0003]
pci 0000:00:1f.2: reg 18: [io 0x0000-0x0007]
pci 0000:00:1f.2: reg 1c: [io 0x0000-0x0003]
pci 0000:00:1f.2: reg 20: [io 0x18d0-0x18df]
pci 0000:00:1f.2: reg 24: [io 0x18c0-0x18cf]
pci 0000:00:1f.3: reg 10: [mem 0xf8600800-0xf86008ff 64bit]
pci 0000:00:1f.3: reg 20: [io 0x1100-0x111f]
pci 0000:00:1f.5: reg 10: [io 0x1c28-0x1c2f]
pci 0000:00:1f.5: reg 14: [io 0x1c1c-0x1c1f]
pci 0000:00:1f.5: reg 18: [io 0x1c20-0x1c27]
pci 0000:00:1f.5: reg 1c: [io 0x1c18-0x1c1b]
pci 0000:00:1f.5: reg 20: [io 0x18f0-0x18ff]
pci 0000:00:1f.5: reg 24: [io 0x18e0-0x18ef]
pci 0000:01:00.0: reg 10: [mem 0xf8040000-0xf805ffff]
pci 0000:01:00.0: reg 14: [mem 0xf8000000-0xf803ffff]
pci 0000:01:00.0: reg 18: [io 0x2000-0x201f]
pci 0000:01:00.0: reg 1c: [mem 0xf8060000-0xf8063fff]
pci 0000:01:00.0: PME# supported from D0 D3hot
pci 0000:01:00.0: PME# disabled
pci 0000:00:02.0: PCI bridge to [bus 01-01]
pci 0000:00:02.0: bridge window [io 0x2000-0x2fff]
pci 0000:00:02.0: bridge window [mem 0xf8000000-0xf80fffff]
pci 0000:00:04.0: PCI bridge to [bus 02-02]
pci 0000:00:1c.0: PCI bridge to [bus 03-03]
pci 0000:04:00.0: reg 10: [mem 0xf8100000-0xf811ffff]
pci 0000:04:00.0: reg 18: [io 0x3000-0x301f]
pci 0000:04:00.0: PME# supported from D0 D3hot D3cold
pci 0000:04:00.0: PME# disabled
pci 0000:04:00.0: disabling ASPM on pre-1.1 PCIe device. You can enable it with 'pcie_aspm=force'
pci 0000:00:1c.4: PCI bridge to [bus 04-04]
pci 0000:00:1c.4: bridge window [io 0x3000-0x3fff]
pci 0000:00:1c.4: bridge window [mem 0xf8100000-0xf81fffff]
pci 0000:05:00.0: reg 10: [mem 0xf8200000-0xf821ffff]
pci 0000:05:00.0: reg 18: [io 0x4000-0x401f]
pci 0000:05:00.0: PME# supported from D0 D3hot D3cold
pci 0000:05:00.0: PME# disabled
pci 0000:05:00.0: disabling ASPM on pre-1.1 PCIe device. You can enable it with 'pcie_aspm=force'
pci 0000:00:1c.5: PCI bridge to [bus 05-05]
pci 0000:00:1c.5: bridge window [io 0x4000-0x4fff]
pci 0000:00:1c.5: bridge window [mem 0xf8200000-0xf82fffff]
pci 0000:06:01.0: reg 10: [mem 0xf0000000-0xf7ffffff pref]
pci 0000:06:01.0: reg 14: [io 0x5000-0x50ff]
pci 0000:06:01.0: reg 18: [mem 0xf8300000-0xf830ffff]
pci 0000:06:01.0: reg 30: [mem 0x00000000-0x0001ffff pref]
pci 0000:06:01.0: supports D1 D2
pci 0000:00:1e.0: PCI bridge to [bus 06-06] (subtractive decode)
pci 0000:00:1e.0: bridge window [io 0x5000-0x5fff]
pci 0000:00:1e.0: bridge window [mem 0xf8300000-0xf83fffff]
pci 0000:00:1e.0: bridge window [mem 0xf0000000-0xf7ffffff 64bit pref]
vgaarb: device added: PCI:0000:06:01.0,decodes=io+mem,owns=io+mem,locks=none
pci 0000:00:1f.0: PIIX/ICH IRQ router [8086:2916]
PCI: pci_cache_line_size set to 64 bytes
hpet clockevent registered
HPET: 4 timers in total, 0 timers will be used for per-cpu timer
Switching to clocksource tsc
pnp: PnP ACPI: disabled
pci 0000:00:04.0: BAR 14: assigned [mem 0xf8400000-0xf85fffff]
pci 0000:00:04.0: BAR 15: assigned [mem 0xf8700000-0xf88fffff 64bit pref]
pci 0000:00:1c.0: BAR 14: assigned [mem 0xf8900000-0xf8afffff]
pci 0000:00:1c.0: BAR 15: assigned [mem 0xf8b00000-0xf8cfffff 64bit pref]
pci 0000:00:1c.4: BAR 15: assigned [mem 0xf8d00000-0xf8efffff 64bit pref]
pci 0000:00:1c.5: BAR 15: assigned [mem 0xf8f00000-0xf90fffff 64bit pref]
pci 0000:00:04.0: BAR 13: assigned [io 0x6000-0x6fff]
pci 0000:00:1c.0: BAR 13: assigned [io 0x7000-0x7fff]
pci 0000:00:02.0: PCI bridge to [bus 01-01]
pci 0000:00:02.0: bridge window [io 0x2000-0x2fff]
pci 0000:00:02.0: bridge window [mem 0xf8000000-0xf80fffff]
pci 0000:00:02.0: bridge window [mem pref disabled]
pci 0000:00:04.0: PCI bridge to [bus 02-02]
pci 0000:00:04.0: bridge window [io 0x6000-0x6fff]
pci 0000:00:04.0: bridge window [mem 0xf8400000-0xf85fffff]
pci 0000:00:04.0: bridge window [mem 0xf8700000-0xf88fffff 64bit pref]
pci 0000:00:1c.0: PCI bridge to [bus 03-03]
pci 0000:00:1c.0: bridge window [io 0x7000-0x7fff]
pci 0000:00:1c.0: bridge window [mem 0xf8900000-0xf8afffff]
pci 0000:00:1c.0: bridge window [mem 0xf8b00000-0xf8cfffff 64bit pref]
pci 0000:00:1c.4: PCI bridge to [bus 04-04]
pci 0000:00:1c.4: bridge window [io 0x3000-0x3fff]
pci 0000:00:1c.4: bridge window [mem 0xf8100000-0xf81fffff]
pci 0000:00:1c.4: bridge window [mem 0xf8d00000-0xf8efffff 64bit pref]
pci 0000:00:1c.5: PCI bridge to [bus 05-05]
pci 0000:00:1c.5: bridge window [io 0x4000-0x4fff]
pci 0000:00:1c.5: bridge window [mem 0xf8200000-0xf82fffff]
pci 0000:00:1c.5: bridge window [mem 0xf8f00000-0xf90fffff 64bit pref]
pci 0000:06:01.0: BAR 6: assigned [mem 0xf8320000-0xf833ffff pref]
pci 0000:00:1e.0: PCI bridge to [bus 06-06]
pci 0000:00:1e.0: bridge window [io 0x5000-0x5fff]
pci 0000:00:1e.0: bridge window [mem 0xf8300000-0xf83fffff]
pci 0000:00:1e.0: bridge window [mem 0xf0000000-0xf7ffffff 64bit pref]
pci 0000:00:02.0: setting latency timer to 64
pci 0000:00:04.0: setting latency timer to 64
pci 0000:00:1c.0: PCI->APIC IRQ transform: INT A -> IRQ 16
pci 0000:00:1c.0: setting latency timer to 64
pci 0000:00:1c.4: PCI->APIC IRQ transform: INT A -> IRQ 16
pci 0000:00:1c.4: setting latency timer to 64
pci 0000:00:1c.5: PCI->APIC IRQ transform: INT B -> IRQ 16
pci 0000:00:1c.5: setting latency timer to 64
pci 0000:00:1e.0: setting latency timer to 64
pci_bus 0000:00: resource 0 [io 0x0000-0xffff]
pci_bus 0000:00: resource 1 [mem 0x00000000-0xffffffffffffffff]
pci_bus 0000:01: resource 0 [io 0x2000-0x2fff]
pci_bus 0000:01: resource 1 [mem 0xf8000000-0xf80fffff]
pci_bus 0000:02: resource 0 [io 0x6000-0x6fff]
pci_bus 0000:02: resource 1 [mem 0xf8400000-0xf85fffff]
pci_bus 0000:02: resource 2 [mem 0xf8700000-0xf88fffff 64bit pref]
pci_bus 0000:03: resource 0 [io 0x7000-0x7fff]
pci_bus 0000:03: resource 1 [mem 0xf8900000-0xf8afffff]
pci_bus 0000:03: resource 2 [mem 0xf8b00000-0xf8cfffff 64bit pref]
pci_bus 0000:04: resource 0 [io 0x3000-0x3fff]
pci_bus 0000:04: resource 1 [mem 0xf8100000-0xf81fffff]
pci_bus 0000:04: resource 2 [mem 0xf8d00000-0xf8efffff 64bit pref]
pci_bus 0000:05: resource 0 [io 0x4000-0x4fff]
pci_bus 0000:05: resource 1 [mem 0xf8200000-0xf82fffff]
pci_bus 0000:05: resource 2 [mem 0xf8f00000-0xf90fffff 64bit pref]
pci_bus 0000:06: resource 0 [io 0x5000-0x5fff]
pci_bus 0000:06: resource 1 [mem 0xf8300000-0xf83fffff]
pci_bus 0000:06: resource 2 [mem 0xf0000000-0xf7ffffff 64bit pref]
pci_bus 0000:06: resource 3 [io 0x0000-0xffff]
pci_bus 0000:06: resource 4 [mem 0x00000000-0xffffffffffffffff]
NET: Registered protocol family 2
IP route cache hash table entries: 32768 (order: 5, 131072 bytes)
TCP established hash table entries: 131072 (order: 8, 1048576 bytes)
TCP bind hash table entries: 65536 (order: 8, 1310720 bytes)
TCP: Hash tables configured (established 131072 bind 65536)
TCP reno registered
UDP hash table entries: 512 (order: 2, 24576 bytes)
UDP-Lite hash table entries: 512 (order: 2, 24576 bytes)
NET: Registered protocol family 1
pci 0000:01:00.0: Disabling L0s
pci 0000:06:01.0: Boot video device
PCI: CLS 32 bytes, default 64
platform rtc_cmos: registered platform RTC device (no PNP device found)
highmem bounce pool size: 64 pages
HugeTLB registered 2 MB page size, pre-allocated 0 pages
msgmni has been set to 1566
alg: No test for stdrng (krng)
io scheduler noop registered
io scheduler deadline registered (default)
io scheduler cfq registered
pcieport 0000:00:02.0: setting latency timer to 64
pcieport 0000:00:02.0: irq 24 for MSI/MSI-X
pcieport 0000:00:04.0: setting latency timer to 64
pcieport 0000:00:04.0: irq 25 for MSI/MSI-X
pcieport 0000:00:1c.0: setting latency timer to 64
pcieport 0000:00:1c.0: irq 26 for MSI/MSI-X
pcieport 0000:00:1c.4: setting latency timer to 64
pcieport 0000:00:1c.4: irq 27 for MSI/MSI-X
pcieport 0000:00:1c.5: setting latency timer to 64
pcieport 0000:00:1c.5: irq 28 for MSI/MSI-X
Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled
floppy0: no floppy controllers found
brd: module loaded
loop: module loaded
Uniform Multi-Platform E-IDE driver
ide_generic: please use "probe_mask=0x3f" module parameter for probing all legacy ISA IDE ports
ide-gd driver 1.18
ide-cd driver 5.00
ata_piix 0000:00:1f.2: version 2.13
ata_piix 0000:00:1f.2: PCI->APIC IRQ transform: INT B -> IRQ 17
ata_piix 0000:00:1f.2: MAP [ P0 P2 P1 P3 ]
ata_piix 0000:00:1f.2: setting latency timer to 64
scsi0 : ata_piix
scsi1 : ata_piix
ata1: SATA max UDMA/133 cmd 0x1f0 ctl 0x3f6 bmdma 0x18d0 irq 14
ata2: SATA max UDMA/133 cmd 0x170 ctl 0x376 bmdma 0x18d8 irq 15
ata_piix 0000:00:1f.5: PCI->APIC IRQ transform: INT C -> IRQ 18
ata_piix 0000:00:1f.5: MAP [ P0 -- P1 -- ]
ata_piix 0000:00:1f.5: SCR access via SIDPR is available but doesn't work
ata_piix 0000:00:1f.5: setting latency timer to 64
scsi2 : ata_piix
scsi3 : ata_piix
ata3: SATA max UDMA/133 cmd 0x1c28 ctl 0x1c1c bmdma 0x18f0 irq 18
ata4: SATA max UDMA/133 cmd 0x1c20 ctl 0x1c18 bmdma 0x18f8 irq 18
e1000e: Intel(R) PRO/1000 Network Driver - 1.0.2-k2
e1000e: Copyright (c) 1999 - 2009 Intel Corporation.
e1000e 0000:04:00.0: PCI->APIC IRQ transform: INT A -> IRQ 16
e1000e 0000:04:00.0: setting latency timer to 64
e1000e 0000:04:00.0: irq 29 for MSI/MSI-X
0000:04:00.0: eth0: (PCI Express:2.5GB/s:Width x1) 00:30:48:d3:33:d7
0000:04:00.0: eth0: Intel(R) PRO/1000 Network Connection
0000:04:00.0: eth0: MAC: 2, PHY: 2, PBA No: 0100ff-0ff
e1000e 0000:05:00.0: PCI->APIC IRQ transform: INT A -> IRQ 17
e1000e 0000:05:00.0: setting latency timer to 64
e1000e 0000:05:00.0: irq 30 for MSI/MSI-X
0000:05:00.0: eth1: (PCI Express:2.5GB/s:Width x1) 00:30:48:d3:33:d8
0000:05:00.0: eth1: Intel(R) PRO/1000 Network Connection
0000:05:00.0: eth1: MAC: 2, PHY: 2, PBA No: ffffff-0ff
ixgbe: Intel(R) 10 Gigabit PCI Express Network Driver - version 2.0.44-k2
ixgbe: Copyright (c) 1999-2010 Intel Corporation.
ixgbe 0000:01:00.0: PCI->APIC IRQ transform: INT A -> IRQ 16
ixgbe 0000:01:00.0: setting latency timer to 64
ixgbe 0000:01:00.0: irq 31 for MSI/MSI-X
ixgbe 0000:01:00.0: irq 32 for MSI/MSI-X
ixgbe 0000:01:00.0: irq 33 for MSI/MSI-X
ixgbe 0000:01:00.0: irq 34 for MSI/MSI-X
ixgbe 0000:01:00.0: irq 35 for MSI/MSI-X
ixgbe 0000:01:00.0: irq 36 for MSI/MSI-X
ixgbe 0000:01:00.0: irq 37 for MSI/MSI-X
ixgbe 0000:01:00.0: irq 38 for MSI/MSI-X
ixgbe 0000:01:00.0: irq 39 for MSI/MSI-X
ixgbe: 0000:01:00.0: ixgbe_init_interrupt_scheme: Multiqueue Enabled: Rx Queue count = 8, Tx Queue count = 8
ixgbe 0000:01:00.0: (PCI Express:2.5Gb/s:Width x8) 00:30:48:d3:33:d6
ixgbe 0000:01:00.0: MAC: 1, PHY: 0, PBA No: ffffff-0ff
ixgbe 0000:01:00.0: Intel(R) 10 Gigabit Network Connection
PNP: No PS/2 controller found. Probing ports directly.
serio: i8042 KBD port at 0x60,0x64 irq 1
serio: i8042 AUX port at 0x60,0x64 irq 12
mice: PS/2 mouse device common for all mice
md: raid1 personality registered for level 1
device-mapper: ioctl: 4.16.0-ioctl (2009-11-05) initialised: dm-devel@redhat.com
cpuidle: using governor ladder
cpuidle: using governor menu
ioatdma: Intel(R) QuickData Technology Driver 4.00
ioatdma 0000:00:08.0: can't find IRQ for PCI INT A; probably buggy MP table
ioatdma 0000:00:08.0: setting latency timer to 64
ioatdma 0000:00:08.0: irq 40 for MSI/MSI-X
usbcore: registered new interface driver usbhid
usbhid: USB HID core driver
GACT probability NOT on
u32 classifier
Performance counters on
input device check on
Actions configured
Netfilter messages via NETLINK v0.30.
nf_conntrack version 0.5.0 (16384 buckets, 65536 max)
ctnetlink v0.93: registering with nfnetlink.
ip_tables: (C) 2000-2006 Netfilter Core Team
TCP cubic registered
NET: Registered protocol family 17
802.1Q VLAN Support v1.8 Ben Greear <greearb@candelatech.com>
All bugs added by David S. Miller <davem@redhat.com>
Using IPI Shortcut mode
drivers/rtc/hctosys.c: unable to open rtc device (rtc0)
ata2.00: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
ata2.01: SATA link down (SStatus 0 SControl 310)
ata2.00: ATA-8: ST3160310CS, SC14, max UDMA/133
ata2.00: 312581808 sectors, multi 16: LBA48 NCQ (depth 0/32)
ata2.00: configured for UDMA/133
ata1.01: failed to resume link (SControl 0)
ata1.00: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
ata1.01: SATA link down (SStatus 0 SControl 0)
ata1.00: ATA-8: ST3160310CS, SC14, max UDMA/133
ata1.00: 312581808 sectors, multi 16: LBA48 NCQ (depth 0/32)
ata1.00: configured for UDMA/133
scsi 0:0:0:0: Direct-Access ATA ST3160310CS SC14 PQ: 0 ANSI: 5
sd 0:0:0:0: [sda] 312581808 512-byte logical blocks: (160 GB/149 GiB)
sd 0:0:0:0: Attached scsi generic sg0 type 0
scsi 1:0:0:0: Direct-Access ATA ST3160310CS SC14 PQ: 0 ANSI: 5
sd 1:0:0:0: [sdb] 312581808 512-byte logical blocks: (160 GB/149 GiB)
sd 1:0:0:0: [sdb] Write Protect is off
sd 1:0:0:0: [sdb] Mode Sense: 00 3a 00 00
sd 1:0:0:0: [sdb] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
sdb:
sd 1:0:0:0: Attached scsi generic sg1 type 0
sd 0:0:0:0: [sda] Write Protect is off
sd 0:0:0:0: [sda] Mode Sense: 00 3a 00 00
sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
sda: sda1 sda2 sda3
sd 0:0:0:0: [sda] Attached SCSI disk
sdb1 sdb2 sdb3
sd 1:0:0:0: [sdb] Attached SCSI disk
md: Waiting for all devices to be available before autodetect
md: If you don't use raid, use raid=noautodetect
md: Autodetecting RAID arrays.
md: Scanned 4 and added 4 devices.
md: autorun ...
md: considering sdb2 ...
md: adding sdb2 ...
md: sdb1 has different UUID to sdb2
md: adding sda2 ...
md: sda1 has different UUID to sdb2
md: created md2
md: bind<sda2>
md: bind<sdb2>
md: running: <sdb2><sda2>
raid1: raid set md2 active with 2 out of 2 mirrors
md2: detected capacity change from 0 to 156995813376
md: considering sdb1 ...
md: adding sdb1 ...
md: adding sda1 ...
md: created md1
md: bind<sda1>
md: bind<sdb1>
md: running: <sdb1><sda1>
raid1: raid set md1 active with 2 out of 2 mirrors
md1: detected capacity change from 0 to 1998585856
md: ... autorun DONE.
md2: unknown partition table
REISERFS (device md2): found reiserfs format "3.6" with standard journal
REISERFS (device md2): using ordered data mode
REISERFS (device md2): journal params: device md2, size 8192, journal first block 18, max trans len 1024, max batch 900, max commit age 30, max trans age 30
REISERFS (device md2): checking transaction log (md2)
REISERFS (device md2): replayed 274 transactions in 7 seconds
REISERFS (device md2): Using r5 hash to sort names
VFS: Mounted root (reiserfs filesystem) readonly on device 9:2.
Freeing unused kernel memory: 368k freed
udev: starting version 149
<3>udev: missing sysfs features; please update the kernel or disable the kernel's CONFIG_SYSFS_DEPRECATED option; udev may fail to work correctly
md1: unknown partition table
REISERFS (device md2): Removing [184 674318 0x0 SD]..done
REISERFS (device md2): Removing [184 674168 0x0 SD]..done
REISERFS (device md2): Removing [184 674167 0x0 SD]..done
REISERFS (device md2): Removing [622973 628247 0x0 SD]..done
REISERFS (device md2): Removing [622973 628232 0x0 SD]..done
REISERFS (device md2): Removing [622973 628210 0x0 SD]..done
REISERFS (device md2): Removing [622973 628209 0x0 SD]..done
REISERFS (device md2): Removing [622973 628140 0x0 SD]..done
REISERFS (device md2): Removing [622973 628081 0x0 SD]..done
REISERFS (device md2): Removing [622973 628080 0x0 SD]..done
REISERFS (device md2): Removing [622973 628074 0x0 SD]..done
REISERFS (device md2): Removing [622973 628056 0x0 SD]..done
REISERFS (device md2): Removing [622973 627609 0x0 SD]..done
REISERFS (device md2): Removing [622973 627602 0x0 SD]..done
REISERFS (device md2): Removing [622973 627550 0x0 SD]..done
REISERFS (device md2): Removing [622973 626686 0x0 SD]..done
REISERFS (device md2): Removing [166002 392159 0x0 SD]..done
REISERFS (device md2): Removing [166002 196656 0x0 SD]..done
REISERFS (device md2): Removing [166002 196652 0x0 SD]..done
REISERFS (device md2): Removing [166002 196651 0x0 SD]..done
REISERFS (device md2): Removing [166002 196040 0x0 SD]..done
REISERFS (device md2): Removing [166002 196038 0x0 SD]..done
REISERFS (device md2): Removing [101036 195847 0x0 SD]..done
REISERFS (device md2): Removing [166002 195685 0x0 SD]..done
REISERFS (device md2): Removing [7 192543 0x0 SD]..done
REISERFS (device md2): Removing [166002 28285 0x0 SD]..done
REISERFS (device md2): Removing [166002 1128 0x0 SD]..done
REISERFS (device md2): Removing [166002 1127 0x0 SD]..done
REISERFS (device md2): Removing [166002 1125 0x0 SD]..done
REISERFS (device md2): Removing [166002 196 0x0 SD]..done
REISERFS (device md2): Removing [166002 184 0x0 SD]..done
REISERFS (device md2): There were 31 uncompleted unlinks/truncates. Completed
Adding 1020116k swap on /dev/sda3. Priority:1 extents:1 across:1020116k
Adding 1020116k swap on /dev/sdb3. Priority:1 extents:1 across:1020116k
IPv4 FIB: Using LC-trie version 0.409
e1000e 0000:04:00.0: irq 29 for MSI/MSI-X
e1000e 0000:04:00.0: irq 29 for MSI/MSI-X
e1000e: eth0 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: RX/TX
e1000e 0000:05:00.0: irq 30 for MSI/MSI-X
e1000e 0000:05:00.0: irq 30 for MSI/MSI-X
e1000e: eth1 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: RX/TX
ixgbe: eth2 NIC Link is Up 10 Gbps, Flow Control: RX/TX
e1000e: eth1 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: RX/TX
e1000e: eth0 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: RX/TX
0000:04:00.0: eth0: TSO is Enabled
0000:05:00.0: eth1: TSO is Enabled
e1000e: eth0 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: None
e1000e: eth1 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: None
hrtimer: interrupt took 24392 ns
0000:05:00.0: eth1: Detected Hardware Unit Hang:
TDH <1e>
TDT <a>
next_to_use <a>
next_to_clean <1d>
buffer_info[next_to_clean]:
time_stamp <33bae15>
next_to_watch <20>
jiffies <33bafaf>
next_to_watch.status <0>
MAC Status <80080783>
PHY Status <796d>
PHY 1000BASE-T Status <3800>
PHY Extended Status <3000>
PCI Status <10>
0000:05:00.0: eth1: Detected Hardware Unit Hang:
TDH <1e>
TDT <a>
next_to_use <a>
next_to_clean <1d>
buffer_info[next_to_clean]:
time_stamp <33bae15>
next_to_watch <20>
jiffies <33bb1a3>
next_to_watch.status <0>
MAC Status <80080783>
PHY Status <796d>
PHY 1000BASE-T Status <3800>
PHY Extended Status <3000>
PCI Status <10>
0000:05:00.0: eth1: Detected Hardware Unit Hang:
TDH <1e>
TDT <a>
next_to_use <a>
next_to_clean <1d>
buffer_info[next_to_clean]:
time_stamp <33bae15>
next_to_watch <20>
jiffies <33bb397>
next_to_watch.status <0>
MAC Status <80080783>
PHY Status <796d>
PHY 1000BASE-T Status <3800>
PHY Extended Status <3000>
PCI Status <10>
------------[ cut here ]------------
WARNING: at net/sched/sch_generic.c:255 dev_watchdog+0x118/0x19c()
Hardware name: X7DCT
NETDEV WATCHDOG: eth1 (e1000e): transmit queue 0 timed out
Modules linked in:
Pid: 0, comm: swapper Not tainted 2.6.33.1 #2
Call Trace:
[<c1024e3d>] ? warn_slowpath_common+0x52/0x71
[<c1024e49>] ? warn_slowpath_common+0x5e/0x71
[<c1024e8e>] ? warn_slowpath_fmt+0x26/0x2a
[<c1261f54>] ? dev_watchdog+0x118/0x19c
[<c102135c>] ? __wake_up+0x29/0x39
[<c10320c6>] ? insert_work+0x40/0x44
[<c1261e3c>] ? dev_watchdog+0x0/0x19c
[<c102cc15>] ? run_timer_softirq+0x11a/0x173
[<c1028e5b>] ? __do_softirq+0x74/0xdf
[<c1028ee9>] ? do_softirq+0x23/0x27
[<c10290be>] ? irq_exit+0x26/0x58
[<c10102d7>] ? smp_apic_timer_interrupt+0x6c/0x76
[<c12c5f9a>] ? apic_timer_interrupt+0x2a/0x30
[<c1007e06>] ? mwait_idle+0x49/0x4e
[<c10017e8>] ? cpu_idle+0x41/0x5a
---[ end trace bcca9926a046332c ]---
e1000e: eth1 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: None
0000:05:00.0: eth1: Detected Hardware Unit Hang:
TDH <190>
TDT <17c>
next_to_use <17c>
next_to_clean <18f>
buffer_info[next_to_clean]:
time_stamp <3677b95>
next_to_watch <191>
jiffies <3677d8a>
next_to_watch.status <0>
MAC Status <80080783>
PHY Status <796d>
PHY 1000BASE-T Status <7800>
PHY Extended Status <3000>
PCI Status <10>
0000:05:00.0: eth1: Detected Hardware Unit Hang:
TDH <190>
TDT <17c>
next_to_use <17c>
next_to_clean <18f>
buffer_info[next_to_clean]:
time_stamp <3677b95>
next_to_watch <191>
jiffies <3677f7e>
next_to_watch.status <0>
MAC Status <80080783>
PHY Status <796d>
PHY 1000BASE-T Status <7800>
PHY Extended Status <3000>
PCI Status <10>
0000:05:00.0: eth1: Detected Hardware Unit Hang:
TDH <190>
TDT <17c>
next_to_use <17c>
next_to_clean <18f>
buffer_info[next_to_clean]:
time_stamp <3677b95>
next_to_watch <191>
jiffies <3678172>
next_to_watch.status <0>
MAC Status <80080783>
PHY Status <796d>
PHY 1000BASE-T Status <7800>
PHY Extended Status <3000>
PCI Status <10>
e1000e: eth1 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: None
0000:05:00.0: eth1: Detected Hardware Unit Hang:
TDH <ff>
TDT <eb>
next_to_use <eb>
next_to_clean <fe>
buffer_info[next_to_clean]:
time_stamp <389cdc2>
next_to_watch <100>
jiffies <389cfb2>
next_to_watch.status <0>
MAC Status <80080783>
PHY Status <796d>
PHY 1000BASE-T Status <3800>
PHY Extended Status <3000>
PCI Status <10>
0000:05:00.0: eth1: Detected Hardware Unit Hang:
TDH <ff>
TDT <eb>
next_to_use <eb>
next_to_clean <fe>
buffer_info[next_to_clean]:
time_stamp <389cdc2>
next_to_watch <100>
jiffies <389d1a6>
next_to_watch.status <0>
MAC Status <80080783>
PHY Status <796d>
PHY 1000BASE-T Status <3800>
PHY Extended Status <3000>
PCI Status <10>
0000:05:00.0: eth1: Detected Hardware Unit Hang:
TDH <ff>
TDT <eb>
next_to_use <eb>
next_to_clean <fe>
buffer_info[next_to_clean]:
time_stamp <389cdc2>
next_to_watch <100>
jiffies <389d39a>
next_to_watch.status <0>
MAC Status <80080783>
PHY Status <796d>
PHY 1000BASE-T Status <3800>
PHY Extended Status <3000>
PCI Status <10>
0000:05:00.0: eth1: Detected Hardware Unit Hang:
TDH <ff>
TDT <eb>
next_to_use <eb>
next_to_clean <fe>
buffer_info[next_to_clean]:
time_stamp <389cdc2>
next_to_watch <100>
jiffies <389d58e>
next_to_watch.status <0>
MAC Status <80080783>
PHY Status <796d>
PHY 1000BASE-T Status <3800>
PHY Extended Status <3000>
PCI Status <10>
e1000e: eth1 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: None
0000:05:00.0: eth1: Detected Hardware Unit Hang:
TDH <1b1>
TDT <19c>
next_to_use <19c>
next_to_clean <1b0>
buffer_info[next_to_clean]:
time_stamp <39c6fa1>
next_to_watch <1b2>
jiffies <39c722b>
next_to_watch.status <0>
MAC Status <80080783>
PHY Status <796d>
PHY 1000BASE-T Status <7800>
PHY Extended Status <3000>
PCI Status <10>
0000:05:00.0: eth1: Detected Hardware Unit Hang:
TDH <1b1>
TDT <19c>
next_to_use <19c>
next_to_clean <1b0>
buffer_info[next_to_clean]:
time_stamp <39c6fa1>
next_to_watch <1b2>
jiffies <39c741f>
next_to_watch.status <0>
MAC Status <80080783>
PHY Status <796d>
PHY 1000BASE-T Status <7800>
PHY Extended Status <3000>
PCI Status <10>
0000:05:00.0: eth1: Detected Hardware Unit Hang:
TDH <1b1>
TDT <19c>
next_to_use <19c>
next_to_clean <1b0>
buffer_info[next_to_clean]:
time_stamp <39c6fa1>
next_to_watch <1b2>
jiffies <39c7613>
next_to_watch.status <0>
MAC Status <80080783>
PHY Status <796d>
PHY 1000BASE-T Status <7800>
PHY Extended Status <3000>
PCI Status <10>
e1000e: eth1 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: None
[-- Attachment #3: interrupts.txt --]
[-- Type: text/plain, Size: 3486 bytes --]
cat /proc/interrupts
CPU0 CPU1 CPU2 CPU3 CPU4 CPU5 CPU6 CPU7
0: 308 253 262 238 11 123 134 122 IO-APIC-edge timer
1: 0 0 0 1 0 1 0 0 IO-APIC-edge i8042
2: 0 0 0 0 0 0 0 0 XT-PIC-XT cascade
12: 1 0 0 0 1 0 1 1 IO-APIC-edge i8042
14: 616333 877 875 896 679 689 668 669 IO-APIC-edge ata_piix
15: 615671 678 682 667 882 872 892 891 IO-APIC-edge ata_piix
18: 0 0 0 0 0 0 0 0 IO-APIC-fasteoi ata_piix
29: 2095743517 2095386178 174924937 168199672 2524075 90725 88717 99993 PCI-MSI-edge eth0
30: 136287066 147950200 1882197663 1875592160 91869 29 21 22 PCI-MSI-edge eth1
31: 88 88 93 80 4062911341 5357882 85 100 PCI-MSI-edge eth2-TxRx-0
32: 22 29 33 27 1930720613 988316014 33 23 PCI-MSI-edge eth2-TxRx-1
33: 8 12 9 6 16 1783447734 925637928 12 PCI-MSI-edge eth2-TxRx-2
34: 5 8 11 11 3 1784574693 6 918990990 PCI-MSI-edge eth2-TxRx-3
35: 10 9 9 10 887164043 10 1766002646 5 PCI-MSI-edge eth2-TxRx-4
36: 6 10 9 5 6 907197763 1813068241 9 PCI-MSI-edge eth2-TxRx-5
37: 5 6 3 8 6 9 910538970 1796243041 PCI-MSI-edge eth2-TxRx-6
38: 15 10 8 14 12 9 3852107 2788198200 PCI-MSI-edge eth2-TxRx-7
39: 0 0 1 0 0 0 0 0 PCI-MSI-edge eth2:lsc
40: 1 1 0 1 1 0 0 1 PCI-MSI-edge ioat-msi
NMI: 1096979 1034629 977418 927370 1023641 987262 976716 971673 Non-maskable interrupts
LOC: 390009950 331500231 1013954784 1521144747 462179858 380082441 344906281 344900104 Local timer interrupts
SPU: 0 0 0 0 0 0 0 0 Spurious interrupts
PMI: 1096979 1034629 977418 927370 1023641 987262 976716 971673 Performance monitoring interrupts
PND: 1078233 1016953 962802 914819 1011138 973688 964136 959101 Performance pending work
RES: 6810 7947 10091 9698 9431 6453 14542 10955 Rescheduling interrupts
CAL: 11184 13181 2793 4432 11264 34546 4403 4401 Function call interrupts
TLB: 14110 12880 23874 24528 10325 12873 21664 28345 TLB shootdowns
ERR: 0
MIS: 0
cat /proc/irq/30/smp_affinity
0c
[-- Attachment #4: kernel-config.txt --]
[-- Type: text/plain, Size: 47856 bytes --]
#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.33.1
# Sat Mar 27 14:10:46 2010
#
# CONFIG_64BIT is not set
CONFIG_X86_32=y
# CONFIG_X86_64 is not set
CONFIG_X86=y
CONFIG_OUTPUT_FORMAT="elf32-i386"
CONFIG_ARCH_DEFCONFIG="arch/x86/configs/i386_defconfig"
CONFIG_GENERIC_TIME=y
CONFIG_GENERIC_CMOS_UPDATE=y
CONFIG_CLOCKSOURCE_WATCHDOG=y
CONFIG_GENERIC_CLOCKEVENTS=y
CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y
CONFIG_LOCKDEP_SUPPORT=y
CONFIG_STACKTRACE_SUPPORT=y
CONFIG_HAVE_LATENCYTOP_SUPPORT=y
CONFIG_MMU=y
CONFIG_ZONE_DMA=y
CONFIG_GENERIC_ISA_DMA=y
CONFIG_GENERIC_IOMAP=y
CONFIG_GENERIC_BUG=y
CONFIG_GENERIC_HWEIGHT=y
CONFIG_ARCH_MAY_HAVE_PC_FDC=y
# CONFIG_RWSEM_GENERIC_SPINLOCK is not set
CONFIG_RWSEM_XCHGADD_ALGORITHM=y
CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y
CONFIG_GENERIC_CALIBRATE_DELAY=y
# CONFIG_GENERIC_TIME_VSYSCALL is not set
CONFIG_ARCH_HAS_CPU_RELAX=y
CONFIG_ARCH_HAS_DEFAULT_IDLE=y
CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y
CONFIG_HAVE_SETUP_PER_CPU_AREA=y
CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y
CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=y
# CONFIG_HAVE_CPUMASK_OF_CPU_MAP is not set
CONFIG_ARCH_HIBERNATION_POSSIBLE=y
CONFIG_ARCH_SUSPEND_POSSIBLE=y
# CONFIG_ZONE_DMA32 is not set
CONFIG_ARCH_POPULATES_NODE_MAP=y
# CONFIG_AUDIT_ARCH is not set
CONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING=y
CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
CONFIG_HAVE_INTEL_TXT=y
CONFIG_GENERIC_HARDIRQS=y
CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
CONFIG_GENERIC_IRQ_PROBE=y
CONFIG_GENERIC_PENDING_IRQ=y
CONFIG_USE_GENERIC_SMP_HELPERS=y
CONFIG_X86_32_SMP=y
CONFIG_X86_HT=y
CONFIG_X86_TRAMPOLINE=y
CONFIG_X86_32_LAZY_GS=y
CONFIG_KTIME_SCALAR=y
CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
CONFIG_CONSTRUCTORS=y
#
# General setup
#
CONFIG_EXPERIMENTAL=y
CONFIG_LOCK_KERNEL=y
CONFIG_INIT_ENV_ARG_LIMIT=32
CONFIG_LOCALVERSION=""
CONFIG_LOCALVERSION_AUTO=y
CONFIG_HAVE_KERNEL_GZIP=y
CONFIG_HAVE_KERNEL_BZIP2=y
CONFIG_HAVE_KERNEL_LZMA=y
CONFIG_HAVE_KERNEL_LZO=y
CONFIG_KERNEL_GZIP=y
# CONFIG_KERNEL_BZIP2 is not set
# CONFIG_KERNEL_LZMA is not set
# CONFIG_KERNEL_LZO is not set
CONFIG_SWAP=y
CONFIG_SYSVIPC=y
CONFIG_SYSVIPC_SYSCTL=y
CONFIG_POSIX_MQUEUE=y
CONFIG_POSIX_MQUEUE_SYSCTL=y
# CONFIG_BSD_PROCESS_ACCT is not set
# CONFIG_TASKSTATS is not set
# CONFIG_AUDIT is not set
#
# RCU Subsystem
#
CONFIG_TREE_RCU=y
# CONFIG_TREE_PREEMPT_RCU is not set
# CONFIG_TINY_RCU is not set
# CONFIG_RCU_TRACE is not set
CONFIG_RCU_FANOUT=32
# CONFIG_RCU_FANOUT_EXACT is not set
# CONFIG_TREE_RCU_TRACE is not set
CONFIG_IKCONFIG=y
CONFIG_IKCONFIG_PROC=y
CONFIG_LOG_BUF_SHIFT=18
CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y
CONFIG_GROUP_SCHED=y
CONFIG_FAIR_GROUP_SCHED=y
CONFIG_RT_GROUP_SCHED=y
CONFIG_USER_SCHED=y
# CONFIG_CGROUP_SCHED is not set
# CONFIG_CGROUPS is not set
CONFIG_SYSFS_DEPRECATED=y
CONFIG_SYSFS_DEPRECATED_V2=y
CONFIG_RELAY=y
CONFIG_NAMESPACES=y
# CONFIG_UTS_NS is not set
# CONFIG_IPC_NS is not set
# CONFIG_USER_NS is not set
# CONFIG_PID_NS is not set
# CONFIG_NET_NS is not set
CONFIG_BLK_DEV_INITRD=y
CONFIG_INITRAMFS_SOURCE=""
CONFIG_RD_GZIP=y
CONFIG_RD_BZIP2=y
CONFIG_RD_LZMA=y
CONFIG_RD_LZO=y
CONFIG_CC_OPTIMIZE_FOR_SIZE=y
CONFIG_SYSCTL=y
CONFIG_ANON_INODES=y
# CONFIG_EMBEDDED is not set
CONFIG_UID16=y
CONFIG_SYSCTL_SYSCALL=y
CONFIG_KALLSYMS=y
# CONFIG_KALLSYMS_EXTRA_PASS is not set
CONFIG_HOTPLUG=y
CONFIG_PRINTK=y
CONFIG_BUG=y
CONFIG_ELF_CORE=y
CONFIG_PCSPKR_PLATFORM=y
CONFIG_BASE_FULL=y
CONFIG_FUTEX=y
CONFIG_EPOLL=y
CONFIG_SIGNALFD=y
CONFIG_TIMERFD=y
CONFIG_EVENTFD=y
CONFIG_SHMEM=y
CONFIG_AIO=y
CONFIG_HAVE_PERF_EVENTS=y
#
# Kernel Performance Events And Counters
#
CONFIG_PERF_EVENTS=y
# CONFIG_PERF_COUNTERS is not set
CONFIG_VM_EVENT_COUNTERS=y
CONFIG_PCI_QUIRKS=y
CONFIG_COMPAT_BRK=y
CONFIG_SLAB=y
# CONFIG_SLUB is not set
# CONFIG_SLOB is not set
CONFIG_PROFILING=y
CONFIG_OPROFILE=m
# CONFIG_OPROFILE_IBS is not set
CONFIG_OPROFILE_EVENT_MULTIPLEX=y
CONFIG_HAVE_OPROFILE=y
# CONFIG_KPROBES is not set
CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
CONFIG_HAVE_IOREMAP_PROT=y
CONFIG_HAVE_KPROBES=y
CONFIG_HAVE_KRETPROBES=y
CONFIG_HAVE_ARCH_TRACEHOOK=y
CONFIG_HAVE_DMA_ATTRS=y
CONFIG_HAVE_DMA_API_DEBUG=y
CONFIG_HAVE_HW_BREAKPOINT=y
CONFIG_HAVE_USER_RETURN_NOTIFIER=y
#
# GCOV-based kernel profiling
#
# CONFIG_GCOV_KERNEL is not set
# CONFIG_SLOW_WORK is not set
CONFIG_HAVE_GENERIC_DMA_COHERENT=y
CONFIG_SLABINFO=y
CONFIG_RT_MUTEXES=y
CONFIG_BASE_SMALL=0
CONFIG_MODULES=y
# CONFIG_MODULE_FORCE_LOAD is not set
CONFIG_MODULE_UNLOAD=y
CONFIG_MODULE_FORCE_UNLOAD=y
# CONFIG_MODVERSIONS is not set
# CONFIG_MODULE_SRCVERSION_ALL is not set
CONFIG_STOP_MACHINE=y
CONFIG_BLOCK=y
CONFIG_LBDAF=y
# CONFIG_BLK_DEV_BSG is not set
# CONFIG_BLK_DEV_INTEGRITY is not set
#
# IO Schedulers
#
CONFIG_IOSCHED_NOOP=y
CONFIG_IOSCHED_DEADLINE=y
CONFIG_IOSCHED_CFQ=y
CONFIG_DEFAULT_DEADLINE=y
# CONFIG_DEFAULT_CFQ is not set
# CONFIG_DEFAULT_NOOP is not set
CONFIG_DEFAULT_IOSCHED="deadline"
# CONFIG_INLINE_SPIN_TRYLOCK is not set
# CONFIG_INLINE_SPIN_TRYLOCK_BH is not set
# CONFIG_INLINE_SPIN_LOCK is not set
# CONFIG_INLINE_SPIN_LOCK_BH is not set
# CONFIG_INLINE_SPIN_LOCK_IRQ is not set
# CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set
CONFIG_INLINE_SPIN_UNLOCK=y
# CONFIG_INLINE_SPIN_UNLOCK_BH is not set
CONFIG_INLINE_SPIN_UNLOCK_IRQ=y
# CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set
# CONFIG_INLINE_READ_TRYLOCK is not set
# CONFIG_INLINE_READ_LOCK is not set
# CONFIG_INLINE_READ_LOCK_BH is not set
# CONFIG_INLINE_READ_LOCK_IRQ is not set
# CONFIG_INLINE_READ_LOCK_IRQSAVE is not set
CONFIG_INLINE_READ_UNLOCK=y
# CONFIG_INLINE_READ_UNLOCK_BH is not set
CONFIG_INLINE_READ_UNLOCK_IRQ=y
# CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set
# CONFIG_INLINE_WRITE_TRYLOCK is not set
# CONFIG_INLINE_WRITE_LOCK is not set
# CONFIG_INLINE_WRITE_LOCK_BH is not set
# CONFIG_INLINE_WRITE_LOCK_IRQ is not set
# CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set
CONFIG_INLINE_WRITE_UNLOCK=y
# CONFIG_INLINE_WRITE_UNLOCK_BH is not set
CONFIG_INLINE_WRITE_UNLOCK_IRQ=y
# CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set
CONFIG_MUTEX_SPIN_ON_OWNER=y
# CONFIG_FREEZER is not set
#
# Processor type and features
#
CONFIG_TICK_ONESHOT=y
CONFIG_NO_HZ=y
CONFIG_HIGH_RES_TIMERS=y
CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
CONFIG_SMP=y
CONFIG_SPARSE_IRQ=y
CONFIG_X86_MPPARSE=y
# CONFIG_X86_BIGSMP is not set
CONFIG_X86_EXTENDED_PLATFORM=y
# CONFIG_X86_ELAN is not set
# CONFIG_X86_MRST is not set
# CONFIG_X86_RDC321X is not set
# CONFIG_X86_32_NON_STANDARD is not set
CONFIG_SCHED_OMIT_FRAME_POINTER=y
# CONFIG_PARAVIRT_GUEST is not set
# CONFIG_MEMTEST is not set
# CONFIG_M386 is not set
# CONFIG_M486 is not set
# CONFIG_M586 is not set
# CONFIG_M586TSC is not set
# CONFIG_M586MMX is not set
# CONFIG_M686 is not set
# CONFIG_MPENTIUMII is not set
# CONFIG_MPENTIUMIII is not set
# CONFIG_MPENTIUMM is not set
# CONFIG_MPENTIUM4 is not set
# CONFIG_MK6 is not set
# CONFIG_MK7 is not set
# CONFIG_MK8 is not set
# CONFIG_MCRUSOE is not set
# CONFIG_MEFFICEON is not set
# CONFIG_MWINCHIPC6 is not set
# CONFIG_MWINCHIP3D is not set
# CONFIG_MGEODEGX1 is not set
# CONFIG_MGEODE_LX is not set
# CONFIG_MCYRIXIII is not set
# CONFIG_MVIAC3_2 is not set
# CONFIG_MVIAC7 is not set
# CONFIG_MPSC is not set
CONFIG_MCORE2=y
# CONFIG_MATOM is not set
# CONFIG_GENERIC_CPU is not set
CONFIG_X86_GENERIC=y
CONFIG_X86_CPU=y
CONFIG_X86_INTERNODE_CACHE_SHIFT=6
CONFIG_X86_CMPXCHG=y
CONFIG_X86_L1_CACHE_SHIFT=6
CONFIG_X86_XADD=y
CONFIG_X86_WP_WORKS_OK=y
CONFIG_X86_INVLPG=y
CONFIG_X86_BSWAP=y
CONFIG_X86_POPAD_OK=y
CONFIG_X86_INTEL_USERCOPY=y
CONFIG_X86_USE_PPRO_CHECKSUM=y
CONFIG_X86_TSC=y
CONFIG_X86_CMPXCHG64=y
CONFIG_X86_CMOV=y
CONFIG_X86_MINIMUM_CPU_FAMILY=5
CONFIG_X86_DEBUGCTLMSR=y
CONFIG_CPU_SUP_INTEL=y
CONFIG_CPU_SUP_CYRIX_32=y
CONFIG_CPU_SUP_AMD=y
CONFIG_CPU_SUP_CENTAUR=y
CONFIG_CPU_SUP_TRANSMETA_32=y
CONFIG_CPU_SUP_UMC_32=y
# CONFIG_X86_DS is not set
CONFIG_HPET_TIMER=y
CONFIG_DMI=y
# CONFIG_IOMMU_HELPER is not set
CONFIG_IOMMU_API=y
CONFIG_NR_CPUS=8
CONFIG_SCHED_SMT=y
CONFIG_SCHED_MC=y
CONFIG_PREEMPT_NONE=y
# CONFIG_PREEMPT_VOLUNTARY is not set
# CONFIG_PREEMPT is not set
CONFIG_X86_LOCAL_APIC=y
CONFIG_X86_IO_APIC=y
# CONFIG_X86_REROUTE_FOR_BROKEN_BOOT_IRQS is not set
# CONFIG_X86_MCE is not set
CONFIG_VM86=y
# CONFIG_TOSHIBA is not set
# CONFIG_I8K is not set
# CONFIG_X86_REBOOTFIXUPS is not set
# CONFIG_MICROCODE is not set
CONFIG_X86_MSR=y
# CONFIG_X86_CPUID is not set
# CONFIG_NOHIGHMEM is not set
# CONFIG_HIGHMEM4G is not set
CONFIG_HIGHMEM64G=y
CONFIG_PAGE_OFFSET=0xC0000000
CONFIG_HIGHMEM=y
CONFIG_X86_PAE=y
CONFIG_ARCH_PHYS_ADDR_T_64BIT=y
CONFIG_ARCH_FLATMEM_ENABLE=y
CONFIG_ARCH_SPARSEMEM_ENABLE=y
CONFIG_ARCH_SELECT_MEMORY_MODEL=y
CONFIG_ILLEGAL_POINTER_VALUE=0
CONFIG_SELECT_MEMORY_MODEL=y
CONFIG_FLATMEM_MANUAL=y
# CONFIG_DISCONTIGMEM_MANUAL is not set
# CONFIG_SPARSEMEM_MANUAL is not set
CONFIG_FLATMEM=y
CONFIG_FLAT_NODE_MEM_MAP=y
CONFIG_SPARSEMEM_STATIC=y
CONFIG_PAGEFLAGS_EXTENDED=y
CONFIG_SPLIT_PTLOCK_CPUS=4
CONFIG_PHYS_ADDR_T_64BIT=y
CONFIG_ZONE_DMA_FLAG=1
CONFIG_BOUNCE=y
CONFIG_VIRT_TO_BUS=y
# CONFIG_KSM is not set
CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
CONFIG_HIGHPTE=y
# CONFIG_X86_CHECK_BIOS_CORRUPTION is not set
CONFIG_X86_RESERVE_LOW_64K=y
# CONFIG_MATH_EMULATION is not set
CONFIG_MTRR=y
CONFIG_MTRR_SANITIZER=y
CONFIG_MTRR_SANITIZER_ENABLE_DEFAULT=0
CONFIG_MTRR_SANITIZER_SPARE_REG_NR_DEFAULT=1
CONFIG_X86_PAT=y
CONFIG_ARCH_USES_PG_UNCACHED=y
# CONFIG_EFI is not set
CONFIG_SECCOMP=y
# CONFIG_CC_STACKPROTECTOR is not set
# CONFIG_HZ_100 is not set
CONFIG_HZ_250=y
# CONFIG_HZ_300 is not set
# CONFIG_HZ_1000 is not set
CONFIG_HZ=250
CONFIG_SCHED_HRTICK=y
# CONFIG_KEXEC is not set
# CONFIG_CRASH_DUMP is not set
CONFIG_PHYSICAL_START=0x1000000
# CONFIG_RELOCATABLE is not set
CONFIG_PHYSICAL_ALIGN=0x200000
# CONFIG_HOTPLUG_CPU is not set
CONFIG_COMPAT_VDSO=y
# CONFIG_CMDLINE_BOOL is not set
CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
#
# Power management and ACPI options
#
CONFIG_PM=y
# CONFIG_PM_DEBUG is not set
# CONFIG_SUSPEND is not set
# CONFIG_HIBERNATION is not set
# CONFIG_PM_RUNTIME is not set
CONFIG_ACPI=y
# CONFIG_ACPI_PROCFS is not set
CONFIG_ACPI_PROCFS_POWER=y
CONFIG_ACPI_SYSFS_POWER=y
CONFIG_ACPI_PROC_EVENT=y
CONFIG_ACPI_AC=y
CONFIG_ACPI_BATTERY=y
CONFIG_ACPI_BUTTON=y
CONFIG_ACPI_FAN=y
CONFIG_ACPI_DOCK=y
CONFIG_ACPI_PROCESSOR=y
# CONFIG_ACPI_PROCESSOR_AGGREGATOR is not set
CONFIG_ACPI_THERMAL=y
# CONFIG_ACPI_CUSTOM_DSDT is not set
CONFIG_ACPI_BLACKLIST_YEAR=0
# CONFIG_ACPI_DEBUG is not set
# CONFIG_ACPI_PCI_SLOT is not set
CONFIG_X86_PM_TIMER=y
CONFIG_ACPI_CONTAINER=y
# CONFIG_ACPI_SBS is not set
# CONFIG_SFI is not set
#
# CPU Frequency scaling
#
# CONFIG_CPU_FREQ is not set
CONFIG_CPU_IDLE=y
CONFIG_CPU_IDLE_GOV_LADDER=y
CONFIG_CPU_IDLE_GOV_MENU=y
#
# Bus options (PCI etc.)
#
CONFIG_PCI=y
# CONFIG_PCI_GOBIOS is not set
# CONFIG_PCI_GOMMCONFIG is not set
# CONFIG_PCI_GODIRECT is not set
# CONFIG_PCI_GOOLPC is not set
CONFIG_PCI_GOANY=y
CONFIG_PCI_BIOS=y
CONFIG_PCI_DIRECT=y
CONFIG_PCI_MMCONFIG=y
CONFIG_PCI_DOMAINS=y
CONFIG_DMAR=y
CONFIG_DMAR_DEFAULT_ON=y
CONFIG_DMAR_FLOPPY_WA=y
CONFIG_PCIEPORTBUS=y
CONFIG_PCIEAER=y
CONFIG_PCIE_ECRC=y
# CONFIG_PCIEAER_INJECT is not set
CONFIG_PCIEASPM=y
# CONFIG_PCIEASPM_DEBUG is not set
CONFIG_ARCH_SUPPORTS_MSI=y
CONFIG_PCI_MSI=y
# CONFIG_PCI_LEGACY is not set
# CONFIG_PCI_STUB is not set
CONFIG_HT_IRQ=y
CONFIG_PCI_IOV=y
CONFIG_PCI_IOAPIC=y
CONFIG_ISA_DMA_API=y
# CONFIG_ISA is not set
# CONFIG_MCA is not set
# CONFIG_SCx200 is not set
# CONFIG_OLPC is not set
# CONFIG_PCCARD is not set
# CONFIG_HOTPLUG_PCI is not set
#
# Executable file formats / Emulations
#
CONFIG_BINFMT_ELF=y
# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
CONFIG_HAVE_AOUT=y
# CONFIG_BINFMT_AOUT is not set
# CONFIG_BINFMT_MISC is not set
CONFIG_HAVE_ATOMIC_IOMAP=y
CONFIG_NET=y
#
# Networking options
#
CONFIG_PACKET=y
CONFIG_PACKET_MMAP=y
CONFIG_UNIX=y
# CONFIG_NET_KEY is not set
CONFIG_INET=y
# CONFIG_IP_MULTICAST is not set
CONFIG_IP_ADVANCED_ROUTER=y
# CONFIG_ASK_IP_FIB_HASH is not set
CONFIG_IP_FIB_TRIE=y
# CONFIG_IP_FIB_HASH is not set
CONFIG_IP_FIB_TRIE_STATS=y
CONFIG_IP_MULTIPLE_TABLES=y
# CONFIG_IP_ROUTE_MULTIPATH is not set
# CONFIG_IP_ROUTE_VERBOSE is not set
# CONFIG_IP_PNP is not set
# CONFIG_NET_IPIP is not set
# CONFIG_NET_IPGRE is not set
# CONFIG_ARPD is not set
CONFIG_SYN_COOKIES=y
# CONFIG_INET_AH is not set
# CONFIG_INET_ESP is not set
# CONFIG_INET_IPCOMP is not set
# CONFIG_INET_XFRM_TUNNEL is not set
# CONFIG_INET_TUNNEL is not set
# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
# CONFIG_INET_XFRM_MODE_TUNNEL is not set
# CONFIG_INET_XFRM_MODE_BEET is not set
CONFIG_INET_LRO=y
# CONFIG_INET_DIAG is not set
CONFIG_TCP_CONG_ADVANCED=y
CONFIG_TCP_CONG_BIC=m
CONFIG_TCP_CONG_CUBIC=y
CONFIG_TCP_CONG_WESTWOOD=m
CONFIG_TCP_CONG_HTCP=m
# CONFIG_TCP_CONG_HSTCP is not set
# CONFIG_TCP_CONG_HYBLA is not set
# CONFIG_TCP_CONG_VEGAS is not set
# CONFIG_TCP_CONG_SCALABLE is not set
# CONFIG_TCP_CONG_LP is not set
# CONFIG_TCP_CONG_VENO is not set
# CONFIG_TCP_CONG_YEAH is not set
# CONFIG_TCP_CONG_ILLINOIS is not set
# CONFIG_DEFAULT_BIC is not set
CONFIG_DEFAULT_CUBIC=y
# CONFIG_DEFAULT_HTCP is not set
# CONFIG_DEFAULT_VEGAS is not set
# CONFIG_DEFAULT_WESTWOOD is not set
# CONFIG_DEFAULT_RENO is not set
CONFIG_DEFAULT_TCP_CONG="cubic"
# CONFIG_TCP_MD5SIG is not set
# CONFIG_IPV6 is not set
# CONFIG_NETWORK_SECMARK is not set
CONFIG_NETFILTER=y
# CONFIG_NETFILTER_DEBUG is not set
CONFIG_NETFILTER_ADVANCED=y
#
# Core Netfilter Configuration
#
CONFIG_NETFILTER_NETLINK=y
CONFIG_NETFILTER_NETLINK_QUEUE=m
# CONFIG_NETFILTER_NETLINK_LOG is not set
CONFIG_NF_CONNTRACK=y
# CONFIG_NF_CT_ACCT is not set
# CONFIG_NF_CONNTRACK_MARK is not set
CONFIG_NF_CONNTRACK_EVENTS=y
# CONFIG_NF_CT_PROTO_DCCP is not set
CONFIG_NF_CT_PROTO_GRE=y
# CONFIG_NF_CT_PROTO_SCTP is not set
# CONFIG_NF_CT_PROTO_UDPLITE is not set
# CONFIG_NF_CONNTRACK_AMANDA is not set
CONFIG_NF_CONNTRACK_FTP=y
# CONFIG_NF_CONNTRACK_H323 is not set
CONFIG_NF_CONNTRACK_IRC=y
# CONFIG_NF_CONNTRACK_NETBIOS_NS is not set
CONFIG_NF_CONNTRACK_PPTP=y
# CONFIG_NF_CONNTRACK_SANE is not set
CONFIG_NF_CONNTRACK_SIP=y
# CONFIG_NF_CONNTRACK_TFTP is not set
CONFIG_NF_CT_NETLINK=y
# CONFIG_NETFILTER_TPROXY is not set
CONFIG_NETFILTER_XTABLES=y
# CONFIG_NETFILTER_XT_TARGET_CLASSIFY is not set
# CONFIG_NETFILTER_XT_TARGET_CONNMARK is not set
# CONFIG_NETFILTER_XT_TARGET_DSCP is not set
# CONFIG_NETFILTER_XT_TARGET_HL is not set
CONFIG_NETFILTER_XT_TARGET_MARK=y
# CONFIG_NETFILTER_XT_TARGET_NFLOG is not set
# CONFIG_NETFILTER_XT_TARGET_NFQUEUE is not set
CONFIG_NETFILTER_XT_TARGET_NOTRACK=y
# CONFIG_NETFILTER_XT_TARGET_RATEEST is not set
# CONFIG_NETFILTER_XT_TARGET_TRACE is not set
# CONFIG_NETFILTER_XT_TARGET_TCPMSS is not set
# CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP is not set
# CONFIG_NETFILTER_XT_MATCH_CLUSTER is not set
# CONFIG_NETFILTER_XT_MATCH_COMMENT is not set
# CONFIG_NETFILTER_XT_MATCH_CONNBYTES is not set
# CONFIG_NETFILTER_XT_MATCH_CONNLIMIT is not set
# CONFIG_NETFILTER_XT_MATCH_CONNMARK is not set
# CONFIG_NETFILTER_XT_MATCH_CONNTRACK is not set
# CONFIG_NETFILTER_XT_MATCH_DCCP is not set
# CONFIG_NETFILTER_XT_MATCH_DSCP is not set
# CONFIG_NETFILTER_XT_MATCH_ESP is not set
# CONFIG_NETFILTER_XT_MATCH_HASHLIMIT is not set
# CONFIG_NETFILTER_XT_MATCH_HELPER is not set
# CONFIG_NETFILTER_XT_MATCH_HL is not set
# CONFIG_NETFILTER_XT_MATCH_IPRANGE is not set
# CONFIG_NETFILTER_XT_MATCH_LENGTH is not set
# CONFIG_NETFILTER_XT_MATCH_LIMIT is not set
# CONFIG_NETFILTER_XT_MATCH_MAC is not set
CONFIG_NETFILTER_XT_MATCH_MARK=y
# CONFIG_NETFILTER_XT_MATCH_MULTIPORT is not set
# CONFIG_NETFILTER_XT_MATCH_OWNER is not set
# CONFIG_NETFILTER_XT_MATCH_PKTTYPE is not set
# CONFIG_NETFILTER_XT_MATCH_QUOTA is not set
# CONFIG_NETFILTER_XT_MATCH_RATEEST is not set
# CONFIG_NETFILTER_XT_MATCH_REALM is not set
# CONFIG_NETFILTER_XT_MATCH_RECENT is not set
# CONFIG_NETFILTER_XT_MATCH_SCTP is not set
CONFIG_NETFILTER_XT_MATCH_STATE=y
# CONFIG_NETFILTER_XT_MATCH_STATISTIC is not set
# CONFIG_NETFILTER_XT_MATCH_STRING is not set
# CONFIG_NETFILTER_XT_MATCH_TCPMSS is not set
# CONFIG_NETFILTER_XT_MATCH_TIME is not set
# CONFIG_NETFILTER_XT_MATCH_U32 is not set
# CONFIG_NETFILTER_XT_MATCH_OSF is not set
# CONFIG_IP_VS is not set
#
# IP: Netfilter Configuration
#
CONFIG_NF_DEFRAG_IPV4=y
CONFIG_NF_CONNTRACK_IPV4=y
CONFIG_NF_CONNTRACK_PROC_COMPAT=y
# CONFIG_IP_NF_QUEUE is not set
CONFIG_IP_NF_IPTABLES=y
# CONFIG_IP_NF_MATCH_ADDRTYPE is not set
# CONFIG_IP_NF_MATCH_AH is not set
# CONFIG_IP_NF_MATCH_ECN is not set
# CONFIG_IP_NF_MATCH_TTL is not set
CONFIG_IP_NF_FILTER=y
CONFIG_IP_NF_TARGET_REJECT=y
# CONFIG_IP_NF_TARGET_LOG is not set
# CONFIG_IP_NF_TARGET_ULOG is not set
CONFIG_NF_NAT=y
CONFIG_NF_NAT_NEEDED=y
# CONFIG_IP_NF_TARGET_MASQUERADE is not set
# CONFIG_IP_NF_TARGET_NETMAP is not set
# CONFIG_IP_NF_TARGET_REDIRECT is not set
# CONFIG_NF_NAT_SNMP_BASIC is not set
CONFIG_NF_NAT_PROTO_GRE=y
CONFIG_NF_NAT_FTP=y
CONFIG_NF_NAT_IRC=y
# CONFIG_NF_NAT_TFTP is not set
# CONFIG_NF_NAT_AMANDA is not set
CONFIG_NF_NAT_PPTP=y
# CONFIG_NF_NAT_H323 is not set
CONFIG_NF_NAT_SIP=y
CONFIG_IP_NF_MANGLE=y
# CONFIG_IP_NF_TARGET_CLUSTERIP is not set
# CONFIG_IP_NF_TARGET_ECN is not set
# CONFIG_IP_NF_TARGET_TTL is not set
CONFIG_IP_NF_RAW=y
# CONFIG_IP_NF_ARPTABLES is not set
# CONFIG_IP_DCCP is not set
# CONFIG_IP_SCTP is not set
# CONFIG_RDS is not set
# CONFIG_TIPC is not set
# CONFIG_ATM is not set
# CONFIG_BRIDGE is not set
# CONFIG_NET_DSA is not set
CONFIG_VLAN_8021Q=y
# CONFIG_VLAN_8021Q_GVRP is not set
# CONFIG_DECNET is not set
# CONFIG_LLC2 is not set
# CONFIG_IPX is not set
# CONFIG_ATALK is not set
# CONFIG_X25 is not set
# CONFIG_LAPB is not set
# CONFIG_ECONET is not set
# CONFIG_WAN_ROUTER is not set
# CONFIG_PHONET is not set
# CONFIG_IEEE802154 is not set
CONFIG_NET_SCHED=y
#
# Queueing/Scheduling
#
# CONFIG_NET_SCH_CBQ is not set
CONFIG_NET_SCH_HTB=y
# CONFIG_NET_SCH_HFSC is not set
CONFIG_NET_SCH_PRIO=y
CONFIG_NET_SCH_MULTIQ=y
# CONFIG_NET_SCH_RED is not set
CONFIG_NET_SCH_SFQ=y
# CONFIG_NET_SCH_TEQL is not set
# CONFIG_NET_SCH_TBF is not set
# CONFIG_NET_SCH_GRED is not set
# CONFIG_NET_SCH_DSMARK is not set
# CONFIG_NET_SCH_NETEM is not set
# CONFIG_NET_SCH_DRR is not set
CONFIG_NET_SCH_INGRESS=y
#
# Classification
#
CONFIG_NET_CLS=y
CONFIG_NET_CLS_BASIC=y
# CONFIG_NET_CLS_TCINDEX is not set
# CONFIG_NET_CLS_ROUTE4 is not set
# CONFIG_NET_CLS_FW is not set
CONFIG_NET_CLS_U32=y
CONFIG_CLS_U32_PERF=y
# CONFIG_CLS_U32_MARK is not set
# CONFIG_NET_CLS_RSVP is not set
# CONFIG_NET_CLS_RSVP6 is not set
# CONFIG_NET_CLS_FLOW is not set
# CONFIG_NET_EMATCH is not set
CONFIG_NET_CLS_ACT=y
CONFIG_NET_ACT_POLICE=y
CONFIG_NET_ACT_GACT=y
# CONFIG_GACT_PROB is not set
# CONFIG_NET_ACT_MIRRED is not set
# CONFIG_NET_ACT_IPT is not set
# CONFIG_NET_ACT_NAT is not set
# CONFIG_NET_ACT_PEDIT is not set
# CONFIG_NET_ACT_SIMP is not set
# CONFIG_NET_ACT_SKBEDIT is not set
CONFIG_NET_CLS_IND=y
CONFIG_NET_SCH_FIFO=y
# CONFIG_DCB is not set
#
# Network testing
#
# CONFIG_NET_PKTGEN is not set
# CONFIG_HAMRADIO is not set
# CONFIG_CAN is not set
# CONFIG_IRDA is not set
# CONFIG_BT is not set
# CONFIG_AF_RXRPC is not set
CONFIG_FIB_RULES=y
# CONFIG_WIRELESS is not set
# CONFIG_WIMAX is not set
# CONFIG_RFKILL is not set
# CONFIG_NET_9P is not set
#
# Device Drivers
#
#
# Generic Driver Options
#
CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
# CONFIG_DEVTMPFS is not set
CONFIG_STANDALONE=y
CONFIG_PREVENT_FIRMWARE_BUILD=y
CONFIG_FW_LOADER=y
CONFIG_FIRMWARE_IN_KERNEL=y
CONFIG_EXTRA_FIRMWARE=""
# CONFIG_SYS_HYPERVISOR is not set
CONFIG_CONNECTOR=y
CONFIG_PROC_EVENTS=y
# CONFIG_MTD is not set
# CONFIG_PARPORT is not set
CONFIG_PNP=y
CONFIG_PNP_DEBUG_MESSAGES=y
#
# Protocols
#
CONFIG_PNPACPI=y
CONFIG_BLK_DEV=y
CONFIG_BLK_DEV_FD=y
# CONFIG_BLK_CPQ_DA is not set
# CONFIG_BLK_CPQ_CISS_DA is not set
# CONFIG_BLK_DEV_DAC960 is not set
# CONFIG_BLK_DEV_UMEM is not set
# CONFIG_BLK_DEV_COW_COMMON is not set
CONFIG_BLK_DEV_LOOP=y
# CONFIG_BLK_DEV_CRYPTOLOOP is not set
# CONFIG_BLK_DEV_DRBD is not set
# CONFIG_BLK_DEV_NBD is not set
# CONFIG_BLK_DEV_SX8 is not set
# CONFIG_BLK_DEV_UB is not set
CONFIG_BLK_DEV_RAM=y
CONFIG_BLK_DEV_RAM_COUNT=16
CONFIG_BLK_DEV_RAM_SIZE=4096
# CONFIG_BLK_DEV_XIP is not set
# CONFIG_CDROM_PKTCDVD is not set
# CONFIG_ATA_OVER_ETH is not set
# CONFIG_BLK_DEV_HD is not set
CONFIG_MISC_DEVICES=y
# CONFIG_IBM_ASM is not set
# CONFIG_PHANTOM is not set
# CONFIG_SGI_IOC4 is not set
# CONFIG_TIFM_CORE is not set
# CONFIG_ENCLOSURE_SERVICES is not set
# CONFIG_CS5535_MFGPT is not set
# CONFIG_HP_ILO is not set
# CONFIG_C2PORT is not set
#
# EEPROM support
#
# CONFIG_EEPROM_93CX6 is not set
# CONFIG_CB710_CORE is not set
CONFIG_HAVE_IDE=y
CONFIG_IDE=y
#
# Please see Documentation/ide/ide.txt for help/info on IDE drives
#
CONFIG_IDE_XFER_MODE=y
CONFIG_IDE_TIMINGS=y
CONFIG_IDE_ATAPI=y
# CONFIG_BLK_DEV_IDE_SATA is not set
CONFIG_IDE_GD=y
CONFIG_IDE_GD_ATA=y
# CONFIG_IDE_GD_ATAPI is not set
CONFIG_BLK_DEV_IDECD=y
CONFIG_BLK_DEV_IDECD_VERBOSE_ERRORS=y
# CONFIG_BLK_DEV_IDETAPE is not set
# CONFIG_BLK_DEV_IDEACPI is not set
# CONFIG_IDE_TASK_IOCTL is not set
CONFIG_IDE_PROC_FS=y
#
# IDE chipset support/bugfixes
#
CONFIG_IDE_GENERIC=y
# CONFIG_BLK_DEV_PLATFORM is not set
# CONFIG_BLK_DEV_CMD640 is not set
# CONFIG_BLK_DEV_IDEPNP is not set
CONFIG_BLK_DEV_IDEDMA_SFF=y
#
# PCI IDE chipsets support
#
CONFIG_BLK_DEV_IDEPCI=y
CONFIG_IDEPCI_PCIBUS_ORDER=y
# CONFIG_BLK_DEV_OFFBOARD is not set
# CONFIG_BLK_DEV_GENERIC is not set
# CONFIG_BLK_DEV_OPTI621 is not set
# CONFIG_BLK_DEV_RZ1000 is not set
CONFIG_BLK_DEV_IDEDMA_PCI=y
# CONFIG_BLK_DEV_AEC62XX is not set
# CONFIG_BLK_DEV_ALI15X3 is not set
CONFIG_BLK_DEV_AMD74XX=y
CONFIG_BLK_DEV_ATIIXP=y
# CONFIG_BLK_DEV_CMD64X is not set
# CONFIG_BLK_DEV_TRIFLEX is not set
# CONFIG_BLK_DEV_CS5520 is not set
# CONFIG_BLK_DEV_CS5530 is not set
# CONFIG_BLK_DEV_CS5535 is not set
# CONFIG_BLK_DEV_CS5536 is not set
# CONFIG_BLK_DEV_HPT366 is not set
# CONFIG_BLK_DEV_JMICRON is not set
# CONFIG_BLK_DEV_SC1200 is not set
CONFIG_BLK_DEV_PIIX=y
# CONFIG_BLK_DEV_IT8172 is not set
# CONFIG_BLK_DEV_IT8213 is not set
# CONFIG_BLK_DEV_IT821X is not set
# CONFIG_BLK_DEV_NS87415 is not set
# CONFIG_BLK_DEV_PDC202XX_OLD is not set
CONFIG_BLK_DEV_PDC202XX_NEW=y
# CONFIG_BLK_DEV_SVWKS is not set
# CONFIG_BLK_DEV_SIIMAGE is not set
# CONFIG_BLK_DEV_SIS5513 is not set
# CONFIG_BLK_DEV_SLC90E66 is not set
# CONFIG_BLK_DEV_TRM290 is not set
# CONFIG_BLK_DEV_VIA82CXXX is not set
# CONFIG_BLK_DEV_TC86C001 is not set
CONFIG_BLK_DEV_IDEDMA=y
#
# SCSI device support
#
# CONFIG_RAID_ATTRS is not set
CONFIG_SCSI=y
CONFIG_SCSI_DMA=y
# CONFIG_SCSI_TGT is not set
CONFIG_SCSI_NETLINK=y
# CONFIG_SCSI_PROC_FS is not set
#
# SCSI support type (disk, tape, CD-ROM)
#
CONFIG_BLK_DEV_SD=y
# CONFIG_CHR_DEV_ST is not set
# CONFIG_CHR_DEV_OSST is not set
CONFIG_BLK_DEV_SR=y
# CONFIG_BLK_DEV_SR_VENDOR is not set
CONFIG_CHR_DEV_SG=y
# CONFIG_CHR_DEV_SCH is not set
# CONFIG_SCSI_MULTI_LUN is not set
CONFIG_SCSI_CONSTANTS=y
# CONFIG_SCSI_LOGGING is not set
# CONFIG_SCSI_SCAN_ASYNC is not set
CONFIG_SCSI_WAIT_SCAN=m
#
# SCSI Transports
#
CONFIG_SCSI_SPI_ATTRS=y
CONFIG_SCSI_FC_ATTRS=y
# CONFIG_SCSI_ISCSI_ATTRS is not set
# CONFIG_SCSI_SAS_LIBSAS is not set
# CONFIG_SCSI_SRP_ATTRS is not set
CONFIG_SCSI_LOWLEVEL=y
# CONFIG_ISCSI_TCP is not set
# CONFIG_SCSI_CXGB3_ISCSI is not set
# CONFIG_SCSI_BNX2_ISCSI is not set
# CONFIG_BE2ISCSI is not set
# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
# CONFIG_SCSI_HPSA is not set
# CONFIG_SCSI_3W_9XXX is not set
# CONFIG_SCSI_3W_SAS is not set
# CONFIG_SCSI_ACARD is not set
# CONFIG_SCSI_AACRAID is not set
# CONFIG_SCSI_AIC7XXX is not set
# CONFIG_SCSI_AIC7XXX_OLD is not set
CONFIG_SCSI_AIC79XX=y
CONFIG_AIC79XX_CMDS_PER_DEVICE=32
CONFIG_AIC79XX_RESET_DELAY_MS=4000
# CONFIG_AIC79XX_DEBUG_ENABLE is not set
CONFIG_AIC79XX_DEBUG_MASK=0
# CONFIG_AIC79XX_REG_PRETTY_PRINT is not set
# CONFIG_SCSI_AIC94XX is not set
# CONFIG_SCSI_MVSAS is not set
# CONFIG_SCSI_DPT_I2O is not set
# CONFIG_SCSI_ADVANSYS is not set
# CONFIG_SCSI_ARCMSR is not set
# CONFIG_MEGARAID_NEWGEN is not set
# CONFIG_MEGARAID_LEGACY is not set
# CONFIG_MEGARAID_SAS is not set
# CONFIG_SCSI_MPT2SAS is not set
# CONFIG_SCSI_HPTIOP is not set
# CONFIG_SCSI_BUSLOGIC is not set
# CONFIG_VMWARE_PVSCSI is not set
# CONFIG_LIBFC is not set
# CONFIG_LIBFCOE is not set
# CONFIG_FCOE is not set
# CONFIG_FCOE_FNIC is not set
# CONFIG_SCSI_DMX3191D is not set
# CONFIG_SCSI_EATA is not set
# CONFIG_SCSI_FUTURE_DOMAIN is not set
# CONFIG_SCSI_GDTH is not set
# CONFIG_SCSI_IPS is not set
# CONFIG_SCSI_INITIO is not set
# CONFIG_SCSI_INIA100 is not set
# CONFIG_SCSI_STEX is not set
# CONFIG_SCSI_SYM53C8XX_2 is not set
# CONFIG_SCSI_IPR is not set
# CONFIG_SCSI_QLOGIC_1280 is not set
# CONFIG_SCSI_QLA_FC is not set
# CONFIG_SCSI_QLA_ISCSI is not set
# CONFIG_SCSI_LPFC is not set
# CONFIG_SCSI_DC395x is not set
# CONFIG_SCSI_DC390T is not set
# CONFIG_SCSI_NSP32 is not set
# CONFIG_SCSI_DEBUG is not set
# CONFIG_SCSI_PMCRAID is not set
# CONFIG_SCSI_PM8001 is not set
# CONFIG_SCSI_SRP is not set
# CONFIG_SCSI_BFA_FC is not set
# CONFIG_SCSI_DH is not set
# CONFIG_SCSI_OSD_INITIATOR is not set
CONFIG_ATA=y
# CONFIG_ATA_NONSTANDARD is not set
CONFIG_ATA_VERBOSE_ERROR=y
CONFIG_ATA_ACPI=y
CONFIG_SATA_PMP=y
CONFIG_SATA_AHCI=y
CONFIG_SATA_SIL24=y
CONFIG_ATA_SFF=y
CONFIG_SATA_SVW=y
CONFIG_ATA_PIIX=y
# CONFIG_SATA_MV is not set
CONFIG_SATA_NV=y
# CONFIG_PDC_ADMA is not set
# CONFIG_SATA_QSTOR is not set
# CONFIG_SATA_PROMISE is not set
# CONFIG_SATA_SX4 is not set
CONFIG_SATA_SIL=y
# CONFIG_SATA_SIS is not set
# CONFIG_SATA_ULI is not set
CONFIG_SATA_VIA=y
# CONFIG_SATA_VITESSE is not set
# CONFIG_SATA_INIC162X is not set
# CONFIG_PATA_ACPI is not set
# CONFIG_PATA_ALI is not set
# CONFIG_PATA_AMD is not set
# CONFIG_PATA_ARTOP is not set
# CONFIG_PATA_ATP867X is not set
# CONFIG_PATA_ATIIXP is not set
# CONFIG_PATA_CMD640_PCI is not set
# CONFIG_PATA_CMD64X is not set
# CONFIG_PATA_CS5520 is not set
# CONFIG_PATA_CS5530 is not set
# CONFIG_PATA_CS5535 is not set
# CONFIG_PATA_CS5536 is not set
# CONFIG_PATA_CYPRESS is not set
# CONFIG_PATA_EFAR is not set
# CONFIG_ATA_GENERIC is not set
# CONFIG_PATA_HPT366 is not set
# CONFIG_PATA_HPT37X is not set
# CONFIG_PATA_HPT3X2N is not set
# CONFIG_PATA_HPT3X3 is not set
# CONFIG_PATA_IT821X is not set
# CONFIG_PATA_IT8213 is not set
# CONFIG_PATA_JMICRON is not set
# CONFIG_PATA_TRIFLEX is not set
# CONFIG_PATA_MARVELL is not set
CONFIG_PATA_MPIIX=y
CONFIG_PATA_OLDPIIX=y
# CONFIG_PATA_NETCELL is not set
# CONFIG_PATA_NINJA32 is not set
# CONFIG_PATA_NS87410 is not set
# CONFIG_PATA_NS87415 is not set
# CONFIG_PATA_OPTI is not set
# CONFIG_PATA_OPTIDMA is not set
# CONFIG_PATA_PDC2027X is not set
# CONFIG_PATA_PDC_OLD is not set
# CONFIG_PATA_RADISYS is not set
# CONFIG_PATA_RDC is not set
# CONFIG_PATA_RZ1000 is not set
# CONFIG_PATA_SC1200 is not set
# CONFIG_PATA_SERVERWORKS is not set
# CONFIG_PATA_SIL680 is not set
# CONFIG_PATA_SIS is not set
# CONFIG_PATA_TOSHIBA is not set
# CONFIG_PATA_VIA is not set
# CONFIG_PATA_WINBOND is not set
# CONFIG_PATA_SCH is not set
CONFIG_MD=y
CONFIG_BLK_DEV_MD=y
CONFIG_MD_AUTODETECT=y
# CONFIG_MD_LINEAR is not set
# CONFIG_MD_RAID0 is not set
CONFIG_MD_RAID1=y
# CONFIG_MD_RAID10 is not set
# CONFIG_MD_RAID456 is not set
# CONFIG_MD_MULTIPATH is not set
# CONFIG_MD_FAULTY is not set
CONFIG_BLK_DEV_DM=y
# CONFIG_DM_DEBUG is not set
# CONFIG_DM_CRYPT is not set
# CONFIG_DM_SNAPSHOT is not set
# CONFIG_DM_MIRROR is not set
# CONFIG_DM_ZERO is not set
# CONFIG_DM_MULTIPATH is not set
# CONFIG_DM_DELAY is not set
# CONFIG_DM_UEVENT is not set
# CONFIG_FUSION is not set
#
# IEEE 1394 (FireWire) support
#
#
# You can enable one or both FireWire driver stacks.
#
#
# The newer stack is recommended.
#
# CONFIG_FIREWIRE is not set
# CONFIG_IEEE1394 is not set
# CONFIG_I2O is not set
# CONFIG_MACINTOSH_DRIVERS is not set
CONFIG_NETDEVICES=y
# CONFIG_IFB is not set
# CONFIG_DUMMY is not set
CONFIG_BONDING=m
# CONFIG_MACVLAN is not set
# CONFIG_EQUALIZER is not set
# CONFIG_TUN is not set
# CONFIG_VETH is not set
# CONFIG_NET_SB1000 is not set
# CONFIG_ARCNET is not set
# CONFIG_NET_ETHERNET is not set
CONFIG_NETDEV_1000=y
# CONFIG_ACENIC is not set
# CONFIG_DL2K is not set
# CONFIG_E1000 is not set
CONFIG_E1000E=y
# CONFIG_IP1000 is not set
# CONFIG_IGB is not set
# CONFIG_IGBVF is not set
# CONFIG_NS83820 is not set
# CONFIG_HAMACHI is not set
# CONFIG_YELLOWFIN is not set
# CONFIG_R8169 is not set
# CONFIG_SIS190 is not set
# CONFIG_SKGE is not set
# CONFIG_SKY2 is not set
# CONFIG_VIA_VELOCITY is not set
# CONFIG_TIGON3 is not set
# CONFIG_BNX2 is not set
# CONFIG_CNIC is not set
# CONFIG_QLA3XXX is not set
# CONFIG_ATL1 is not set
# CONFIG_ATL1E is not set
# CONFIG_ATL1C is not set
# CONFIG_JME is not set
CONFIG_NETDEV_10000=y
CONFIG_MDIO=y
# CONFIG_CHELSIO_T1 is not set
CONFIG_CHELSIO_T3_DEPENDS=y
# CONFIG_CHELSIO_T3 is not set
# CONFIG_ENIC is not set
CONFIG_IXGBE=y
CONFIG_IXGBE_DCA=y
# CONFIG_IXGB is not set
# CONFIG_S2IO is not set
# CONFIG_VXGE is not set
# CONFIG_MYRI10GE is not set
# CONFIG_NETXEN_NIC is not set
# CONFIG_NIU is not set
# CONFIG_MLX4_EN is not set
# CONFIG_MLX4_CORE is not set
# CONFIG_TEHUTI is not set
# CONFIG_BNX2X is not set
# CONFIG_QLGE is not set
# CONFIG_SFC is not set
# CONFIG_BE2NET is not set
# CONFIG_TR is not set
# CONFIG_WLAN is not set
#
# Enable WiMAX (Networking options) to see the WiMAX drivers
#
#
# USB Network Adapters
#
# CONFIG_USB_CATC is not set
# CONFIG_USB_KAWETH is not set
# CONFIG_USB_PEGASUS is not set
# CONFIG_USB_RTL8150 is not set
# CONFIG_USB_USBNET is not set
# CONFIG_WAN is not set
# CONFIG_FDDI is not set
# CONFIG_HIPPI is not set
# CONFIG_PPP is not set
# CONFIG_SLIP is not set
# CONFIG_NET_FC is not set
# CONFIG_NETCONSOLE is not set
# CONFIG_NETPOLL is not set
# CONFIG_NET_POLL_CONTROLLER is not set
# CONFIG_VMXNET3 is not set
# CONFIG_ISDN is not set
# CONFIG_PHONE is not set
#
# Input device support
#
CONFIG_INPUT=y
# CONFIG_INPUT_FF_MEMLESS is not set
# CONFIG_INPUT_POLLDEV is not set
# CONFIG_INPUT_SPARSEKMAP is not set
#
# Userland interfaces
#
CONFIG_INPUT_MOUSEDEV=y
CONFIG_INPUT_MOUSEDEV_PSAUX=y
CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
# CONFIG_INPUT_JOYDEV is not set
CONFIG_INPUT_EVDEV=y
# CONFIG_INPUT_EVBUG is not set
#
# Input Device Drivers
#
CONFIG_INPUT_KEYBOARD=y
CONFIG_KEYBOARD_ATKBD=y
# CONFIG_KEYBOARD_LKKBD is not set
# CONFIG_KEYBOARD_NEWTON is not set
# CONFIG_KEYBOARD_OPENCORES is not set
# CONFIG_KEYBOARD_STOWAWAY is not set
# CONFIG_KEYBOARD_SUNKBD is not set
# CONFIG_KEYBOARD_XTKBD is not set
CONFIG_INPUT_MOUSE=y
CONFIG_MOUSE_PS2=y
CONFIG_MOUSE_PS2_ALPS=y
CONFIG_MOUSE_PS2_LOGIPS2PP=y
CONFIG_MOUSE_PS2_SYNAPTICS=y
CONFIG_MOUSE_PS2_LIFEBOOK=y
CONFIG_MOUSE_PS2_TRACKPOINT=y
# CONFIG_MOUSE_PS2_ELANTECH is not set
# CONFIG_MOUSE_PS2_SENTELIC is not set
# CONFIG_MOUSE_PS2_TOUCHKIT is not set
# CONFIG_MOUSE_SERIAL is not set
# CONFIG_MOUSE_APPLETOUCH is not set
# CONFIG_MOUSE_BCM5974 is not set
# CONFIG_MOUSE_VSXXXAA is not set
# CONFIG_INPUT_JOYSTICK is not set
# CONFIG_INPUT_TABLET is not set
# CONFIG_INPUT_TOUCHSCREEN is not set
# CONFIG_INPUT_MISC is not set
#
# Hardware I/O ports
#
CONFIG_SERIO=y
CONFIG_SERIO_I8042=y
# CONFIG_SERIO_SERPORT is not set
# CONFIG_SERIO_CT82C710 is not set
# CONFIG_SERIO_PCIPS2 is not set
CONFIG_SERIO_LIBPS2=y
# CONFIG_SERIO_RAW is not set
# CONFIG_SERIO_ALTERA_PS2 is not set
# CONFIG_GAMEPORT is not set
#
# Character devices
#
CONFIG_VT=y
CONFIG_CONSOLE_TRANSLATIONS=y
CONFIG_VT_CONSOLE=y
CONFIG_HW_CONSOLE=y
# CONFIG_VT_HW_CONSOLE_BINDING is not set
CONFIG_DEVKMEM=y
# CONFIG_SERIAL_NONSTANDARD is not set
# CONFIG_NOZOMI is not set
#
# Serial drivers
#
CONFIG_SERIAL_8250=y
CONFIG_SERIAL_8250_CONSOLE=y
CONFIG_FIX_EARLYCON_MEM=y
CONFIG_SERIAL_8250_PCI=y
CONFIG_SERIAL_8250_PNP=y
CONFIG_SERIAL_8250_NR_UARTS=4
CONFIG_SERIAL_8250_RUNTIME_UARTS=4
# CONFIG_SERIAL_8250_EXTENDED is not set
#
# Non-8250 serial port support
#
CONFIG_SERIAL_CORE=y
CONFIG_SERIAL_CORE_CONSOLE=y
# CONFIG_SERIAL_JSM is not set
CONFIG_UNIX98_PTYS=y
# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
CONFIG_LEGACY_PTYS=y
CONFIG_LEGACY_PTY_COUNT=256
# CONFIG_IPMI_HANDLER is not set
CONFIG_HW_RANDOM=y
# CONFIG_HW_RANDOM_TIMERIOMEM is not set
CONFIG_HW_RANDOM_INTEL=y
CONFIG_HW_RANDOM_AMD=y
CONFIG_HW_RANDOM_GEODE=y
CONFIG_HW_RANDOM_VIA=y
# CONFIG_NVRAM is not set
# CONFIG_R3964 is not set
# CONFIG_APPLICOM is not set
# CONFIG_SONYPI is not set
# CONFIG_MWAVE is not set
# CONFIG_PC8736x_GPIO is not set
# CONFIG_NSC_GPIO is not set
# CONFIG_CS5535_GPIO is not set
CONFIG_RAW_DRIVER=y
CONFIG_MAX_RAW_DEVS=256
# CONFIG_HPET is not set
# CONFIG_HANGCHECK_TIMER is not set
# CONFIG_TCG_TPM is not set
# CONFIG_TELCLOCK is not set
CONFIG_DEVPORT=y
# CONFIG_I2C is not set
# CONFIG_SPI is not set
#
# PPS support
#
# CONFIG_PPS is not set
CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
# CONFIG_GPIOLIB is not set
# CONFIG_W1 is not set
CONFIG_POWER_SUPPLY=y
# CONFIG_POWER_SUPPLY_DEBUG is not set
# CONFIG_PDA_POWER is not set
# CONFIG_BATTERY_DS2760 is not set
# CONFIG_HWMON is not set
CONFIG_THERMAL=y
# CONFIG_WATCHDOG is not set
CONFIG_SSB_POSSIBLE=y
#
# Sonics Silicon Backplane
#
# CONFIG_SSB is not set
#
# Multifunction device drivers
#
# CONFIG_MFD_CORE is not set
# CONFIG_MFD_SM501 is not set
# CONFIG_HTC_PASIC3 is not set
# CONFIG_MFD_TMIO is not set
# CONFIG_REGULATOR is not set
# CONFIG_MEDIA_SUPPORT is not set
#
# Graphics support
#
# CONFIG_AGP is not set
CONFIG_VGA_ARB=y
# CONFIG_DRM is not set
# CONFIG_VGASTATE is not set
# CONFIG_VIDEO_OUTPUT_CONTROL is not set
# CONFIG_FB is not set
# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
#
# Display device support
#
# CONFIG_DISPLAY_SUPPORT is not set
#
# Console display driver support
#
CONFIG_VGA_CONSOLE=y
CONFIG_VGACON_SOFT_SCROLLBACK=y
CONFIG_VGACON_SOFT_SCROLLBACK_SIZE=256
CONFIG_DUMMY_CONSOLE=y
# CONFIG_SOUND is not set
CONFIG_HID_SUPPORT=y
CONFIG_HID=y
# CONFIG_HIDRAW is not set
#
# USB Input Devices
#
CONFIG_USB_HID=y
# CONFIG_HID_PID is not set
# CONFIG_USB_HIDDEV is not set
#
# Special HID drivers
#
CONFIG_HID_A4TECH=y
CONFIG_HID_APPLE=y
CONFIG_HID_BELKIN=y
CONFIG_HID_CHERRY=y
CONFIG_HID_CHICONY=y
CONFIG_HID_CYPRESS=y
CONFIG_HID_DRAGONRISE=y
# CONFIG_DRAGONRISE_FF is not set
CONFIG_HID_EZKEY=y
CONFIG_HID_KYE=y
CONFIG_HID_GYRATION=y
CONFIG_HID_TWINHAN=y
CONFIG_HID_KENSINGTON=y
CONFIG_HID_LOGITECH=y
# CONFIG_LOGITECH_FF is not set
# CONFIG_LOGIRUMBLEPAD2_FF is not set
CONFIG_HID_MICROSOFT=y
CONFIG_HID_MONTEREY=y
CONFIG_HID_NTRIG=y
CONFIG_HID_PANTHERLORD=y
# CONFIG_PANTHERLORD_FF is not set
CONFIG_HID_PETALYNX=y
CONFIG_HID_SAMSUNG=y
CONFIG_HID_SONY=y
CONFIG_HID_SUNPLUS=y
CONFIG_HID_GREENASIA=y
# CONFIG_GREENASIA_FF is not set
CONFIG_HID_SMARTJOYPLUS=y
# CONFIG_SMARTJOYPLUS_FF is not set
CONFIG_HID_TOPSEED=y
CONFIG_HID_THRUSTMASTER=y
# CONFIG_THRUSTMASTER_FF is not set
CONFIG_HID_ZEROPLUS=y
# CONFIG_ZEROPLUS_FF is not set
CONFIG_USB_SUPPORT=y
CONFIG_USB_ARCH_HAS_HCD=y
CONFIG_USB_ARCH_HAS_OHCI=y
CONFIG_USB_ARCH_HAS_EHCI=y
CONFIG_USB=y
# CONFIG_USB_DEBUG is not set
# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set
#
# Miscellaneous USB options
#
# CONFIG_USB_DEVICEFS is not set
CONFIG_USB_DEVICE_CLASS=y
# CONFIG_USB_DYNAMIC_MINORS is not set
# CONFIG_USB_SUSPEND is not set
# CONFIG_USB_OTG is not set
# CONFIG_USB_MON is not set
# CONFIG_USB_WUSB is not set
# CONFIG_USB_WUSB_CBAF is not set
#
# USB Host Controller Drivers
#
# CONFIG_USB_C67X00_HCD is not set
# CONFIG_USB_XHCI_HCD is not set
# CONFIG_USB_EHCI_HCD is not set
# CONFIG_USB_OXU210HP_HCD is not set
# CONFIG_USB_ISP116X_HCD is not set
# CONFIG_USB_ISP1760_HCD is not set
# CONFIG_USB_ISP1362_HCD is not set
# CONFIG_USB_OHCI_HCD is not set
# CONFIG_USB_UHCI_HCD is not set
# CONFIG_USB_SL811_HCD is not set
# CONFIG_USB_R8A66597_HCD is not set
# CONFIG_USB_WHCI_HCD is not set
# CONFIG_USB_HWA_HCD is not set
#
# USB Device Class drivers
#
# CONFIG_USB_ACM is not set
# CONFIG_USB_PRINTER is not set
# CONFIG_USB_WDM is not set
# CONFIG_USB_TMC is not set
#
# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may
#
#
# also be needed; see USB_STORAGE Help for more info
#
# CONFIG_USB_STORAGE is not set
# CONFIG_USB_LIBUSUAL is not set
#
# USB Imaging devices
#
# CONFIG_USB_MDC800 is not set
# CONFIG_USB_MICROTEK is not set
#
# USB port drivers
#
# CONFIG_USB_SERIAL is not set
#
# USB Miscellaneous drivers
#
# CONFIG_USB_EMI62 is not set
# CONFIG_USB_EMI26 is not set
# CONFIG_USB_ADUTUX is not set
# CONFIG_USB_SEVSEG is not set
# CONFIG_USB_RIO500 is not set
# CONFIG_USB_LEGOTOWER is not set
# CONFIG_USB_LCD is not set
# CONFIG_USB_BERRY_CHARGE is not set
# CONFIG_USB_LED is not set
# CONFIG_USB_CYPRESS_CY7C63 is not set
# CONFIG_USB_CYTHERM is not set
# CONFIG_USB_IDMOUSE is not set
# CONFIG_USB_FTDI_ELAN is not set
# CONFIG_USB_APPLEDISPLAY is not set
# CONFIG_USB_LD is not set
# CONFIG_USB_TRANCEVIBRATOR is not set
# CONFIG_USB_IOWARRIOR is not set
# CONFIG_USB_TEST is not set
# CONFIG_USB_ISIGHTFW is not set
# CONFIG_USB_VST is not set
# CONFIG_USB_GADGET is not set
#
# OTG and related infrastructure
#
# CONFIG_NOP_USB_XCEIV is not set
# CONFIG_UWB is not set
# CONFIG_MMC is not set
# CONFIG_MEMSTICK is not set
# CONFIG_NEW_LEDS is not set
# CONFIG_ACCESSIBILITY is not set
# CONFIG_INFINIBAND is not set
# CONFIG_EDAC is not set
CONFIG_RTC_LIB=y
CONFIG_RTC_CLASS=y
CONFIG_RTC_HCTOSYS=y
CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
# CONFIG_RTC_DEBUG is not set
#
# RTC interfaces
#
CONFIG_RTC_INTF_SYSFS=y
CONFIG_RTC_INTF_PROC=y
CONFIG_RTC_INTF_DEV=y
# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set
# CONFIG_RTC_DRV_TEST is not set
#
# SPI RTC drivers
#
#
# Platform RTC drivers
#
# CONFIG_RTC_DRV_CMOS is not set
# CONFIG_RTC_DRV_DS1286 is not set
# CONFIG_RTC_DRV_DS1511 is not set
# CONFIG_RTC_DRV_DS1553 is not set
# CONFIG_RTC_DRV_DS1742 is not set
# CONFIG_RTC_DRV_STK17TA8 is not set
# CONFIG_RTC_DRV_M48T86 is not set
# CONFIG_RTC_DRV_M48T35 is not set
# CONFIG_RTC_DRV_M48T59 is not set
# CONFIG_RTC_DRV_MSM6242 is not set
# CONFIG_RTC_DRV_BQ4802 is not set
# CONFIG_RTC_DRV_RP5C01 is not set
# CONFIG_RTC_DRV_V3020 is not set
#
# on-CPU RTC drivers
#
CONFIG_DMADEVICES=y
#
# DMA Devices
#
CONFIG_ASYNC_TX_DISABLE_CHANNEL_SWITCH=y
CONFIG_INTEL_IOATDMA=y
CONFIG_DMA_ENGINE=y
#
# DMA Clients
#
CONFIG_NET_DMA=y
CONFIG_ASYNC_TX_DMA=y
# CONFIG_DMATEST is not set
CONFIG_DCA=y
# CONFIG_AUXDISPLAY is not set
# CONFIG_UIO is not set
#
# TI VLYNQ
#
# CONFIG_STAGING is not set
CONFIG_X86_PLATFORM_DEVICES=y
# CONFIG_ASUS_LAPTOP is not set
# CONFIG_TC1100_WMI is not set
# CONFIG_THINKPAD_ACPI is not set
# CONFIG_INTEL_MENLOW is not set
# CONFIG_ACPI_WMI is not set
# CONFIG_ACPI_ASUS is not set
# CONFIG_TOPSTAR_LAPTOP is not set
# CONFIG_ACPI_TOSHIBA is not set
# CONFIG_TOSHIBA_BT_RFKILL is not set
# CONFIG_ACPI_CMPC is not set
#
# Firmware Drivers
#
# CONFIG_EDD is not set
CONFIG_FIRMWARE_MEMMAP=y
# CONFIG_DELL_RBU is not set
# CONFIG_DCDBAS is not set
CONFIG_DMIID=y
# CONFIG_ISCSI_IBFT_FIND is not set
#
# File systems
#
CONFIG_EXT2_FS=y
CONFIG_EXT2_FS_XATTR=y
CONFIG_EXT2_FS_POSIX_ACL=y
# CONFIG_EXT2_FS_SECURITY is not set
# CONFIG_EXT2_FS_XIP is not set
CONFIG_EXT3_FS=y
# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
CONFIG_EXT3_FS_XATTR=y
CONFIG_EXT3_FS_POSIX_ACL=y
# CONFIG_EXT3_FS_SECURITY is not set
# CONFIG_EXT4_FS is not set
CONFIG_JBD=y
# CONFIG_JBD_DEBUG is not set
CONFIG_FS_MBCACHE=y
CONFIG_REISERFS_FS=y
# CONFIG_REISERFS_CHECK is not set
# CONFIG_REISERFS_PROC_INFO is not set
CONFIG_REISERFS_FS_XATTR=y
CONFIG_REISERFS_FS_POSIX_ACL=y
# CONFIG_REISERFS_FS_SECURITY is not set
# CONFIG_JFS_FS is not set
CONFIG_FS_POSIX_ACL=y
# CONFIG_XFS_FS is not set
# CONFIG_GFS2_FS is not set
# CONFIG_OCFS2_FS is not set
# CONFIG_BTRFS_FS is not set
# CONFIG_NILFS2_FS is not set
CONFIG_FILE_LOCKING=y
CONFIG_FSNOTIFY=y
CONFIG_DNOTIFY=y
CONFIG_INOTIFY=y
CONFIG_INOTIFY_USER=y
# CONFIG_QUOTA is not set
# CONFIG_AUTOFS_FS is not set
CONFIG_AUTOFS4_FS=y
# CONFIG_FUSE_FS is not set
CONFIG_GENERIC_ACL=y
#
# Caches
#
# CONFIG_FSCACHE is not set
#
# CD-ROM/DVD Filesystems
#
CONFIG_ISO9660_FS=y
CONFIG_JOLIET=y
# CONFIG_ZISOFS is not set
# CONFIG_UDF_FS is not set
#
# DOS/FAT/NT Filesystems
#
CONFIG_FAT_FS=y
CONFIG_MSDOS_FS=y
# CONFIG_VFAT_FS is not set
CONFIG_FAT_DEFAULT_CODEPAGE=437
# CONFIG_NTFS_FS is not set
#
# Pseudo filesystems
#
CONFIG_PROC_FS=y
CONFIG_PROC_KCORE=y
CONFIG_PROC_SYSCTL=y
CONFIG_PROC_PAGE_MONITOR=y
CONFIG_SYSFS=y
CONFIG_TMPFS=y
CONFIG_TMPFS_POSIX_ACL=y
CONFIG_HUGETLBFS=y
CONFIG_HUGETLB_PAGE=y
# CONFIG_CONFIGFS_FS is not set
CONFIG_MISC_FILESYSTEMS=y
# CONFIG_ADFS_FS is not set
# CONFIG_AFFS_FS is not set
# CONFIG_HFS_FS is not set
# CONFIG_HFSPLUS_FS is not set
# CONFIG_BEFS_FS is not set
# CONFIG_BFS_FS is not set
# CONFIG_EFS_FS is not set
# CONFIG_CRAMFS is not set
# CONFIG_SQUASHFS is not set
# CONFIG_VXFS_FS is not set
# CONFIG_MINIX_FS is not set
# CONFIG_OMFS_FS is not set
# CONFIG_HPFS_FS is not set
# CONFIG_QNX4FS_FS is not set
# CONFIG_ROMFS_FS is not set
# CONFIG_SYSV_FS is not set
# CONFIG_UFS_FS is not set
# CONFIG_NETWORK_FILESYSTEMS is not set
#
# Partition Types
#
# CONFIG_PARTITION_ADVANCED is not set
CONFIG_MSDOS_PARTITION=y
CONFIG_NLS=y
CONFIG_NLS_DEFAULT="iso8859-1"
CONFIG_NLS_CODEPAGE_437=y
# CONFIG_NLS_CODEPAGE_737 is not set
# CONFIG_NLS_CODEPAGE_775 is not set
# CONFIG_NLS_CODEPAGE_850 is not set
# CONFIG_NLS_CODEPAGE_852 is not set
# CONFIG_NLS_CODEPAGE_855 is not set
# CONFIG_NLS_CODEPAGE_857 is not set
# CONFIG_NLS_CODEPAGE_860 is not set
# CONFIG_NLS_CODEPAGE_861 is not set
# CONFIG_NLS_CODEPAGE_862 is not set
# CONFIG_NLS_CODEPAGE_863 is not set
# CONFIG_NLS_CODEPAGE_864 is not set
# CONFIG_NLS_CODEPAGE_865 is not set
# CONFIG_NLS_CODEPAGE_866 is not set
# CONFIG_NLS_CODEPAGE_869 is not set
# CONFIG_NLS_CODEPAGE_936 is not set
# CONFIG_NLS_CODEPAGE_950 is not set
# CONFIG_NLS_CODEPAGE_932 is not set
# CONFIG_NLS_CODEPAGE_949 is not set
# CONFIG_NLS_CODEPAGE_874 is not set
# CONFIG_NLS_ISO8859_8 is not set
# CONFIG_NLS_CODEPAGE_1250 is not set
# CONFIG_NLS_CODEPAGE_1251 is not set
CONFIG_NLS_ASCII=y
CONFIG_NLS_ISO8859_1=y
# CONFIG_NLS_ISO8859_2 is not set
# CONFIG_NLS_ISO8859_3 is not set
# CONFIG_NLS_ISO8859_4 is not set
# CONFIG_NLS_ISO8859_5 is not set
# CONFIG_NLS_ISO8859_6 is not set
# CONFIG_NLS_ISO8859_7 is not set
# CONFIG_NLS_ISO8859_9 is not set
# CONFIG_NLS_ISO8859_13 is not set
# CONFIG_NLS_ISO8859_14 is not set
CONFIG_NLS_ISO8859_15=y
# CONFIG_NLS_KOI8_R is not set
# CONFIG_NLS_KOI8_U is not set
CONFIG_NLS_UTF8=y
# CONFIG_DLM is not set
#
# Kernel hacking
#
CONFIG_TRACE_IRQFLAGS_SUPPORT=y
# CONFIG_PRINTK_TIME is not set
# CONFIG_ENABLE_WARN_DEPRECATED is not set
# CONFIG_ENABLE_MUST_CHECK is not set
CONFIG_FRAME_WARN=1024
CONFIG_MAGIC_SYSRQ=y
# CONFIG_STRIP_ASM_SYMS is not set
CONFIG_UNUSED_SYMBOLS=y
CONFIG_DEBUG_FS=y
# CONFIG_HEADERS_CHECK is not set
# CONFIG_DEBUG_KERNEL is not set
CONFIG_DEBUG_BUGVERBOSE=y
CONFIG_DEBUG_MEMORY_INIT=y
CONFIG_ARCH_WANT_FRAME_POINTERS=y
# CONFIG_FRAME_POINTER is not set
# CONFIG_RCU_CPU_STALL_DETECTOR is not set
# CONFIG_LATENCYTOP is not set
# CONFIG_SYSCTL_SYSCALL_CHECK is not set
CONFIG_USER_STACKTRACE_SUPPORT=y
CONFIG_HAVE_FUNCTION_TRACER=y
CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
CONFIG_HAVE_FUNCTION_GRAPH_FP_TEST=y
CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST=y
CONFIG_HAVE_DYNAMIC_FTRACE=y
CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
CONFIG_HAVE_SYSCALL_TRACEPOINTS=y
CONFIG_RING_BUFFER=y
CONFIG_RING_BUFFER_ALLOW_SWAP=y
CONFIG_TRACING_SUPPORT=y
# CONFIG_FTRACE is not set
# CONFIG_PROVIDE_OHCI1394_DMA_INIT is not set
# CONFIG_DYNAMIC_DEBUG is not set
# CONFIG_DMA_API_DEBUG is not set
# CONFIG_SAMPLES is not set
CONFIG_HAVE_ARCH_KGDB=y
CONFIG_HAVE_ARCH_KMEMCHECK=y
# CONFIG_STRICT_DEVMEM is not set
CONFIG_X86_VERBOSE_BOOTUP=y
CONFIG_EARLY_PRINTK=y
# CONFIG_EARLY_PRINTK_DBGP is not set
# CONFIG_4KSTACKS is not set
CONFIG_DOUBLEFAULT=y
# CONFIG_IOMMU_STRESS is not set
CONFIG_HAVE_MMIOTRACE_SUPPORT=y
CONFIG_IO_DELAY_TYPE_0X80=0
CONFIG_IO_DELAY_TYPE_0XED=1
CONFIG_IO_DELAY_TYPE_UDELAY=2
CONFIG_IO_DELAY_TYPE_NONE=3
# CONFIG_IO_DELAY_0X80 is not set
CONFIG_IO_DELAY_0XED=y
# CONFIG_IO_DELAY_UDELAY is not set
# CONFIG_IO_DELAY_NONE is not set
CONFIG_DEFAULT_IO_DELAY_TYPE=1
# CONFIG_OPTIMIZE_INLINING is not set
#
# Security options
#
# CONFIG_KEYS is not set
# CONFIG_SECURITY is not set
# CONFIG_SECURITYFS is not set
# CONFIG_INTEL_TXT is not set
# CONFIG_DEFAULT_SECURITY_SELINUX is not set
# CONFIG_DEFAULT_SECURITY_SMACK is not set
# CONFIG_DEFAULT_SECURITY_TOMOYO is not set
CONFIG_DEFAULT_SECURITY_DAC=y
CONFIG_DEFAULT_SECURITY=""
CONFIG_ASYNC_TX_DISABLE_PQ_VAL_DMA=y
CONFIG_ASYNC_TX_DISABLE_XOR_VAL_DMA=y
CONFIG_CRYPTO=y
#
# Crypto core or helper
#
CONFIG_CRYPTO_ALGAPI=y
CONFIG_CRYPTO_ALGAPI2=y
CONFIG_CRYPTO_AEAD=y
CONFIG_CRYPTO_AEAD2=y
CONFIG_CRYPTO_BLKCIPHER=y
CONFIG_CRYPTO_BLKCIPHER2=y
CONFIG_CRYPTO_HASH=y
CONFIG_CRYPTO_HASH2=y
CONFIG_CRYPTO_RNG2=y
CONFIG_CRYPTO_PCOMP=y
CONFIG_CRYPTO_MANAGER=y
CONFIG_CRYPTO_MANAGER2=y
# CONFIG_CRYPTO_GF128MUL is not set
# CONFIG_CRYPTO_NULL is not set
CONFIG_CRYPTO_WORKQUEUE=y
# CONFIG_CRYPTO_CRYPTD is not set
CONFIG_CRYPTO_AUTHENC=y
# CONFIG_CRYPTO_TEST is not set
#
# Authenticated Encryption with Associated Data
#
# CONFIG_CRYPTO_CCM is not set
# CONFIG_CRYPTO_GCM is not set
# CONFIG_CRYPTO_SEQIV is not set
#
# Block modes
#
CONFIG_CRYPTO_CBC=y
# CONFIG_CRYPTO_CTR is not set
# CONFIG_CRYPTO_CTS is not set
# CONFIG_CRYPTO_ECB is not set
# CONFIG_CRYPTO_LRW is not set
# CONFIG_CRYPTO_PCBC is not set
# CONFIG_CRYPTO_XTS is not set
#
# Hash modes
#
CONFIG_CRYPTO_HMAC=y
# CONFIG_CRYPTO_XCBC is not set
# CONFIG_CRYPTO_VMAC is not set
#
# Digest
#
# CONFIG_CRYPTO_CRC32C is not set
# CONFIG_CRYPTO_CRC32C_INTEL is not set
# CONFIG_CRYPTO_GHASH is not set
# CONFIG_CRYPTO_MD4 is not set
CONFIG_CRYPTO_MD5=y
# CONFIG_CRYPTO_MICHAEL_MIC is not set
# CONFIG_CRYPTO_RMD128 is not set
# CONFIG_CRYPTO_RMD160 is not set
# CONFIG_CRYPTO_RMD256 is not set
# CONFIG_CRYPTO_RMD320 is not set
CONFIG_CRYPTO_SHA1=y
# CONFIG_CRYPTO_SHA256 is not set
# CONFIG_CRYPTO_SHA512 is not set
# CONFIG_CRYPTO_TGR192 is not set
# CONFIG_CRYPTO_WP512 is not set
#
# Ciphers
#
# CONFIG_CRYPTO_AES is not set
# CONFIG_CRYPTO_AES_586 is not set
# CONFIG_CRYPTO_ANUBIS is not set
# CONFIG_CRYPTO_ARC4 is not set
# CONFIG_CRYPTO_BLOWFISH is not set
# CONFIG_CRYPTO_CAMELLIA is not set
# CONFIG_CRYPTO_CAST5 is not set
# CONFIG_CRYPTO_CAST6 is not set
CONFIG_CRYPTO_DES=y
# CONFIG_CRYPTO_FCRYPT is not set
# CONFIG_CRYPTO_KHAZAD is not set
# CONFIG_CRYPTO_SALSA20 is not set
# CONFIG_CRYPTO_SALSA20_586 is not set
# CONFIG_CRYPTO_SEED is not set
# CONFIG_CRYPTO_SERPENT is not set
# CONFIG_CRYPTO_TEA is not set
# CONFIG_CRYPTO_TWOFISH is not set
# CONFIG_CRYPTO_TWOFISH_586 is not set
#
# Compression
#
CONFIG_CRYPTO_DEFLATE=y
# CONFIG_CRYPTO_ZLIB is not set
# CONFIG_CRYPTO_LZO is not set
#
# Random Number Generation
#
# CONFIG_CRYPTO_ANSI_CPRNG is not set
CONFIG_CRYPTO_HW=y
# CONFIG_CRYPTO_DEV_PADLOCK is not set
# CONFIG_CRYPTO_DEV_GEODE is not set
# CONFIG_CRYPTO_DEV_HIFN_795X is not set
CONFIG_HAVE_KVM=y
# CONFIG_VIRTUALIZATION is not set
# CONFIG_BINARY_PRINTF is not set
#
# Library routines
#
CONFIG_BITREVERSE=y
CONFIG_GENERIC_FIND_FIRST_BIT=y
CONFIG_GENERIC_FIND_NEXT_BIT=y
CONFIG_GENERIC_FIND_LAST_BIT=y
# CONFIG_CRC_CCITT is not set
# CONFIG_CRC16 is not set
# CONFIG_CRC_T10DIF is not set
# CONFIG_CRC_ITU_T is not set
CONFIG_CRC32=y
# CONFIG_CRC7 is not set
# CONFIG_LIBCRC32C is not set
CONFIG_ZLIB_INFLATE=y
CONFIG_ZLIB_DEFLATE=y
CONFIG_LZO_DECOMPRESS=y
CONFIG_DECOMPRESS_GZIP=y
CONFIG_DECOMPRESS_BZIP2=y
CONFIG_DECOMPRESS_LZMA=y
CONFIG_DECOMPRESS_LZO=y
CONFIG_HAS_IOMEM=y
CONFIG_HAS_IOPORT=y
CONFIG_HAS_DMA=y
CONFIG_NLATTR=y
[-- Attachment #5: ethtool.txt --]
[-- Type: text/plain, Size: 2951 bytes --]
ethtool -e eth1
Offset Values
------ ------
0x0000 00 30 48 d3 33 d8 20 0d 46 f7 57 00 ff ff ff ff
0x0010 ff ff ff ff 6b 02 9a 10 d9 15 9a 10 86 80 df 80
0x0020 00 00 00 20 54 7e 00 00 00 10 da 00 04 00 00 27
0x0030 c9 6c 50 31 32 07 0b 04 84 29 00 00 00 c0 06 07
0x0040 08 10 00 00 04 0f ff 7f 01 4d ff ff ff ff ff ff
0x0050 14 00 1d 00 14 00 1d 00 af aa 1e 00 00 00 1d 00
0x0060 00 01 00 40 ff ff ff ff ff ff ff ff ff ff ff ff
0x0070 ff ff ff ff ff ff ff ff ff ff ff ff ff ff 4f 57
ethtool -d eth1
MAC Registers
-------------
0x00000: CTRL (Device control register) 0x00140248
Endian mode (buffers): little
Link reset: reset
Set link up: 1
Invert Loss-Of-Signal: no
Receive flow control: disabled
Transmit flow control: disabled
VLAN mode: disabled
Auto speed detect: disabled
Speed select: 1000Mb/s
Force speed: no
Force duplex: no
0x00008: STATUS (Device status register) 0x80080783
Duplex: full
Link up: link config
TBI mode: disabled
Link speed: 1000Mb/s
Bus type: PCI Express
Port number: 0
0x00100: RCTL (Receive control register) 0x04048002
Receiver: enabled
Store bad packets: disabled
Unicast promiscuous: disabled
Multicast promiscuous: disabled
Long packet: disabled
Descriptor minimum threshold size: 1/2
Broadcast accept mode: accept
VLAN filter: enabled
Canonical form indicator: disabled
Discard pause frames: filtered
Pass MAC control frames: don't pass
Receive buffer size: 2048
0x02808: RDLEN (Receive desc length) 0x00002000
0x02810: RDH (Receive desc head) 0x000000C2
0x02818: RDT (Receive desc tail) 0x000000BF
0x02820: RDTR (Receive delay timer) 0x00000000
0x00400: TCTL (Transmit ctrl register) 0x3103F0FA
Transmitter: enabled
Pad short packets: enabled
Software XOFF Transmission: disabled
Re-transmit on late collision: enabled
0x03808: TDLEN (Transmit desc length) 0x00002000
0x03810: TDH (Transmit desc head) 0x00000189
0x03818: TDT (Transmit desc tail) 0x0000018A
0x03820: TIDV (Transmit delay timer) 0x00000008
PHY type: IGP2
[-- Attachment #6: Type: text/plain, Size: 345 bytes --]
------------------------------------------------------------------------------
Download Intel® Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
[-- Attachment #7: Type: text/plain, Size: 257 bytes --]
_______________________________________________
E1000-devel mailing list
E1000-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/e1000-devel
To learn more about Intel® Ethernet, visit http://communities.intel.com/community/wired
^ permalink raw reply
* Re: Undefined behaviour of connect(fd, NULL, 0);
From: Stephen Hemminger @ 2010-03-31 18:49 UTC (permalink / raw)
To: Neil Brown; +Cc: netdev
In-Reply-To: <20100331223637.31f5f6ed@notabene.brown>
On Wed, 31 Mar 2010 22:36:37 +1100
Neil Brown <neilb@suse.de> wrote:
>
> Hi Netdev.
>
> We have a customer who was reporting strangely unpredictable behaviour of an
> in-house application that used networking.
>
> It called connect on a non-blocking socket and subsequently called
> connect(fd, NULL, 0)
>
> to check if the connection had succeeded.
> This would sometime "work" and sometimes close the connection.
>
> Looking at the code (sys_connect, move_addr_to_kernel, inet_stream_connect),
> it seems that in this case an uninitialised on-stack address is passed
> to inet_stream_connect and it makes a decision based on ->sa_family (which is
> uninitialised).
>
> It seems clear that connect(fd, NULL, 0) is the wrong thing to do in this
> circumstance, but I think it would be good if it failed consistently rather
> than unpredictably.
>
> Would it be appropriate for move_addr_to_kernel to zero out the remainder of
> the address?
> memset(kaddr+ulen, 0, MAX_SOCK_ADDR-ulen);
> ??
>
> Then connect(fd, NULL, 0) would always break the connection.
I think the problem is inet_stream_connect referencing past addr_len.
--- a/net/ipv4/af_inet.c 2010-03-31 11:47:01.952910248 -0700
+++ b/net/ipv4/af_inet.c 2010-03-31 11:48:09.852938406 -0700
@@ -575,7 +575,7 @@ int inet_stream_connect(struct socket *s
lock_sock(sk);
- if (uaddr->sa_family == AF_UNSPEC) {
+ if (addr_len < sizeof(sa_family_t) || uaddr->sa_family == AF_UNSPEC) {
err = sk->sk_prot->disconnect(sk, flags);
sock->state = err ? SS_DISCONNECTING : SS_UNCONNECTED;
goto out;
^ permalink raw reply
* Re: [net-next-2.6 PATCH] netfilter: ctnetlink: compute message size properly
From: Eric Dumazet @ 2010-03-31 18:35 UTC (permalink / raw)
To: Jiri Pirko
Cc: Patrick McHardy, netdev, netfilter-devel, netfilter, davem,
Krzysztof Oledzki
In-Reply-To: <20100331182116.GB2822@psychotron.redhat.com>
Le mercredi 31 mars 2010 à 20:21 +0200, Jiri Pirko a écrit :
> Okay, I see your point. How about this:
>
> Subject: [net-next-2.6 PATCH] netfilter: ctnetlink: compute message size properly V2
>
> Message size should be dependent on net->ct.sysctl_acct, not on
> CONFIG_NF_CT_ACCT definition.
>
Then Changelog is not updated with the actual test :)
> Signed-off-by: Jiri Pirko <jpirko@redhat.com>
>
> diff --git a/net/netfilter/nf_conntrack_netlink.c b/net/netfilter/nf_conntrack_netlink.c
> index 569410a..44487d8 100644
> --- a/net/netfilter/nf_conntrack_netlink.c
> +++ b/net/netfilter/nf_conntrack_netlink.c
> @@ -426,6 +426,17 @@ ctnetlink_proto_size(const struct nf_conn *ct)
> }
>
> static inline size_t
> +ctnetlink_counters_size(const struct nf_conn *ct)
> +{
> + if (!nf_ct_ext_exist(ct, NF_CT_EXT_ACCT))
> + return 0;
> + return 2 * nla_total_size(0) /* CTA_COUNTERS_ORIG|REPL */
> + + 2 * nla_total_size(sizeof(uint64_t)) /* CTA_COUNTERS_PACKETS */
> + + 2 * nla_total_size(sizeof(uint64_t)) /* CTA_COUNTERS_BYTES */
> + ;
> +}
> +
> +static inline size_t
> ctnetlink_nlmsg_size(const struct nf_conn *ct)
> {
> return NLMSG_ALIGN(sizeof(struct nfgenmsg))
> @@ -435,11 +446,7 @@ ctnetlink_nlmsg_size(const struct nf_conn *ct)
> + 3 * nla_total_size(sizeof(u_int8_t)) /* CTA_PROTO_NUM */
> + nla_total_size(sizeof(u_int32_t)) /* CTA_ID */
> + nla_total_size(sizeof(u_int32_t)) /* CTA_STATUS */
> -#ifdef CONFIG_NF_CT_ACCT
> - + 2 * nla_total_size(0) /* CTA_COUNTERS_ORIG|REPL */
> - + 2 * nla_total_size(sizeof(uint64_t)) /* CTA_COUNTERS_PACKETS */
> - + 2 * nla_total_size(sizeof(uint64_t)) /* CTA_COUNTERS_BYTES */
> -#endif
> + + ctnetlink_counters_size(ct)
> + nla_total_size(sizeof(u_int32_t)) /* CTA_TIMEOUT */
> + nla_total_size(0) /* CTA_PROTOINFO */
> + nla_total_size(0) /* CTA_HELP */
> --
> To unsubscribe from this list: send the line "unsubscribe netdev" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>
^ permalink raw reply
* Re: [PATCH] can: Add esd board support to plx_pci CAN driver
From: Wolfgang Grandegger @ 2010-03-31 18:25 UTC (permalink / raw)
To: Matthias Fuchs; +Cc: netdev, Socketcan-core
In-Reply-To: <201003311732.59921.matthias.fuchs@esd.eu>
Hi Matthias,
Matthias Fuchs wrote:
> This patch adds support for SJA1000 based PCI CAN interface cards
> from electronic system design gmbh.
>
> Two changes have been done on the common code:
> - esd boards must not have the 2nd local interupt enabled (PLX9030/9050)
> - a new path for PLX9056/PEX8311 chips has been added
>
> In detail the following additional boards are now supported:
>
> CAN-PCI/200 (PCI)
> CAN-PCI/266 (PCI)
> CAN-PMC266 (PMC module)
> CAN-PCIe/2000 (PCI Express)
> CAN-CPCI/200 (Compact PCI, 3U)
> CAN-PCI104 (PCI104)
>
> Signed-off-by: Matthias Fuchs <matthias.fuchs@esd.eu>
Could you also please update the corresponding Kconfig entry. Apart
from that, the patch looks good.
Thanks,
Wolfgang.
> drivers/net/can/sja1000/plx_pci.c | 110 ++++++++++++++++++++++++++++++++++---
> 1 files changed, 101 insertions(+), 9 deletions(-)
>
> diff --git a/drivers/net/can/sja1000/plx_pci.c b/drivers/net/can/sja1000/plx_pci.c
> index 6b46a63..42602e9 100644
> --- a/drivers/net/can/sja1000/plx_pci.c
> +++ b/drivers/net/can/sja1000/plx_pci.c
> @@ -40,7 +40,10 @@ MODULE_DESCRIPTION("Socket-CAN driver for PLX90xx PCI-bridge cards with "
> MODULE_SUPPORTED_DEVICE("Adlink PCI-7841/cPCI-7841, "
> "Adlink PCI-7841/cPCI-7841 SE, "
> "Marathon CAN-bus-PCI, "
> - "TEWS TECHNOLOGIES TPMC810");
> + "TEWS TECHNOLOGIES TPMC810, "
> + "esd CAN-PCI/CPCI/PCI104/200, "
> + "esd CAN-PCI/PMC/266, "
> + "esd CAN-PCIe/2000")
> MODULE_LICENSE("GPL v2");
>
> #define PLX_PCI_MAX_CHAN 2
> @@ -53,7 +56,7 @@ struct plx_pci_card {
>
> #define PLX_PCI_CAN_CLOCK (16000000 / 2)
>
> -/* PLX90xx registers */
> +/* PLX9030/9050/9052 registers */
> #define PLX_INTCSR 0x4c /* Interrupt Control/Status */
> #define PLX_CNTRL 0x50 /* User I/O, Direct Slave Response,
> * Serial EEPROM, and Initialization
> @@ -65,6 +68,12 @@ struct plx_pci_card {
> #define PLX_PCI_INT_EN (1 << 6) /* PCI Interrupt Enable */
> #define PLX_PCI_RESET (1 << 30) /* PCI Adapter Software Reset */
>
> +/* PLX9056 registers */
> +#define PLX9056_INTCSR 0x68 /* Interrupt Control/Status */
> +
> +#define PLX9056_LINTI (1 << 11)
> +#define PLX9056_PCI_INT_EN (1 << 8)
> +
> /*
> * The board configuration is probably following:
> * RX1 is connected to ground.
> @@ -100,6 +109,13 @@ struct plx_pci_card {
> #define ADLINK_PCI_VENDOR_ID 0x144A
> #define ADLINK_PCI_DEVICE_ID 0x7841
>
> +#define ESD_PCI_SUB_SYS_ID_PCI200 0x0004
> +#define ESD_PCI_SUB_SYS_ID_PCI266 0x0009
> +#define ESD_PCI_SUB_SYS_ID_PMC266 0x000e
> +#define ESD_PCI_SUB_SYS_ID_CPCI200 0x010b
> +#define ESD_PCI_SUB_SYS_ID_PCIE2000 0x0200
> +#define ESD_PCI_SUB_SYS_ID_PCI104200 0x0501
> +
> #define MARATHON_PCI_DEVICE_ID 0x2715
>
> #define TEWS_PCI_VENDOR_ID 0x1498
> @@ -147,6 +163,30 @@ static struct plx_pci_card_info plx_pci_card_info_adlink_se __devinitdata = {
> /* based on PLX9052 */
> };
>
> +static struct plx_pci_card_info plx_pci_card_info_esd200 __devinitdata = {
> + "esd CAN-PCI/CPCI/PCI104/200", 2,
> + PLX_PCI_CAN_CLOCK, PLX_PCI_OCR, PLX_PCI_CDR,
> + {0, 0x00, 0x00}, { {2, 0x00, 0x80}, {2, 0x100, 0x80} },
> + &plx_pci_reset_common
> + /* based on PLX9030/9050 */
> +};
> +
> +static struct plx_pci_card_info plx_pci_card_info_esd266 __devinitdata = {
> + "esd CAN-PCI/PMC/266", 2,
> + PLX_PCI_CAN_CLOCK, PLX_PCI_OCR, PLX_PCI_CDR,
> + {0, 0x00, 0x00}, { {2, 0x00, 0x80}, {2, 0x100, 0x80} },
> + &plx_pci_reset_common
> + /* based on PLX9056 */
> +};
> +
> +static struct plx_pci_card_info plx_pci_card_info_esd2000 __devinitdata = {
> + "esd CAN-PCIe/2000", 2,
> + PLX_PCI_CAN_CLOCK, PLX_PCI_OCR, PLX_PCI_CDR,
> + {0, 0x00, 0x00}, { {2, 0x00, 0x80}, {2, 0x100, 0x80} },
> + &plx_pci_reset_common
> + /* based on PEX8311 */
> +};
> +
> static struct plx_pci_card_info plx_pci_card_info_marathon __devinitdata = {
> "Marathon CAN-bus-PCI", 2,
> PLX_PCI_CAN_CLOCK, PLX_PCI_OCR, PLX_PCI_CDR,
> @@ -179,6 +219,48 @@ static DEFINE_PCI_DEVICE_TABLE(plx_pci_tbl) = {
> (kernel_ulong_t)&plx_pci_card_info_adlink_se
> },
> {
> + /* esd CAN-PCI/200 */
> + PCI_VENDOR_ID_PLX, PCI_DEVICE_ID_PLX_9050,
> + PCI_VENDOR_ID_ESDGMBH, ESD_PCI_SUB_SYS_ID_PCI200,
> + 0, 0,
> + (kernel_ulong_t)&plx_pci_card_info_esd200
> + },
> + {
> + /* esd CAN-CPCI/200 */
> + PCI_VENDOR_ID_PLX, PCI_DEVICE_ID_PLX_9030,
> + PCI_VENDOR_ID_ESDGMBH, ESD_PCI_SUB_SYS_ID_CPCI200,
> + 0, 0,
> + (kernel_ulong_t)&plx_pci_card_info_esd200
> + },
> + {
> + /* esd CAN-PCI104/200 */
> + PCI_VENDOR_ID_PLX, PCI_DEVICE_ID_PLX_9030,
> + PCI_VENDOR_ID_ESDGMBH, ESD_PCI_SUB_SYS_ID_PCI104200,
> + 0, 0,
> + (kernel_ulong_t)&plx_pci_card_info_esd200
> + },
> + {
> + /* esd CAN-PCI/266 */
> + PCI_VENDOR_ID_PLX, PCI_DEVICE_ID_PLX_9056,
> + PCI_VENDOR_ID_ESDGMBH, ESD_PCI_SUB_SYS_ID_PCI266,
> + 0, 0,
> + (kernel_ulong_t)&plx_pci_card_info_esd266
> + },
> + {
> + /* esd CAN-PMC/266 */
> + PCI_VENDOR_ID_PLX, PCI_DEVICE_ID_PLX_9056,
> + PCI_VENDOR_ID_ESDGMBH, ESD_PCI_SUB_SYS_ID_PMC266,
> + 0, 0,
> + (kernel_ulong_t)&plx_pci_card_info_esd266
> + },
> + {
> + /* esd CAN-PCIE/2000 */
> + PCI_VENDOR_ID_PLX, PCI_DEVICE_ID_PLX_9056,
> + PCI_VENDOR_ID_ESDGMBH, ESD_PCI_SUB_SYS_ID_PCIE2000,
> + 0, 0,
> + (kernel_ulong_t)&plx_pci_card_info_esd2000
> + },
> + {
> /* Marathon CAN-bus-PCI card */
> PCI_VENDOR_ID_PLX, MARATHON_PCI_DEVICE_ID,
> PCI_ANY_ID, PCI_ANY_ID,
> @@ -304,10 +386,13 @@ static void plx_pci_del_card(struct pci_dev *pdev)
> plx_pci_reset_common(pdev);
>
> /*
> - * Disable interrupts from PCI-card (PLX90xx) and disable Local_1,
> - * Local_2 interrupts
> + * Disable interrupts from PCI-card and disable local
> + * interrupts
> */
> - iowrite32(0x0, card->conf_addr + PLX_INTCSR);
> + if (pdev->device != PCI_DEVICE_ID_PLX_9056)
> + iowrite32(0x0, card->conf_addr + PLX_INTCSR);
> + else
> + iowrite32(0x0, card->conf_addr + PLX9056_INTCSR);
>
> if (card->conf_addr)
> pci_iounmap(pdev, card->conf_addr);
> @@ -437,10 +522,17 @@ static int __devinit plx_pci_add_card(struct pci_dev *pdev,
> * Enable interrupts from PCI-card (PLX90xx) and enable Local_1,
> * Local_2 interrupts from the SJA1000 chips
> */
> - val = ioread32(card->conf_addr + PLX_INTCSR);
> - val |= PLX_LINT1_EN | PLX_LINT2_EN | PLX_PCI_INT_EN;
> - iowrite32(val, card->conf_addr + PLX_INTCSR);
> -
> + if (pdev->device != PCI_DEVICE_ID_PLX_9056) {
> + val = ioread32(card->conf_addr + PLX_INTCSR);
> + if (pdev->subsystem_vendor == PCI_VENDOR_ID_ESDGMBH)
> + val |= PLX_LINT1_EN | PLX_PCI_INT_EN;
> + else
> + val |= PLX_LINT1_EN | PLX_LINT2_EN | PLX_PCI_INT_EN;
> + iowrite32(val, card->conf_addr + PLX_INTCSR);
> + } else {
> + iowrite32(PLX9056_LINTI | PLX9056_PCI_INT_EN,
> + card->conf_addr + PLX9056_INTCSR);
> + }
> return 0;
>
> failure_cleanup:
^ 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