* Re: [PATCH net-next-2.6 v3 1/1] can: c_can: Added support for Bosch C_CAN controller
From: Wolfgang Grandegger @ 2011-01-11 18:25 UTC (permalink / raw)
To: Bhupesh SHARMA
Cc: Socketcan-core-0fE9KPoRgkgATYTw5x5z8w@public.gmane.org,
netdev-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, Marc Kleine-Budde,
David Miller, Oliver Hartkopp
In-Reply-To: <4D2C14FE.7080903-5Yr1BZd7O62+XT7JhA+gdA@public.gmane.org>
Hello,
On 01/11/2011 09:29 AM, Wolfgang Grandegger wrote:
> Hi Bhupesh,
>
> On 01/11/2011 05:50 AM, Bhupesh SHARMA wrote:
>> Hi Wolfgang,
>>
>> Thanks for your review.
>> Please see my comments inline.
>>
>>> -----Original Message-----
>>> From: Wolfgang Grandegger [mailto:wg-5Yr1BZd7O62+XT7JhA+gdA@public.gmane.org]
> ...
>
>>>> + * Bosch C_CAN controller is compliant to CAN protocol version 2.0
>>> part A and B.
>>>> + * Bosch C_CAN user manual can be obtained from:
>>>> + * http://www.semiconductors.bosch.de/pdf/Users_Manual_C_CAN.pdf
>>>
>>> Unfortunately, this link is not valid any more.
>>
>> Oops..
>> It seems they have shifted to:
>> http://www.semiconductors.bosch.de/media/en/pdf/ipmodules_1/c_can/users_manual_c_can.pdf
>
> Ah, nice. I was not aware of that new link.
I was told that Bosch's page for the C_CAN is here:
http://www.semiconductors.bosch.de/en/ipmodules/can/canipmodules/c_can/c_can.asp
There it's also written for what bus interfaces the C_CAN is available for, e.g.:
"The ASIC version is delivered with the AMBA APB bus interface from ARM."
which is obviously used in the "Platform Controller Hub" eg20t.
Wolfgang.
>
> ...
>>>> +int c_can_write_msg_object(struct net_device *dev,
>>>> + int iface, struct can_frame *frame, int objno)
>>>> +{
>>>> + int i;
>>>> + u16 flags = 0;
>>>> + unsigned int id;
>>>> + struct c_can_priv *priv = netdev_priv(dev);
>>>> +
>>>> + if (frame->can_id & CAN_EFF_FLAG) {
>>>> + id = frame->can_id & CAN_EFF_MASK;
>>>> + flags |= IF_ARB_MSGXTD;
>>>> + } else
>>>> + id = ((frame->can_id & CAN_SFF_MASK) << 18);
>
> I just realize that the {} for the else block is missing.
>
>>>> + /*
>>>> + * check for 'last error code' which tells us the
>>>> + * type of the last error to occur on the CAN bus
>>>> + */
>>>> + switch (lec_type) {
>>>> + /* common for all type of bus errors */
>>>> + priv->can.can_stats.bus_error++;
>>>> + stats->rx_errors++;
>>>> + cf->can_id |= CAN_ERR_PROT | CAN_ERR_BUSERROR;
>>>> + cf->data[2] |= CAN_ERR_PROT_UNSPEC;
>>>
>>> Are you sure that this part is ever executed? I wonder why the compile
>>> does
>>> not complain.
>>
>> I did not get any compilation error.
>
> I know.
>
>> But I will check if the program flow enters this part or not.
>
> Good. It was *not* executed in my little user space test program.
>
> ...
>>>> +static int __devexit c_can_plat_remove(struct platform_device *pdev)
>>>> +{
>>>> + struct net_device *dev = platform_get_drvdata(pdev);
>>>> + struct c_can_priv *priv = netdev_priv(dev);
>>>> + struct resource *mem;
>>>> +
>>>> + /* disable all interrupts */
>>>> + c_can_enable_all_interrupts(priv, DISABLE_ALL_INTERRUPTS);
>>>
>>> To avoid exportign that function, couldn't it be done at the beginning
>>> of
>>> unregister_c_can_dev()?
>>
>> Yes this can be done.
>> But, IMHO *disabling* interrupts seems more logical as part of __devexit
>> Code.
>
> I think the interrupts are already disabled when you unload the module
> because the device must be closed (c_can_stop has been called). Anyway,
> I think the above c_can_enable_all_interrupts() call is well placed in
> the unregister function. I would avoid the export the function.
>
> Wolfgang.
> _______________________________________________
> Socketcan-core mailing list
> Socketcan-core-0fE9KPoRgkgATYTw5x5z8w@public.gmane.org
> https://lists.berlios.de/mailman/listinfo/socketcan-core
>
>
^ permalink raw reply
* Re: Bug#609538: r8169: long delay during resume
From: Francois Romieu @ 2011-01-11 20:28 UTC (permalink / raw)
To: Jarek Kamiński; +Cc: Ben Hutchings, 609538, Hayes Wang, netdev
In-Reply-To: <4D2C9FA8.7010401@vilo.eu.org>
Jarek Kamiński <jarek@vilo.eu.org> :
[failure]
/me slaps head
Please check that it works if you add the patch below and I'll
merge both for a proper submission.
r8169: I am a clown.
Modifying rtl8169_reset_task() to tolerate firmware changes between
close() and open() but this is not high-priority.
Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
diff --git a/drivers/net/r8169.c b/drivers/net/r8169.c
index 7e2f01c..57fa6bd 100644
--- a/drivers/net/r8169.c
+++ b/drivers/net/r8169.c
@@ -3119,6 +3119,8 @@ static void __devexit rtl8169_remove_one(struct pci_dev *pdev)
cancel_delayed_work_sync(&tp->task);
+ rtl_release_firmware(tp);
+
unregister_netdev(dev);
if (pci_dev_run_wake(pdev))
@@ -4679,8 +4681,6 @@ static int rtl8169_close(struct net_device *dev)
tp->TxDescArray = NULL;
tp->RxDescArray = NULL;
- rtl_release_firmware(tp);
-
pm_runtime_put_sync(&pdev->dev);
return 0;
> "r8169: delay phy init until device opens." alone also doesn't do the trick.
It was the expected behavior.
--
Ueimor
^ permalink raw reply related
* Re: [PATCH V8 02/13] ntp: add ADJ_SETOFFSET mode bit
From: Kuwahara,T. @ 2011-01-11 20:32 UTC (permalink / raw)
To: john stultz
Cc: Richard Cochran, linux-kernel-u79uwXL29TY76Z2rM5mHXA,
linux-api-u79uwXL29TY76Z2rM5mHXA, netdev-u79uwXL29TY76Z2rM5mHXA,
Alan Cox, Arnd Bergmann, Christoph Lameter, David Miller,
Krzysztof Halasa, Peter Zijlstra, Rodolfo Giometti,
Thomas Gleixner
In-Reply-To: <1294693597.3068.12.camel@work-vm>
On Tue, Jan 11, 2011 at 6:06 AM, john stultz <johnstul-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org> wrote:
> On Tue, 2011-01-11 at 05:45 +0900, Kuwahara,T. wrote:
>> On Tue, Jan 11, 2011 at 1:49 AM, john stultz <johnstul-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org> wrote:
>> > Leapsecond processing is done via an absolute hrtimer. Thus when the
>> > time offset is set, the hrtimers that should have expired will fire
>> > (just like with settimeofday) and the adjustment will then be made.
>>
>> How do you convert relative time to absolute time? It's not trivial
>> because TAI offset is also a variable.
>
> I don't believe I understand what you're getting at.
>
> The proposed interface is almost identical in functionality to a
> userland application doing the following:
>
> offset = my_calculate_offset();
> clock_gettime(CLOCK_REALTIME, &now);
> newtime = my_add_ts(now, offset);
> settimeofday(&newtime, 0);
>
> The only difference is that you avoid the error from the delay between
> the gettime call and the settime call. It just adds the offset directly
> to the CLOCK_REALTIME.
For example, what time was it 3 seconds after 2008-12-31 23:59:59?
You may say, of course it's 2009-01-01 00:00:02. But it's not true.
You wonder why? Because a leap second had been added at midnight.
unix time UTC offset
---------- -------- ---
1230767997 23:59:57 -2
1230767998 23:59:58 -1
1230767999 23:59:59 0
1230768000 23:59:60 1 (leap second)
1230768000 00:00:00 2
1230768001 00:00:01 3
1230768002 00:00:02 4
That's why I said it's not trivial, and that your patch is broken and
thus useless. Unfortunately, there's no remedy for this as long as a
nonlinear timescale such as the unix time is being used, since the
leap second insertion/deletion is a non-deterministic event.
^ permalink raw reply
* Re: [PATCH] new UDPCP Communication Protocol
From: Stefani Seibold @ 2011-01-11 20:50 UTC (permalink / raw)
To: Eric Dumazet
Cc: linux-kernel, akpm, davem, netdev, shemminger, jj, daniel.baluta,
jochen, hagen, torvalds, pavel
In-Reply-To: <1294765273.2927.65.camel@edumazet-laptop>
Am Dienstag, den 11.01.2011, 18:01 +0100 schrieb Eric Dumazet:
> Le mardi 11 janvier 2011 à 17:48 +0100, stefani@seibold.net a écrit :
> > From: Stefani Seibold <stefani@seibold.net>
> >
> ...
> > The implementation is clean and has absolut no side effects to the network
> > subsystems so i ask for merge it into linux, mm-tree or linux-next.
> >
> > The patch is against the current linux git tree
> >
> > - Stefani
> >
> > Signed-off-by: Stefani Seibold <stefani@seibold.net>
> > ---
> >
>
> Reading again UDPCP specs, I find it is IPv4/IPv6 agnostic
>
> You copied IPv4 UDP code, so this only handles IPv4...
>
Right, but currently there is no need for an IPV6 implementation, non of
our base station provide it and non of our mobile network customers use
it.
If it will be required in the future it will be implemented.
^ permalink raw reply
* Re: [PATCH] new UDPCP Communication Protocol
From: David Miller @ 2011-01-11 20:52 UTC (permalink / raw)
To: stefani
Cc: eric.dumazet, linux-kernel, akpm, netdev, shemminger, jj,
daniel.baluta, jochen, hagen, torvalds, pavel
In-Reply-To: <1294779020.16410.2.camel@wall-e>
From: Stefani Seibold <stefani@seibold.net>
Date: Tue, 11 Jan 2011 21:50:20 +0100
> Right, but currently there is no need for an IPV6 implementation, non of
> our base station provide it and non of our mobile network customers use
> it.
>
> If it will be required in the future it will be implemented.
We require that you implement the ipv6 side for the submission right
now.
Long gone are the days when we add ipv4 only implementations of
protocols.
^ permalink raw reply
* Re: [PATCH V8 02/13] ntp: add ADJ_SETOFFSET mode bit
From: john stultz @ 2011-01-11 20:55 UTC (permalink / raw)
To: Kuwahara,T.
Cc: Richard Cochran, linux-kernel-u79uwXL29TY76Z2rM5mHXA,
linux-api-u79uwXL29TY76Z2rM5mHXA, netdev-u79uwXL29TY76Z2rM5mHXA,
Alan Cox, Arnd Bergmann, Christoph Lameter, David Miller,
Krzysztof Halasa, Peter Zijlstra, Rodolfo Giometti,
Thomas Gleixner
In-Reply-To: <AANLkTik+2udoJ6JyZMhkd1yhr2W9hSWO_vD_zdm+BoOG-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
On Wed, 2011-01-12 at 05:32 +0900, Kuwahara,T. wrote:
> On Tue, Jan 11, 2011 at 6:06 AM, john stultz <johnstul-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org> wrote:
> > On Tue, 2011-01-11 at 05:45 +0900, Kuwahara,T. wrote:
> >> On Tue, Jan 11, 2011 at 1:49 AM, john stultz <johnstul-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org> wrote:
> >> > Leapsecond processing is done via an absolute hrtimer. Thus when the
> >> > time offset is set, the hrtimers that should have expired will fire
> >> > (just like with settimeofday) and the adjustment will then be made.
> >>
> >> How do you convert relative time to absolute time? It's not trivial
> >> because TAI offset is also a variable.
> >
> > I don't believe I understand what you're getting at.
> >
> > The proposed interface is almost identical in functionality to a
> > userland application doing the following:
> >
> > offset = my_calculate_offset();
> > clock_gettime(CLOCK_REALTIME, &now);
> > newtime = my_add_ts(now, offset);
> > settimeofday(&newtime, 0);
> >
> > The only difference is that you avoid the error from the delay between
> > the gettime call and the settime call. It just adds the offset directly
> > to the CLOCK_REALTIME.
>
> For example, what time was it 3 seconds after 2008-12-31 23:59:59?
> You may say, of course it's 2009-01-01 00:00:02. But it's not true.
> You wonder why? Because a leap second had been added at midnight.
>
> unix time UTC offset
> ---------- -------- ---
> 1230767997 23:59:57 -2
> 1230767998 23:59:58 -1
> 1230767999 23:59:59 0
> 1230768000 23:59:60 1 (leap second)
> 1230768000 00:00:00 2
> 1230768001 00:00:01 3
> 1230768002 00:00:02 4
>
> That's why I said it's not trivial, and that your patch is broken and
> thus useless.
So the kernel handles leap second insertion via a timer. Thus at the end
of 23:59:59, it will inject a leapsecond by setting the time back by one
second (back to 23:59:59) and setting the TIME_OOP flag.
This timer is an absolute timer, so if someone moves the clock forward
across the 23:59:59 boundary, the adjustment will still be made.
The patch is not broken, nor useless.
> Unfortunately, there's no remedy for this as long as a
> nonlinear timescale such as the unix time is being used, since the
> leap second insertion/deletion is a non-deterministic event.
Indeed. Leapseconds in unix time are frustrating to deal with, and
complicates applications having to be careful with them. But we do
manage them properly and applications can detect that they are pending
(via checking for TIME_INS) or if they are in effect (TIME_OOP).
Richards patch is in no different from settimeofday() solutions for
correcting for an offset, with the exception of the fact that it does
not introduce error due to delay beteween any gettime and settime call.
If your complaint is that leapseconds are ugly to deal with in unix
time, then I agree. However, I'm at a total loss for understanding your
passionate objections to Richard's patch.
thanks
-john
^ permalink raw reply
* RE: [E1000-devel] [e100] Page allocation failure warning(?) in 2.6.36.3
From: Chris Rankin @ 2011-01-11 20:59 UTC (permalink / raw)
To: e1000-devel@lists.sourceforge.net, Tushar NDave; +Cc: netdev@vger.kernel.org
In-Reply-To: <F675EE07F28A0A4E933E5F9DD28672FB01197E098F@orsmsx508.amr.corp.intel.com>
Tushar,
As promised:
$ /sbin/ifconfig -a
br0 Link encap:Ethernet HWaddr 00:03:47:3b:29:5c
inet addr:192.168.0.1 Bcast:192.168.0.255 Mask:255.255.255.0
inet6 addr: fe80::203:47ff:fe3b:295c/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:372485 errors:0 dropped:0 overruns:0 frame:0
TX packets:383917 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:37566127 (35.8 MiB) TX bytes:225458273 (215.0 MiB)
eth0 Link encap:Ethernet HWaddr 00:90:27:76:d0:ec
inet addr:10.0.43.2 Bcast:10.0.43.255 Mask:255.255.255.0
inet6 addr: fe80::290:27ff:fe76:d0ec/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:432016 errors:0 dropped:0 overruns:0 frame:0
TX packets:377602 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:229629017 (218.9 MiB) TX bytes:41958103 (40.0 MiB)
eth1 Link encap:Ethernet HWaddr 00:03:47:3b:29:5c
inet6 addr: fe80::203:47ff:fe3b:295c/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:364683 errors:0 dropped:0 overruns:0 frame:0
TX packets:369235 errors:1 dropped:0 overruns:0 carrier:1
collisions:0 txqueuelen:1000
RX bytes:42445811 (40.4 MiB) TX bytes:203414933 (193.9 MiB)
eth2 Link encap:Ethernet HWaddr 00:03:47:3b:29:5d
inet6 addr: fe80::203:47ff:fe3b:295d/64 Scope:Link
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:9059 errors:1 dropped:0 overruns:0 frame:1
TX packets:15437 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:691449 (675.2 KiB) TX bytes:22232699 (21.2 MiB)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:797 errors:0 dropped:0 overruns:0 frame:0
TX packets:797 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:81543 (79.6 KiB) TX bytes:81543 (79.6 KiB)
$ cat /etc/network/interfaces
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
allow-hotplug eth0
iface eth0 inet static
address 10.0.43.2
netmask 255.255.255.0
network 10.0.43.0
broadcast 10.0.43.255
gateway 10.0.43.1
# dns-* options are implemented by the resolvconf package, if installed
dns-nameservers 192.168.0.1
dns-search underworld
auto br0
iface br0 inet static
address 192.168.0.1
netmask 255.255.255.0
network 192.168.0.0
broadcast 192.168.0.255
bridge-ports eth1 eth2
bridge_hello 1
bridge_fd 4
bridge_maxage 4
post-up /sbin/route add -net 224.0.0.0 netmask 240.0.0.0 dev br0
Cheers,
Chris
^ permalink raw reply
* Re: [PATCH net-next-2.6 v3 1/1] can: c_can: Added support for Bosch C_CAN controller
From: Oliver Hartkopp @ 2011-01-11 21:01 UTC (permalink / raw)
To: Bhupesh SHARMA
Cc: netdev-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
Socketcan-core-0fE9KPoRgkgATYTw5x5z8w@public.gmane.org,
Marc Kleine-Budde, David Miller, Wolfgang Grandegger
In-Reply-To: <D5ECB3C7A6F99444980976A8C6D896384DEAFA2D56-8vAmw3ZAcdzhJTuQ9jeba9BPR1lH4CV8@public.gmane.org>
On 11.01.2011 05:13, Bhupesh SHARMA wrote:
>> From: Wolfgang Grandegger [mailto:wg-5Yr1BZd7O62+XT7JhA+gdA@public.gmane.org]
>> On 01/09/2011 12:01 PM, Oliver Hartkopp wrote:
>>> BTW. for the next submission of Bhupeshs patchset, i would propose to
>> name the
>>> driver 'ccan' instead of 'c_can', so that we have a
>>>
>>> linux/drivers/net/can/ccan/...
>>>
>>> path.
>>
>> You are late ;-). Bosch named the controller *C_CAN* and therefore I
>> asked Bhupesh some time ago to change the file name and variable name
>> prefix from ccan to c_can.
>
> Actually V1 of this patchset used the naming convention ccan.
> But as was rightly pointed out by Wolfgang and Mark, Bosch
> has officially named this core as C_CAN and the naming convention
> is kept as C_CAN throughout their user-manual and technical articles.
> IMHO, `c_can` seems to represent this Bosch core in a better way
> than ccan.
Looks like there are really good reasons for the c_can naming :-)
Thanks for explanation & also sorry for the noise!
Best regards,
Oliver
^ permalink raw reply
* Re: [PATCH] new UDPCP Communication Protocol
From: Eric Dumazet @ 2011-01-11 21:06 UTC (permalink / raw)
To: Stefani Seibold
Cc: linux-kernel, akpm, davem, netdev, shemminger, jj, daniel.baluta,
jochen, hagen, torvalds, pavel
In-Reply-To: <1294779020.16410.2.camel@wall-e>
Le mardi 11 janvier 2011 à 21:50 +0100, Stefani Seibold a écrit :
> Am Dienstag, den 11.01.2011, 18:01 +0100 schrieb Eric Dumazet:
> > Le mardi 11 janvier 2011 à 17:48 +0100, stefani@seibold.net a écrit :
> > > From: Stefani Seibold <stefani@seibold.net>
> > >
> > ...
> > > The implementation is clean and has absolut no side effects to the network
> > > subsystems so i ask for merge it into linux, mm-tree or linux-next.
> > >
> > > The patch is against the current linux git tree
> > >
> > > - Stefani
> > >
> > > Signed-off-by: Stefani Seibold <stefani@seibold.net>
> > > ---
> > >
> >
> > Reading again UDPCP specs, I find it is IPv4/IPv6 agnostic
> >
> > You copied IPv4 UDP code, so this only handles IPv4...
> >
>
> Right, but currently there is no need for an IPV6 implementation, non of
> our base station provide it and non of our mobile network customers use
> it.
>
> If it will be required in the future it will be implemented.
>
>
All I wanted to point out is the implementation you did, using a copy of
code instead of stacked layer, makes this ipv6 a whole rewrite.
Better understand know the implications, before code inclusion.
I understand your code satisfies your immediate needs (and companies
that paid this development), but we should make a step forward in code
reuse.
^ permalink raw reply
* Re: [PATCH] new UDPCP Communication Protocol
From: Stefani Seibold @ 2011-01-11 21:14 UTC (permalink / raw)
To: David Miller
Cc: eric.dumazet, linux-kernel, akpm, netdev, shemminger, jj,
daniel.baluta, jochen, hagen, torvalds, pavel
In-Reply-To: <20110111.125254.133402589.davem@davemloft.net>
Am Dienstag, den 11.01.2011, 12:52 -0800 schrieb David Miller:
> From: Stefani Seibold <stefani@seibold.net>
> Date: Tue, 11 Jan 2011 21:50:20 +0100
>
> > Right, but currently there is no need for an IPV6 implementation, non of
> > our base station provide it and non of our mobile network customers use
> > it.
> >
> > If it will be required in the future it will be implemented.
>
> We require that you implement the ipv6 side for the submission right
> now.
>
> Long gone are the days when we add ipv4 only implementations of
> protocols.
If nobody need it and no user in the near future out there, why should i
implement this? That is dogmatic only!
^ permalink raw reply
* Re: [PATCH] new UDPCP Communication Protocol
From: David Miller @ 2011-01-11 21:19 UTC (permalink / raw)
To: stefani
Cc: eric.dumazet, linux-kernel, akpm, netdev, shemminger, jj,
daniel.baluta, jochen, hagen, torvalds, pavel
In-Reply-To: <1294780480.17388.2.camel@wall-e>
From: Stefani Seibold <stefani@seibold.net>
Date: Tue, 11 Jan 2011 22:14:40 +0100
> If nobody need it and no user in the near future out there, why should i
> implement this? That is dogmatic only!
It's a hard requirement, sorry.
And I want you to do it especially because it shows clearly how poor
your implementation is, with all of it's code duplication.
You'll need yet another copy of all of this code to support ipv6.
Please implement this properly, and in doing so the ipv6 support will
be very simple if not trivial.
^ permalink raw reply
* Re: [PATCH] new UDPCP Communication Protocol
From: Eric Dumazet @ 2011-01-11 21:30 UTC (permalink / raw)
To: Stefani Seibold
Cc: David Miller, linux-kernel, akpm, netdev, shemminger, jj,
daniel.baluta, jochen, hagen, torvalds, pavel
In-Reply-To: <1294780480.17388.2.camel@wall-e>
Le mardi 11 janvier 2011 à 22:14 +0100, Stefani Seibold a écrit :
> If nobody need it and no user in the near future out there, why should i
> implement this? That is dogmatic only!
>
Sure !
Problem is linux kernel code is not your own project.
Some community rules must be respected.
You call this dogmatic, you are right, since this makes your life less
easy.
However, for hundred of people working to maintain/improve linux kernel
code, especially in network stacks, this ends in less stress, when a
problem must be located, and fixed.
Note : We are trying to help you, not fighting against you, in the long
term, its a win-win for everybody.
^ permalink raw reply
* Re: [PATCH] new UDPCP Communication Protocol
From: Stefani Seibold @ 2011-01-11 21:40 UTC (permalink / raw)
To: Eric Dumazet
Cc: David Miller, linux-kernel, akpm, netdev, shemminger, jj,
daniel.baluta, jochen, hagen, torvalds, pavel
In-Reply-To: <1294781427.3447.18.camel@edumazet-laptop>
Am Dienstag, den 11.01.2011, 22:30 +0100 schrieb Eric Dumazet:
> Le mardi 11 janvier 2011 à 22:14 +0100, Stefani Seibold a écrit :
>
> > If nobody need it and no user in the near future out there, why should i
> > implement this? That is dogmatic only!
> >
>
> Sure !
>
> Problem is linux kernel code is not your own project.
>
> Some community rules must be respected.
>
> You call this dogmatic, you are right, since this makes your life less
> easy.
>
Sorry thats not right, i only want write code for the trash bin.
> However, for hundred of people working to maintain/improve linux kernel
> code, especially in network stacks, this ends in less stress, when a
> problem must be located, and fixed.
>
> Note : We are trying to help you, not fighting against you, in the long
> term, its a win-win for everybody.
>
>
Sure, i know this and i would give you and all other contributers a big
thank you for the review.
But it should also okay, to argues against some proposal which makes
currently no sense.
^ permalink raw reply
* Re: [PATCH] new UDPCP Communication Protocol
From: Stefani Seibold @ 2011-01-11 21:41 UTC (permalink / raw)
To: David Miller
Cc: eric.dumazet, linux-kernel, akpm, netdev, shemminger, jj,
daniel.baluta, jochen, hagen, torvalds, pavel
In-Reply-To: <20110111.131953.180400101.davem@davemloft.net>
Am Dienstag, den 11.01.2011, 13:19 -0800 schrieb David Miller:
> From: Stefani Seibold <stefani@seibold.net>
> Date: Tue, 11 Jan 2011 22:14:40 +0100
>
> > If nobody need it and no user in the near future out there, why should i
> > implement this? That is dogmatic only!
>
> It's a hard requirement, sorry.
>
> And I want you to do it especially because it shows clearly how poor
> your implementation is, with all of it's code duplication.
>
First it is not so much code duplication. It it less than 20 percent of
the whole code. And most of this code was adapted to the need of the
protocol.
Second, the design is may in your opinion poor. I like it. What is
really poor is the kernel_...() socket functions, which are only simple
wrapper of the system calls without any performance improvement, skb
support and memory saving.
IPv6 would not very hard to implement and will be done if i get an go.
> You'll need yet another copy of all of this code to support ipv6.
>
> Please implement this properly, and in doing so the ipv6 support will
> be very simple if not trivial.
The implementation is clean and fast, it has absolut no side effect. It
is save to merge and all requirement was solved.
^ permalink raw reply
* Re: [PATCH] new UDPCP Communication Protocol
From: Eric Dumazet @ 2011-01-11 21:46 UTC (permalink / raw)
To: Stefani Seibold
Cc: David Miller, linux-kernel, akpm, netdev, shemminger, jj,
daniel.baluta, jochen, hagen, torvalds, pavel
In-Reply-To: <1294782117.17531.18.camel@wall-e>
Le mardi 11 janvier 2011 à 22:41 +0100, Stefani Seibold a écrit :
> Second, the design is may in your opinion poor. I like it. What is
> really poor is the kernel_...() socket functions, which are only simple
> wrapper of the system calls without any performance improvement, skb
> support and memory saving.
>
The only thing you want is to have a callback to your own code to
deliver an decapsulated skb to your state machine.
Take a look at other layers on top of UDP
(L2TP comes to mind)
^ permalink raw reply
* [PATCH net-26] cxgb4vf: recover from failure in cxgb4vf_open()
From: Casey Leedom @ 2011-01-11 21:57 UTC (permalink / raw)
To: netdev; +Cc: davem, Casey Leedom
If the Link Start fails in cxgb4vf_open(), we need to back out any state
that we've built up ...
Signed-off-by: Casey Leedom <leedom@chelsio.com>
---
drivers/net/cxgb4vf/cxgb4vf_main.c | 15 ++++++++++-----
1 files changed, 10 insertions(+), 5 deletions(-)
diff --git a/drivers/net/cxgb4vf/cxgb4vf_main.c b/drivers/net/cxgb4vf/cxgb4vf_main.c
index 3c403f8..56166ae 100644
--- a/drivers/net/cxgb4vf/cxgb4vf_main.c
+++ b/drivers/net/cxgb4vf/cxgb4vf_main.c
@@ -749,13 +749,19 @@ static int cxgb4vf_open(struct net_device *dev)
netif_set_real_num_tx_queues(dev, pi->nqsets);
err = netif_set_real_num_rx_queues(dev, pi->nqsets);
if (err)
- return err;
- set_bit(pi->port_id, &adapter->open_device_map);
+ goto err_unwind;
err = link_start(dev);
if (err)
- return err;
+ goto err_unwind;
+
netif_tx_start_all_queues(dev);
+ set_bit(pi->port_id, &adapter->open_device_map);
return 0;
+
+err_unwind:
+ if (adapter->open_device_map == 0)
+ adapter_down(adapter);
+ return err;
}
/*
@@ -764,13 +770,12 @@ static int cxgb4vf_open(struct net_device *dev)
*/
static int cxgb4vf_stop(struct net_device *dev)
{
- int ret;
struct port_info *pi = netdev_priv(dev);
struct adapter *adapter = pi->adapter;
netif_tx_stop_all_queues(dev);
netif_carrier_off(dev);
- ret = t4vf_enable_vi(adapter, pi->viid, false, false);
+ t4vf_enable_vi(adapter, pi->viid, false, false);
pi->link_cfg.link_ok = 0;
clear_bit(pi->port_id, &adapter->open_device_map);
--
1.7.0.4
^ permalink raw reply related
* Re: [PATCH net-next-2.6 v3 1/1] can: c_can: Added support for Bosch C_CAN controller
From: Marc Kleine-Budde @ 2011-01-11 22:01 UTC (permalink / raw)
To: Wolfgang Grandegger
Cc: Wolfram Sang, netdev-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
Socketcan-core-0fE9KPoRgkgATYTw5x5z8w@public.gmane.org,
Oliver Hartkopp, David Miller
In-Reply-To: <4D2CA0AA.6080505-5Yr1BZd7O62+XT7JhA+gdA@public.gmane.org>
[-- Attachment #1.1: Type: text/plain, Size: 938 bytes --]
On 01/11/2011 07:25 PM, Wolfgang Grandegger wrote:
[...]
> I was told that Bosch's page for the C_CAN is here:
>
> http://www.semiconductors.bosch.de/en/ipmodules/can/canipmodules/c_can/c_can.asp
>
> There it's also written for what bus interfaces the C_CAN is available for, e.g.:
>
> "The ASIC version is delivered with the AMBA APB bus interface from ARM."
On ARM we also have the AMBA bus abstraction in Linux, but I've never
worked with it. IIRC Wolfram (Cc'ed) has recently touched it.
> which is obviously used in the "Platform Controller Hub" eg20t.
But in the pch, they've attached the AMBA to the PCI bus.
cheers, Marc
--
Pengutronix e.K. | Marc Kleine-Budde |
Industrial Linux Solutions | Phone: +49-231-2826-924 |
Vertretung West/Dortmund | Fax: +49-5121-206917-5555 |
Amtsgericht Hildesheim, HRA 2686 | http://www.pengutronix.de |
[-- Attachment #1.2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 262 bytes --]
[-- Attachment #2: Type: text/plain, Size: 188 bytes --]
_______________________________________________
Socketcan-core mailing list
Socketcan-core-0fE9KPoRgkgATYTw5x5z8w@public.gmane.org
https://lists.berlios.de/mailman/listinfo/socketcan-core
^ permalink raw reply
* Re: [PATCH] tcp: disallow bind() to reuse addr/port
From: David Miller @ 2011-01-11 22:03 UTC (permalink / raw)
To: eric.dumazet; +Cc: daniel.baluta, gasparch, netdev
In-Reply-To: <1294744462.2927.53.camel@edumazet-laptop>
From: Eric Dumazet <eric.dumazet@gmail.com>
Date: Tue, 11 Jan 2011 12:14:22 +0100
> [PATCH] tcp: disallow bind() to reuse addr/port
>
> inet_csk_bind_conflict() logic currently disallows a bind() if
> it finds a friend socket (a socket bound on same address/port)
> satisfying a set of conditions :
>
> 1) Current (to be bound) socket doesnt have sk_reuse set
> OR
> 2) other socket doesnt have sk_reuse set
> OR
> 3) other socket is in LISTEN state
>
> We should add the CLOSE state in the 3) condition, in order to avoid two
> REUSEADDR sockets in CLOSE state with same local address/port, since
> this can deny further operations.
>
> Note : a prior patch tried to address the problem in a different (and
> buggy) way. (commit fda48a0d7a8412ced tcp: bind() fix when many ports
> are bound).
>
> Reported-by: Gaspar Chilingarov <gasparch@gmail.com>
> Reported-by: Daniel Baluta <daniel.baluta@gmail.com>
> Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
Applied, thanks.
^ permalink raw reply
* Re: [PATCH] net/fec: remove config FEC2 as it's used nowhere
From: David Miller @ 2011-01-11 22:03 UTC (permalink / raw)
To: shawn.guo
Cc: gerg, baruch, eric, bryan.wu, r64343, B32542, u.kleine-koenig, lw,
w.sang, s.hauer, jamie, jamie, netdev, linux-arm-kernel
In-Reply-To: <1294747672-4433-1-git-send-email-shawn.guo@freescale.com>
From: Shawn Guo <shawn.guo@freescale.com>
Date: Tue, 11 Jan 2011 20:07:52 +0800
> Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
Applied.
^ permalink raw reply
* Re: [PATCH] ehea: Increase the skb array usage
From: David Miller @ 2011-01-11 22:04 UTC (permalink / raw)
To: leitao; +Cc: netdev
In-Reply-To: <1294767957-25804-1-git-send-email-leitao@linux.vnet.ibm.com>
From: leitao@linux.vnet.ibm.com
Date: Tue, 11 Jan 2011 15:45:57 -0200
> From: Breno Leitao <leitao@linux.vnet.ibm.com>
>
> Currently the skb array is not fully allocated, and the allocation
> is done as it' s requested, which is not the expected way.
>
> This patch just allocate the full skb array at driver initialization.
> Also, this patch increases ehea version to 107.
>
> Signed-off-by: Breno Leitao <leitao@linux.vnet.ibm.com>
Applied.
^ permalink raw reply
* Re: [PATCH kernel 2.6.37] pcnet_cs: add new_id
From: David Miller @ 2011-01-11 22:04 UTC (permalink / raw)
To: ken_kawasaki; +Cc: netdev
In-Reply-To: <20110111205558.98fcab01.ken_kawasaki@spring.nifty.jp>
From: Ken Kawasaki <ken_kawasaki@spring.nifty.jp>
Date: Tue, 11 Jan 2011 20:55:58 +0900
>
> pcnet_cs:
> add another ID of "corega Ether CF-TD" 10Base-T PCMCIA card.
>
>
> Signed-off-by: Ken Kawasaki <ken_kawasaki@spring.nifty.jp>
Applied.
^ permalink raw reply
* Re: [PATCH] ah: reload pointers to skb data after calling skb_cow_data()
From: David Miller @ 2011-01-11 22:04 UTC (permalink / raw)
To: nicolas.dichtel; +Cc: netdev, steffen.klassert
In-Reply-To: <4D2C8FBD.8060701@6wind.com>
From: Nicolas Dichtel <nicolas.dichtel@6wind.com>
Date: Tue, 11 Jan 2011 18:13:33 +0100
>>From ba44ef6e00ca0f4c13e425f4a39e8749c56db843 Mon Sep 17 00:00:00 2001
> From: Dang Hongwu <hongwu.dang@6wind.com>
> Date: Tue, 11 Jan 2011 12:00:05 -0500
> Subject: [PATCH] ah: reload pointers to skb data after calling skb_cow_data()
>
> skb_cow_data() may allocate a new data buffer, so pointers on
> skb should be set after this function.
>
> Bug was introduced by commit dff3bb06 and 8631e9bd.
>
> Signed-off-by: Wang Xuefu <xuefu.wang@6wind.com>
> Acked-by: Krzysztof Witek <krzysztof.witek@6wind.com>
> Signed-off-by: Nicolas Dichtel <nicolas.dichtel@6wind.com>
Applied.
^ permalink raw reply
* Re: [PATCH] xfrm: check trunc_len in XFRMA_ALG_AUTH_TRUNC
From: David Miller @ 2011-01-11 22:04 UTC (permalink / raw)
To: nicolas.dichtel; +Cc: netdev
In-Reply-To: <4D2C9B9C.9020800@6wind.com>
From: Nicolas Dichtel <nicolas.dichtel@6wind.com>
Date: Tue, 11 Jan 2011 19:04:12 +0100
>>From 48dd29c69f150fc55bf3a477b9365d1575a9cfbe Mon Sep 17 00:00:00 2001
> From: Nicolas Dichtel <nicolas.dichtel@6wind.com>
> Date: Tue, 11 Jan 2011 13:23:51 -0500
> Subject: [PATCH] xfrm: check trunc_len in XFRMA_ALG_AUTH_TRUNC
>
> Maximum trunc length is defined by MAX_AH_AUTH_LEN (in bytes)
> and need to be checked when this value is set (in bits) by
> the user. In ah4.c and ah6.c a BUG_ON() checks this condiftion.
>
> Signed-off-by: Nicolas Dichtel <nicolas.dichtel@6wind.com>
Applied.
^ permalink raw reply
* Re: [PATCH] ah: update maximum truncated ICV length
From: David Miller @ 2011-01-11 22:05 UTC (permalink / raw)
To: nicolas.dichtel; +Cc: netdev
In-Reply-To: <4D2C9C1B.1030907@6wind.com>
From: Nicolas Dichtel <nicolas.dichtel@6wind.com>
Date: Tue, 11 Jan 2011 19:06:19 +0100
>>From 2ca463cf672f000d37a0aaa5e3d3738b50661926 Mon Sep 17 00:00:00 2001
> From: Nicolas Dichtel <nicolas.dichtel@6wind.com>
> Date: Thu, 23 Dec 2010 09:52:21 -0500
> Subject: [PATCH] ah: update maximum truncated ICV length
>
> For SHA256, RFC4868 requires to truncate ICV length to 128 bits,
> hence MAX_AH_AUTH_LEN should be updated to 16.
>
> Signed-off-by: Nicolas Dichtel <nicolas.dichtel@6wind.com>
Applied.
^ permalink raw reply
* Re: [PATCH] new UDPCP Communication Protocol
From: Stefani Seibold @ 2011-01-11 22:23 UTC (permalink / raw)
To: Eric Dumazet
Cc: David Miller, linux-kernel, akpm, netdev, shemminger, jj,
daniel.baluta, jochen, hagen, torvalds, pavel
In-Reply-To: <1294782386.3447.21.camel@edumazet-laptop>
Am Dienstag, den 11.01.2011, 22:46 +0100 schrieb Eric Dumazet:
> Le mardi 11 janvier 2011 à 22:41 +0100, Stefani Seibold a écrit :
>
> > Second, the design is may in your opinion poor. I like it. What is
> > really poor is the kernel_...() socket functions, which are only simple
> > wrapper of the system calls without any performance improvement, skb
> > support and memory saving.
> >
>
> The only thing you want is to have a callback to your own code to
> deliver an decapsulated skb to your state machine.
>
> Take a look at other layers on top of UDP
>
> (L2TP comes to mind)
>
I have looked on it. And it will not work since UDPCP is UDP. And so
IPPROTO_UDP (17) is still handled by the UDP handler.
Despite this it will also make no sense to rewrite the whole UDP socket
layer.
The only thing i have found with comes near to my requirements is the
rxrpc module, but i see no real different to my solution.
^ 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