Generic HDLC sparse annotations

2007-04-27 Thread Krzysztof Halasa
Sparse annotations, including two minor bugfixes.

Signed-off-by: Krzysztof Halasa [EMAIL PROTECTED]

diff --git a/drivers/net/wan/hdlc_cisco.c b/drivers/net/wan/hdlc_cisco.c
index c9664fd..a7a12d6 100644
--- a/drivers/net/wan/hdlc_cisco.c
+++ b/drivers/net/wan/hdlc_cisco.c
@@ -37,16 +37,16 @@
 struct hdlc_header {
u8 address;
u8 control;
-   u16 protocol;
+   __be16 protocol;
 }__attribute__ ((packed));
 
 
 struct cisco_packet {
-   u32 type;   /* code */
-   u32 par1;
-   u32 par2;
-   u16 rel;/* reliability */
-   u32 time;
+   __be32 type;/* code */
+   __be32 par1;
+   __be32 par2;
+   __be16 rel; /* reliability */
+   __be32 time;
 }__attribute__ ((packed));
 #defineCISCO_PACKET_LEN18
 #defineCISCO_BIG_PACKET_LEN20
@@ -97,7 +97,7 @@ static int cisco_hard_header(struct sk_buff *skb, struct 
net_device *dev,
 
 
 static void cisco_keepalive_send(struct net_device *dev, u32 type,
-u32 par1, u32 par2)
+__be32 par1, __be32 par2)
 {
struct sk_buff *skb;
struct cisco_packet *data;
@@ -115,9 +115,9 @@ static void cisco_keepalive_send(struct net_device *dev, 
u32 type,
data = (struct cisco_packet*)(skb-data + 4);
 
data-type = htonl(type);
-   data-par1 = htonl(par1);
-   data-par2 = htonl(par2);
-   data-rel = 0x;
+   data-par1 = par1;
+   data-par2 = par2;
+   data-rel = __constant_htons(0x);
/* we will need do_div here if 1000 % HZ != 0 */
data-time = htonl((jiffies - INITIAL_JIFFIES) * (1000 / HZ));
 
@@ -193,7 +193,7 @@ static int cisco_rx(struct sk_buff *skb)
case CISCO_ADDR_REQ: /* Stolen from syncppp.c :-) */
in_dev = dev-ip_ptr;
addr = 0;
-   mask = ~0; /* is the mask correct? */
+   mask = __constant_htonl(~0); /* is the mask correct? */
 
if (in_dev != NULL) {
struct in_ifaddr **ifap = in_dev-ifa_list;
@@ -245,7 +245,7 @@ static int cisco_rx(struct sk_buff *skb)
} /* switch(protocol) */
 
printk(KERN_INFO %s: Unsupported protocol %x\n, dev-name,
-  data-protocol);
+  ntohs(data-protocol));
dev_kfree_skb_any(skb);
return NET_RX_DROP;
 
@@ -270,8 +270,9 @@ static void cisco_timer(unsigned long arg)
netif_dormant_on(dev);
}
 
-   cisco_keepalive_send(dev, CISCO_KEEPALIVE_REQ, ++state(hdlc)-txseq,
-state(hdlc)-rxseq);
+   cisco_keepalive_send(dev, CISCO_KEEPALIVE_REQ,
+htonl(++state(hdlc)-txseq),
+htonl(state(hdlc)-rxseq));
state(hdlc)-request_sent = 1;
state(hdlc)-timer.expires = jiffies +
state(hdlc)-settings.interval * HZ;
diff --git a/drivers/net/wan/hdlc_fr.c b/drivers/net/wan/hdlc_fr.c
index c6c3c75..24fe2d3 100644
--- a/drivers/net/wan/hdlc_fr.c
+++ b/drivers/net/wan/hdlc_fr.c
@@ -288,31 +288,31 @@ static int fr_hard_header(struct sk_buff **skb_p, u16 
dlci)
struct sk_buff *skb = *skb_p;
 
switch (skb-protocol) {
-   case __constant_ntohs(NLPID_CCITT_ANSI_LMI):
+   case __constant_htons(NLPID_CCITT_ANSI_LMI):
head_len = 4;
skb_push(skb, head_len);
skb-data[3] = NLPID_CCITT_ANSI_LMI;
break;
 
-   case __constant_ntohs(NLPID_CISCO_LMI):
+   case __constant_htons(NLPID_CISCO_LMI):
head_len = 4;
skb_push(skb, head_len);
skb-data[3] = NLPID_CISCO_LMI;
break;
 
-   case __constant_ntohs(ETH_P_IP):
+   case __constant_htons(ETH_P_IP):
head_len = 4;
skb_push(skb, head_len);
skb-data[3] = NLPID_IP;
break;
 
-   case __constant_ntohs(ETH_P_IPV6):
+   case __constant_htons(ETH_P_IPV6):
head_len = 4;
skb_push(skb, head_len);
skb-data[3] = NLPID_IPV6;
break;
 
-   case __constant_ntohs(ETH_P_802_3):
+   case __constant_htons(ETH_P_802_3):
head_len = 10;
if (skb_headroom(skb)  head_len) {
struct sk_buff *skb2 = skb_realloc_headroom(skb,
@@ -340,7 +340,7 @@ static int fr_hard_header(struct sk_buff **skb_p, u16 dlci)
skb-data[5] = FR_PAD;
skb-data[6] = FR_PAD;
skb-data[7] = FR_PAD;
-   *(u16*)(skb-data + 8) = skb-protocol;
+   *(__be16*)(skb-data + 8) = skb-protocol;
}
 
dlci_to_q922(skb-data, dlci);
@@ -974,8 +974,8 @@ static int fr_rx(struct sk_buff *skb)
 
} else if (skb-len  10  data[3] == FR_PAD 
  

Re: Generic HDLC sparse annotations

2007-04-27 Thread Jeff Garzik

Krzysztof Halasa wrote:

Sparse annotations, including two minor bugfixes.

Signed-off-by: Krzysztof Halasa [EMAIL PROTECTED]


applied


-
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html