X-Git-Url: http://pilppa.org/gitweb/?a=blobdiff_plain;f=net%2Fbridge%2Fbr_stp_bpdu.c;h=b9fb0dc4ab1290dc4bebcb151a579bf39fb92ae2;hb=d08df601a30df9e36c29f3214315f4f0c8784c68;hp=8934a54792be48d91b7edbc0d37ff654711b1640;hpb=74293759002aa7db0179158c20676a034614577b;p=linux-2.6-omap-h63xx.git diff --git a/net/bridge/br_stp_bpdu.c b/net/bridge/br_stp_bpdu.c index 8934a54792b..b9fb0dc4ab1 100644 --- a/net/bridge/br_stp_bpdu.c +++ b/net/bridge/br_stp_bpdu.c @@ -19,6 +19,7 @@ #include #include #include +#include #include "br_private.h" #include "br_private_stp.h" @@ -28,7 +29,7 @@ #define LLC_RESERVE sizeof(struct llc_pdu_un) static void br_send_bpdu(struct net_bridge_port *p, - const unsigned char *data, int length) + const unsigned char *data, int length) { struct sk_buff *skb; @@ -59,12 +60,12 @@ static inline void br_set_ticks(unsigned char *dest, int j) { unsigned long ticks = (STP_HZ * j)/ HZ; - *((__be16 *) dest) = htons(ticks); + put_unaligned(htons(ticks), (__be16 *)dest); } static inline int br_get_ticks(const unsigned char *src) { - unsigned long ticks = ntohs(*(__be16 *)src); + unsigned long ticks = ntohs(get_unaligned((__be16 *)src)); return (ticks * HZ + STP_HZ - 1) / STP_HZ; } @@ -120,7 +121,7 @@ void br_send_tcn_bpdu(struct net_bridge_port *p) buf[1] = 0; buf[2] = 0; buf[3] = BPDU_TYPE_TCN; - br_send_bpdu(p, buf, 7); + br_send_bpdu(p, buf, 4); } /*