[linux-dvb] [Patch] Error in dvb_net.c on 64bit platforms
Holger Kiehl
Holger.Kiehl at dwd.de
Mon Oct 31 15:33:10 CET 2005
Hello
Removing several dvb net interfaces as follows:
/sbin/ifconfig dvb0_4 down
/sbin/ifconfig dvb0_3 down
/sbin/ifconfig dvb0_2 down
/sbin/ifconfig dvb0_1 down
/sbin/ifconfig dvb0_0 down
Always produces an oops on a 64 bit system. On a 32 bit system this is no
problem. Applying the attached patch makes it work on 64 bit systems.
Holger (Kiehl)
--
-------------- next part --------------
--- linux/drivers/media/dvb/dvb-core/dvb_net.c.orig 2005-08-12 15:37:59.000000000 +0000
+++ linux/drivers/media/dvb/dvb-core/dvb_net.c 2005-10-31 14:11:30.000000000 +0000
@@ -1213,7 +1213,7 @@
return if_num;
}
-static int dvb_net_remove_if(struct dvb_net *dvbnet, unsigned int num)
+static int dvb_net_remove_if(struct dvb_net *dvbnet, unsigned long num)
{
struct net_device *net = dvbnet->device[num];
struct dvb_net_priv *priv;
@@ -1287,9 +1287,9 @@
if (!capable(CAP_SYS_ADMIN))
return -EPERM;
- if ((unsigned int) parg >= DVB_NET_DEVICES_MAX)
+ if ((unsigned long) parg >= DVB_NET_DEVICES_MAX)
return -EINVAL;
- ret = dvb_net_remove_if(dvbnet, (unsigned int) parg);
+ ret = dvb_net_remove_if(dvbnet, (unsigned long) parg);
if (!ret)
module_put(dvbdev->adapter->module);
return ret;
More information about the linux-dvb
mailing list