diff mbox

pxaficp-ir - remove incorrect net_device_ops

Message ID 4A6E69FA.9010903@gmail.com
State Not Applicable, archived
Delegated to: David Miller
Headers show

Commit Message

Eric Miao July 28, 2009, 3:01 a.m. UTC
Marek Vasut wrote:
> Hi!
> 
> This patch fixes broken pxaficp-ir. The problem was in incorrect
> net_device_ops being specified which prevented the driver from
> operating. The symptoms were:
>  - failing ifconfig for IrLAN, resulting in
> 	SIOCSIFFLAGS: Cannot assign requested address
>  - irattach working for IrCOMM, but the port stayed disabled
> 
> Moreover this patch corrects missing sysfs device link.
> 
> btw. guys, be honest, when did you last tested pxaficp-ir on real hardware? ;-)
> 

Well, this seems to be brought by the net_device_ops change, which seems
to happen silently without any of us being notified.

OK, netdev and Alex are copied, so that we can look into this issue a bit
deeper:

1. it looks to me that SIOCSIFFLAGS actually returned -EADDRNOTAVAIL, which
   is likely caused by eth_validate_addr, the default eth_addr comes with
   irda should be "00:00:00:00:00:00" if not explicitly specified (kzalloc),
   and this should be the problem, solution ?  Either give a valid address
   to the irda net_device or remove this 'ndo_validate_addr'. And which is
   a correct fix will impact on the .ndo_set_mac_address

2. '.ndo_change_mtu' ? It looks to me that Irda device doesn't care too much
   about the MTU, eth_change_mtu is supposed to work just fine and not to
   cause any side effects, and may just benefit later irda device drivers if
   there is a weird device happens to care about MTU

- eric

Marek's original patch in attachment.

Comments

Alexander Beregalov July 29, 2009, 11:16 a.m. UTC | #1
2009/7/28 Eric Miao <eric.y.miao@gmail.com>:
> Marek Vasut wrote:
>> Hi!
>>
>> This patch fixes broken pxaficp-ir. The problem was in incorrect
>> net_device_ops being specified which prevented the driver from
>> operating. The symptoms were:
>>  - failing ifconfig for IrLAN, resulting in
>>       SIOCSIFFLAGS: Cannot assign requested address
>>  - irattach working for IrCOMM, but the port stayed disabled
>>
>> Moreover this patch corrects missing sysfs device link.
>>
>> btw. guys, be honest, when did you last tested pxaficp-ir on real hardware? ;-)
>>
>
> Well, this seems to be brought by the net_device_ops change, which seems
> to happen silently without any of us being notified.
>
> OK, netdev and Alex are copied, so that we can look into this issue a bit
> deeper:
>
> 1. it looks to me that SIOCSIFFLAGS actually returned -EADDRNOTAVAIL, which
>   is likely caused by eth_validate_addr, the default eth_addr comes with
>   irda should be "00:00:00:00:00:00" if not explicitly specified (kzalloc),
>   and this should be the problem, solution ?  Either give a valid address
>   to the irda net_device or remove this 'ndo_validate_addr'. And which is
>   a correct fix will impact on the .ndo_set_mac_address
>
> 2. '.ndo_change_mtu' ? It looks to me that Irda device doesn't care too much
>   about the MTU, eth_change_mtu is supposed to work just fine and not to
>   cause any side effects, and may just benefit later irda device drivers if
>   there is a weird device happens to care about MTU
>
> - eric
>
> Marek's original patch in attachment.
>

