git://git.onelab.eu
/
linux-2.6.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fedora core 6 1.2949 + vserver 2.2.0
[linux-2.6.git]
/
drivers
/
isdn
/
i4l
/
isdn_net.c
diff --git
a/drivers/isdn/i4l/isdn_net.c
b/drivers/isdn/i4l/isdn_net.c
index
03f22b6
..
838b373
100644
(file)
--- a/
drivers/isdn/i4l/isdn_net.c
+++ b/
drivers/isdn/i4l/isdn_net.c
@@
-22,7
+22,6
@@
* http://i4l.zabbadoz.net/i4l/cisco-hdlc.txt
*/
* http://i4l.zabbadoz.net/i4l/cisco-hdlc.txt
*/
-#include <linux/config.h>
#include <linux/isdn.h>
#include <net/arp.h>
#include <net/dst.h>
#include <linux/isdn.h>
#include <net/arp.h>
#include <net/dst.h>
@@
-176,7
+175,7
@@
static __inline__ void isdn_net_zero_frame_cnt(isdn_net_local *lp)
/* Prototypes */
/* Prototypes */
-int isdn_net_force_dial_lp(isdn_net_local *);
+
static
int isdn_net_force_dial_lp(isdn_net_local *);
static int isdn_net_start_xmit(struct sk_buff *, struct net_device *);
static void isdn_net_ciscohdlck_connected(isdn_net_local *lp);
static int isdn_net_start_xmit(struct sk_buff *, struct net_device *);
static void isdn_net_ciscohdlck_connected(isdn_net_local *lp);
@@
-312,10
+311,10
@@
isdn_net_unbind_channel(isdn_net_local * lp)
* Since this function is called every second, simply reset the
* byte-counter of the interface after copying it to the cps-variable.
*/
* Since this function is called every second, simply reset the
* byte-counter of the interface after copying it to the cps-variable.
*/
-unsigned long last_jiffies = -HZ;
+
static
unsigned long last_jiffies = -HZ;
void
void
-isdn_net_autohup()
+isdn_net_autohup(
void
)
{
isdn_net_dev *p = dev->netdev;
int anymore;
{
isdn_net_dev *p = dev->netdev;
int anymore;
@@
-396,8
+395,8
@@
isdn_net_stat_callback(int idx, isdn_ctrl *c)
if (p) {
isdn_net_local *lp = p->local;
#ifdef CONFIG_ISDN_X25
if (p) {
isdn_net_local *lp = p->local;
#ifdef CONFIG_ISDN_X25
- struct concap_proto *cprot = lp
-> netdev ->
cprot;
- struct concap_proto_ops *pops = cprot ? cprot
-> pops : 0
;
+ struct concap_proto *cprot = lp
->netdev->
cprot;
+ struct concap_proto_ops *pops = cprot ? cprot
->pops : NULL
;
#endif
switch (cmd) {
case ISDN_STAT_BSENT:
#endif
switch (cmd) {
case ISDN_STAT_BSENT:
@@
-617,7
+616,7
@@
isdn_net_dial(void)
s = "dial suppressed: isdn system stopped";
else
s = "dial suppressed: dialmode `off'";
s = "dial suppressed: isdn system stopped";
else
s = "dial suppressed: dialmode `off'";
- isdn_net_unreachable(&p->dev,
0
, s);
+ isdn_net_unreachable(&p->dev,
NULL
, s);
isdn_net_hangup(&p->dev);
break;
}
isdn_net_hangup(&p->dev);
break;
}
@@
-645,7
+644,7
@@
isdn_net_dial(void)
if (time_after(jiffies, lp->dialstarted + lp->dialtimeout)) {
lp->dialwait_timer = jiffies + lp->dialwait;
lp->dialstarted = 0;
if (time_after(jiffies, lp->dialstarted + lp->dialtimeout)) {
lp->dialwait_timer = jiffies + lp->dialwait;
lp->dialstarted = 0;
- isdn_net_unreachable(&p->dev,
0
, "dial: timed out");
+ isdn_net_unreachable(&p->dev,
NULL
, "dial: timed out");
isdn_net_hangup(&p->dev);
break;
}
isdn_net_hangup(&p->dev);
break;
}
@@
-675,7
+674,7
@@
isdn_net_dial(void)
if (lp->dialtimeout == 0) {
lp->dialwait_timer = jiffies + lp->dialwait;
lp->dialstarted = 0;
if (lp->dialtimeout == 0) {
lp->dialwait_timer = jiffies + lp->dialwait;
lp->dialstarted = 0;
- isdn_net_unreachable(&p->dev,
0
, "dial: tried all numbers dialmax times");
+ isdn_net_unreachable(&p->dev,
NULL
, "dial: tried all numbers dialmax times");
}
isdn_net_hangup(&p->dev);
break;
}
isdn_net_hangup(&p->dev);
break;
@@
-827,8
+826,8
@@
isdn_net_hangup(struct net_device *d)
isdn_net_local *lp = (isdn_net_local *) d->priv;
isdn_ctrl cmd;
#ifdef CONFIG_ISDN_X25
isdn_net_local *lp = (isdn_net_local *) d->priv;
isdn_ctrl cmd;
#ifdef CONFIG_ISDN_X25
- struct concap_proto *cprot = lp
-> netdev ->
cprot;
- struct concap_proto_ops *pops = cprot ? cprot
-> pops : 0
;
+ struct concap_proto *cprot = lp
->netdev->
cprot;
+ struct concap_proto_ops *pops = cprot ? cprot
->pops : NULL
;
#endif
if (lp->flags & ISDN_NET_CONNECTED) {
#endif
if (lp->flags & ISDN_NET_CONNECTED) {
@@
-985,9
+984,9
@@
void isdn_net_write_super(isdn_net_local *lp, struct sk_buff *skb)
/*
* called from tq_immediate
*/
/*
* called from tq_immediate
*/
-static void isdn_net_softint(
void *private
)
+static void isdn_net_softint(
struct work_struct *work
)
{
{
- isdn_net_local *lp =
private
;
+ isdn_net_local *lp =
container_of(work, isdn_net_local, tqueue)
;
struct sk_buff *skb;
spin_lock_bh(&lp->xmit_lock);
struct sk_buff *skb;
spin_lock_bh(&lp->xmit_lock);
@@
-1131,7
+1130,7
@@
isdn_net_adjust_hdr(struct sk_buff *skb, struct net_device *dev)
}
}
-void isdn_net_tx_timeout(struct net_device * ndev)
+
static
void isdn_net_tx_timeout(struct net_device * ndev)
{
isdn_net_local *lp = (isdn_net_local *) ndev->priv;
{
isdn_net_local *lp = (isdn_net_local *) ndev->priv;
@@
-1369,7
+1368,7
@@
isdn_net_type_trans(struct sk_buff *skb, struct net_device *dev)
skb->mac.raw = skb->data;
skb_pull(skb, ETH_HLEN);
skb->mac.raw = skb->data;
skb_pull(skb, ETH_HLEN);
- eth =
skb->mac.ethernet
;
+ eth =
eth_hdr(skb)
;
if (*eth->h_dest & 1) {
if (memcmp(eth->h_dest, dev->broadcast, ETH_ALEN) == 0)
if (*eth->h_dest & 1) {
if (memcmp(eth->h_dest, dev->broadcast, ETH_ALEN) == 0)
@@
-1416,16
+1415,15
@@
isdn_net_ciscohdlck_alloc_skb(isdn_net_local *lp, int len)
struct sk_buff *skb;
skb = alloc_skb(hl + len, GFP_ATOMIC);
struct sk_buff *skb;
skb = alloc_skb(hl + len, GFP_ATOMIC);
- if (!skb) {
+ if (skb)
+ skb_reserve(skb, hl);
+ else
printk("isdn out of mem at %s:%d!\n", __FILE__, __LINE__);
printk("isdn out of mem at %s:%d!\n", __FILE__, __LINE__);
- return 0;
- }
- skb_reserve(skb, hl);
return skb;
}
/* cisco hdlck device private ioctls */
return skb;
}
/* cisco hdlck device private ioctls */
-int
+
static
int
isdn_ciscohdlck_dev_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd)
{
isdn_net_local *lp = (isdn_net_local *) dev->priv;
isdn_ciscohdlck_dev_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd)
{
isdn_net_local *lp = (isdn_net_local *) dev->priv;
@@
-1433,7
+1431,7
@@
isdn_ciscohdlck_dev_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd)
unsigned long expires = 0;
int tmp = 0;
int period = lp->cisco_keepalive_period;
unsigned long expires = 0;
int tmp = 0;
int period = lp->cisco_keepalive_period;
-
char
debserint = lp->cisco_debserint;
+
s8
debserint = lp->cisco_debserint;
int rc = 0;
if (lp->p_encap != ISDN_NET_ENCAP_CISCOHDLCK)
int rc = 0;
if (lp->p_encap != ISDN_NET_ENCAP_CISCOHDLCK)
@@
-1443,15
+1441,14
@@
isdn_ciscohdlck_dev_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd)
/* get/set keepalive period */
case SIOCGKEEPPERIOD:
len = (unsigned long)sizeof(lp->cisco_keepalive_period);
/* get/set keepalive period */
case SIOCGKEEPPERIOD:
len = (unsigned long)sizeof(lp->cisco_keepalive_period);
- if (copy_to_user(
(char *)ifr->ifr_ifru.ifru
_data,
-
(int *)
&lp->cisco_keepalive_period, len))
+ if (copy_to_user(
ifr->ifr
_data,
+ &lp->cisco_keepalive_period, len))
rc = -EFAULT;
break;
case SIOCSKEEPPERIOD:
tmp = lp->cisco_keepalive_period;
len = (unsigned long)sizeof(lp->cisco_keepalive_period);
rc = -EFAULT;
break;
case SIOCSKEEPPERIOD:
tmp = lp->cisco_keepalive_period;
len = (unsigned long)sizeof(lp->cisco_keepalive_period);
- if (copy_from_user((int *)&period,
- (char *)ifr->ifr_ifru.ifru_data, len))
+ if (copy_from_user(&period, ifr->ifr_data, len))
rc = -EFAULT;
if ((period > 0) && (period <= 32767))
lp->cisco_keepalive_period = period;
rc = -EFAULT;
if ((period > 0) && (period <= 32767))
lp->cisco_keepalive_period = period;
@@
-1470,14
+1467,14
@@
isdn_ciscohdlck_dev_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd)
/* get/set debugging */
case SIOCGDEBSERINT:
len = (unsigned long)sizeof(lp->cisco_debserint);
/* get/set debugging */
case SIOCGDEBSERINT:
len = (unsigned long)sizeof(lp->cisco_debserint);
- if (copy_to_user(
(char *)ifr->ifr_ifru.ifru
_data,
-
(char *)
&lp->cisco_debserint, len))
+ if (copy_to_user(
ifr->ifr
_data,
+ &lp->cisco_debserint, len))
rc = -EFAULT;
break;
case SIOCSDEBSERINT:
len = (unsigned long)sizeof(lp->cisco_debserint);
rc = -EFAULT;
break;
case SIOCSDEBSERINT:
len = (unsigned long)sizeof(lp->cisco_debserint);
- if (copy_from_user(
(char *)
&debserint,
-
(char *)ifr->ifr_ifru.ifru
_data, len))
+ if (copy_from_user(&debserint,
+
ifr->ifr
_data, len))
rc = -EFAULT;
if ((debserint >= 0) && (debserint <= 64))
lp->cisco_debserint = debserint;
rc = -EFAULT;
if ((debserint >= 0) && (debserint <= 64))
lp->cisco_debserint = debserint;
@@
-1617,8
+1614,8
@@
isdn_net_ciscohdlck_slarp_send_reply(isdn_net_local *lp)
struct sk_buff *skb;
unsigned char *p;
struct in_device *in_dev = NULL;
struct sk_buff *skb;
unsigned char *p;
struct in_device *in_dev = NULL;
-
u32 addr = 0;
/* local ipv4 address */
-
u32 mask = 0;
/* local netmask */
+
__be32 addr = 0;
/* local ipv4 address */
+
__be32 mask = 0;
/* local netmask */
if ((in_dev = lp->netdev->dev.ip_ptr) != NULL) {
/* take primary(first) address of interface */
if ((in_dev = lp->netdev->dev.ip_ptr) != NULL) {
/* take primary(first) address of interface */
@@
-2183,7
+2180,7
@@
isdn_net_find_icall(int di, int ch, int idx, setup_parm *setup)
*my_eaz == 'b' || *my_eaz == 'B')
my_eaz++; /* skip to allow a match */
else
*my_eaz == 'b' || *my_eaz == 'B')
my_eaz++; /* skip to allow a match */
else
- my_eaz =
0
; /* force non match */
+ my_eaz =
NULL
; /* force non match */
} else { /* it's a DATA call, check if we allow it */
if (*my_eaz == 'b' || *my_eaz == 'B')
my_eaz++; /* skip to allow a match */
} else { /* it's a DATA call, check if we allow it */
if (*my_eaz == 'b' || *my_eaz == 'B')
my_eaz++; /* skip to allow a match */
@@
-2462,7
+2459,7
@@
isdn_net_findif(char *name)
* This is called from the userlevel-routine below or
* from isdn_net_start_xmit().
*/
* This is called from the userlevel-routine below or
* from isdn_net_start_xmit().
*/
-int
+
static
int
isdn_net_force_dial_lp(isdn_net_local * lp)
{
if ((!(lp->flags & ISDN_NET_CONNECTED)) && !lp->dialstate) {
isdn_net_force_dial_lp(isdn_net_local * lp)
{
if ((!(lp->flags & ISDN_NET_CONNECTED)) && !lp->dialstate) {
@@
-2545,17
+2542,15
@@
isdn_net_new(char *name, struct net_device *master)
printk(KERN_WARNING "isdn_net: interface %s already exists\n", name);
return NULL;
}
printk(KERN_WARNING "isdn_net: interface %s already exists\n", name);
return NULL;
}
- if (!(netdev =
(isdn_net_dev *) km
alloc(sizeof(isdn_net_dev), GFP_KERNEL))) {
+ if (!(netdev =
kz
alloc(sizeof(isdn_net_dev), GFP_KERNEL))) {
printk(KERN_WARNING "isdn_net: Could not allocate net-device\n");
return NULL;
}
printk(KERN_WARNING "isdn_net: Could not allocate net-device\n");
return NULL;
}
- memset(netdev, 0, sizeof(isdn_net_dev));
- if (!(netdev->local = (isdn_net_local *) kmalloc(sizeof(isdn_net_local), GFP_KERNEL))) {
+ if (!(netdev->local = kzalloc(sizeof(isdn_net_local), GFP_KERNEL))) {
printk(KERN_WARNING "isdn_net: Could not allocate device locals\n");
kfree(netdev);
return NULL;
}
printk(KERN_WARNING "isdn_net: Could not allocate device locals\n");
kfree(netdev);
return NULL;
}
- memset(netdev->local, 0, sizeof(isdn_net_local));
if (name == NULL)
strcpy(netdev->local->name, " ");
else
if (name == NULL)
strcpy(netdev->local->name, " ");
else
@@
-2599,7
+2594,7
@@
isdn_net_new(char *name, struct net_device *master)
netdev->local->netdev = netdev;
netdev->local->next = netdev->local;
netdev->local->netdev = netdev;
netdev->local->next = netdev->local;
- INIT_WORK(&netdev->local->tqueue,
(void *)(void *) isdn_net_softint, netdev->local
);
+ INIT_WORK(&netdev->local->tqueue,
isdn_net_softint
);
spin_lock_init(&netdev->local->xmit_lock);
netdev->local->isdn_device = -1;
spin_lock_init(&netdev->local->xmit_lock);
netdev->local->isdn_device = -1;
@@
-2953,7
+2948,7
@@
isdn_net_addphone(isdn_net_ioctl_phone * phone)
isdn_net_phone *n;
if (p) {
isdn_net_phone *n;
if (p) {
- if (!(n =
(isdn_net_phone *)
kmalloc(sizeof(isdn_net_phone), GFP_KERNEL)))
+ if (!(n = kmalloc(sizeof(isdn_net_phone), GFP_KERNEL)))
return -ENOMEM;
strcpy(n->num, phone->phone);
n->next = p->local->phone[phone->outgoing & 1];
return -ENOMEM;
strcpy(n->num, phone->phone);
n->next = p->local->phone[phone->outgoing & 1];
@@
-2968,7
+2963,7
@@
isdn_net_addphone(isdn_net_ioctl_phone * phone)
* This might sleep and must be called with the isdn semaphore down.
*/
int
* This might sleep and must be called with the isdn semaphore down.
*/
int
-isdn_net_getphones(isdn_net_ioctl_phone * phone, char *phones)
+isdn_net_getphones(isdn_net_ioctl_phone * phone, char
__user
*phones)
{
isdn_net_dev *p = isdn_net_findif(phone->name);
int inout = phone->outgoing & 1;
{
isdn_net_dev *p = isdn_net_findif(phone->name);
int inout = phone->outgoing & 1;
@@
-3001,7
+2996,7
@@
isdn_net_getphones(isdn_net_ioctl_phone * phone, char *phones)
* to user space.
*/
int
* to user space.
*/
int
-isdn_net_getpeer(isdn_net_ioctl_phone *phone, isdn_net_ioctl_phone *peer)
+isdn_net_getpeer(isdn_net_ioctl_phone *phone, isdn_net_ioctl_phone
__user
*peer)
{
isdn_net_dev *p = isdn_net_findif(phone->name);
int ch, dv, idx;
{
isdn_net_dev *p = isdn_net_findif(phone->name);
int ch, dv, idx;