Sorry about that and thanks.
Then we should fix the rest of irda drivers in the same way.
--
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
Marek Vasut Aug. 5, 2009, 2:02 p.m. UTC | #2
Dne St 29. července 2009 13:16:25 Alexander Beregalov napsal(a):
> 2009/7/28 Eric Miao <eric.y.miao@gmail.com>:
> > Marek Vasut wrote:
> >> Hi!
> >>
> >> This patch fixes broken pxaficp-ir. The problem was in incorrect
> >> net_device_ops being specified which prevented the driver from
> >> operating. The symptoms were:
> >>  - failing ifconfig for IrLAN, resulting in
> >>       SIOCSIFFLAGS: Cannot assign requested address
> >>  - irattach working for IrCOMM, but the port stayed disabled
> >>
> >> Moreover this patch corrects missing sysfs device link.
> >>
> >> btw. guys, be honest, when did you last tested pxaficp-ir on real
> >> hardware? ;-)
> >
> > Well, this seems to be brought by the net_device_ops change, which seems
> > to happen silently without any of us being notified.
> >
> > OK, netdev and Alex are copied, so that we can look into this issue a bit
> > deeper:
> >
> > 1. it looks to me that SIOCSIFFLAGS actually returned -EADDRNOTAVAIL,
> > which is likely caused by eth_validate_addr, the default eth_addr comes
> > with irda should be "00:00:00:00:00:00" if not explicitly specified
> > (kzalloc), and this should be the problem, solution ?  Either give a
> > valid address to the irda net_device or remove this 'ndo_validate_addr'.
> > And which is a correct fix will impact on the .ndo_set_mac_address
> >
> > 2. '.ndo_change_mtu' ? It looks to me that Irda device doesn't care too
> > much about the MTU, eth_change_mtu is supposed to work just fine and not
> > to cause any side effects, and may just benefit later irda device drivers
> > if there is a weird device happens to care about MTU
> >
> > - eric
> >
> > Marek's original patch in attachment.
>
> Sorry about that and thanks.
> Then we should fix the rest of irda drivers in the same way.

Hi!
Was my patch applied or what's the current status? Thanks
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Marek Vasut Aug. 21, 2009, 10:54 p.m. UTC | #3
Dne St 5. srpna 2009 16:02:34 Marek Vasut napsal(a):
> Dne St 29. července 2009 13:16:25 Alexander Beregalov napsal(a):
> > 2009/7/28 Eric Miao <eric.y.miao@gmail.com>:
> > > Marek Vasut wrote:
> > >> Hi!
> > >>
> > >> This patch fixes broken pxaficp-ir. The problem was in incorrect
> > >> net_device_ops being specified which prevented the driver from
> > >> operating. The symptoms were:
> > >>  - failing ifconfig for IrLAN, resulting in
> > >>       SIOCSIFFLAGS: Cannot assign requested address
> > >>  - irattach working for IrCOMM, but the port stayed disabled
> > >>
> > >> Moreover this patch corrects missing sysfs device link.
> > >>
> > >> btw. guys, be honest, when did you last tested pxaficp-ir on real
> > >> hardware? ;-)
> > >
> > > Well, this seems to be brought by the net_device_ops change, which
> > > seems to happen silently without any of us being notified.
> > >
> > > OK, netdev and Alex are copied, so that we can look into this issue a
> > > bit deeper:
> > >
> > > 1. it looks to me that SIOCSIFFLAGS actually returned -EADDRNOTAVAIL,
> > > which is likely caused by eth_validate_addr, the default eth_addr comes
> > > with irda should be "00:00:00:00:00:00" if not explicitly specified
> > > (kzalloc), and this should be the problem, solution ?  Either give a
> > > valid address to the irda net_device or remove this
> > > 'ndo_validate_addr'. And which is a correct fix will impact on the
> > > .ndo_set_mac_address
> > >
> > > 2. '.ndo_change_mtu' ? It looks to me that Irda device doesn't care too
> > > much about the MTU, eth_change_mtu is supposed to work just fine and
> > > not to cause any side effects, and may just benefit later irda device
> > > drivers if there is a weird device happens to care about MTU
> > >
> > > - eric
> > >
> > > Marek's original patch in attachment.
> >
> > Sorry about that and thanks.
> > Then we should fix the rest of irda drivers in the same way.
>
> Hi!
> Was my patch applied or what's the current status? Thanks

Hi!
any updates ? Are we letting this into .32 in current broken state?

Thanks!
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Alexander Beregalov Aug. 23, 2009, 5:55 p.m. UTC | #4
2009/8/22 Marek Vasut <marek.vasut@gmail.com>:
> Dne St 5. srpna 2009 16:02:34 Marek Vasut napsal(a):
>> Dne St 29. července 2009 13:16:25 Alexander Beregalov napsal(a):
>> > 2009/7/28 Eric Miao <eric.y.miao@gmail.com>:
>> > > Marek Vasut wrote:
>> > >> Hi!
>> > >>
>> > >> This patch fixes broken pxaficp-ir. The problem was in incorrect
>> > >> net_device_ops being specified which prevented the driver from
>> > >> operating. The symptoms were:
>> > >>  - failing ifconfig for IrLAN, resulting in
>> > >>       SIOCSIFFLAGS: Cannot assign requested address
>> > >>  - irattach working for IrCOMM, but the port stayed disabled
>> > >>
>> > >> Moreover this patch corrects missing sysfs device link.
>> > >>
>> > >> btw. guys, be honest, when did you last tested pxaficp-ir on real
>> > >> hardware? ;-)
>> > >
>> > > Well, this seems to be brought by the net_device_ops change, which
>> > > seems to happen silently without any of us being notified.
>> > >
>> > > OK, netdev and Alex are copied, so that we can look into this issue a
>> > > bit deeper:
>> > >
>> > > 1. it looks to me that SIOCSIFFLAGS actually returned -EADDRNOTAVAIL,
>> > > which is likely caused by eth_validate_addr, the default eth_addr comes
>> > > with irda should be "00:00:00:00:00:00" if not explicitly specified
>> > > (kzalloc), and this should be the problem, solution ?  Either give a
>> > > valid address to the irda net_device or remove this
>> > > 'ndo_validate_addr'. And which is a correct fix will impact on the
>> > > .ndo_set_mac_address
>> > >
>> > > 2. '.ndo_change_mtu' ? It looks to me that Irda device doesn't care too
>> > > much about the MTU, eth_change_mtu is supposed to work just fine and
>> > > not to cause any side effects, and may just benefit later irda device
>> > > drivers if there is a weird device happens to care about MTU
>> > >
>> > > - eric
>> > >
>> > > Marek's original patch in attachment.
>> >
>> > Sorry about that and thanks.
>> > Then we should fix the rest of irda drivers in the same way.
>>
>> Hi!
>> Was my patch applied or what's the current status? Thanks
>
> Hi!
> any updates ? Are we letting this into .32 in current broken state?
>

David, please have a look. Will you apply it?
--
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
David Miller Aug. 24, 2009, 1:49 a.m. UTC | #5
From: Alexander Beregalov <a.beregalov@gmail.com>
Date: Sun, 23 Aug 2009 21:55:45 +0400

> David, please have a look. Will you apply it?

Can someone please repost the patch to netdev?  I don't have a copy
handy and I'd like to see it tracked properly patchwork too.  If it's
in patchwork, it won't get lost.

Thanks.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

From 28b229f0f3f807d775a7e70b96c018eef935a24a Mon Sep 17 00:00:00 2001
From: Marek Vasut <marek.vasut@gmail.com>
Date: Fri, 24 Jul 2009 02:44:02 +0200
Subject: [PATCH] pxaficp-ir - remove incorrect net_device_ops

This patch fixes broken pxaficp-ir. The problem was in incorrect
net_device_ops being specified which prevented the driver from
operating. The symptoms were:
 - failing ifconfig for IrLAN, resulting in
	SIOCSIFFLAGS: Cannot assign requested address
 - irattach working for IrCOMM, but the port stayed disabled

Moreover this patch corrects missing sysfs device link.

Signed-off-by: Marek Vasut <marek.vasut@gmail.com>
---
 drivers/net/irda/pxaficp_ir.c |    4 +---
 1 files changed, 1 insertions(+), 3 deletions(-)

diff --git a/drivers/net/irda/pxaficp_ir.c b/drivers/net/irda/pxaficp_ir.c
index 4edbdbe..f5b7d83 100644
--- a/drivers/net/irda/pxaficp_ir.c
+++ b/drivers/net/irda/pxaficp_ir.c
@@ -820,9 +820,6 @@  static const struct net_device_ops pxa_irda_netdev_ops = {
 	.ndo_stop		= pxa_irda_stop,
 	.ndo_start_xmit		= pxa_irda_hard_xmit,
 	.ndo_do_ioctl		= pxa_irda_ioctl,
-	.ndo_change_mtu		= eth_change_mtu,
-	.ndo_validate_addr	= eth_validate_addr,
-	.ndo_set_mac_address	= eth_mac_addr,
 };
 
 static int pxa_irda_probe(struct platform_device *pdev)
@@ -847,6 +844,7 @@  static int pxa_irda_probe(struct platform_device *pdev)
 	if (!dev)
 		goto err_mem_3;
 
+	SET_NETDEV_DEV(dev, &pdev->dev);
 	si = netdev_priv(dev);
 	si->dev = &pdev->dev;
 	si->pdata = pdev->dev.platform_data;
-- 
1.6.3.3