diff -ur linux-2.6.28-rc3-git-orig/include/net/irda/irda_device.h linux-2.6.28-rc3-git/include/net/irda/irda_device.h --- linux-2.6.28-rc3-git-orig/include/net/irda/irda_device.h 2008-11-08 12:05:58.000000000 -0500 +++ linux-2.6.28-rc3-git/include/net/irda/irda_device.h 2008-11-08 12:07:35.000000000 -0500 @@ -244,7 +244,7 @@ */ static inline __u16 irda_get_mtt(const struct sk_buff *skb) { - const struct irda_skb_cb *cb = (const struct irda_skb_cb *) skb->cb; + const struct irda_skb_cb *cb = (const struct irda_skb_cb *) skb->tx_extra; return (cb->magic == LAP_MAGIC) ? cb->mtt : 10000; } @@ -257,7 +257,7 @@ */ static inline __u32 irda_get_next_speed(const struct sk_buff *skb) { - const struct irda_skb_cb *cb = (const struct irda_skb_cb *) skb->cb; + const struct irda_skb_cb *cb = (const struct irda_skb_cb *) skb->tx_extra; return (cb->magic == LAP_MAGIC) ? cb->next_speed : -1; } @@ -270,7 +270,7 @@ */ static inline __u16 irda_get_xbofs(const struct sk_buff *skb) { - const struct irda_skb_cb *cb = (const struct irda_skb_cb *) skb->cb; + const struct irda_skb_cb *cb = (const struct irda_skb_cb *) skb->tx_extra; return (cb->magic == LAP_MAGIC) ? cb->xbofs : 10; } @@ -283,7 +283,7 @@ */ static inline __u16 irda_get_next_xbofs(const struct sk_buff *skb) { - const struct irda_skb_cb *cb = (const struct irda_skb_cb *) skb->cb; + const struct irda_skb_cb *cb = (const struct irda_skb_cb *) skb->tx_extra; return (cb->magic == LAP_MAGIC) ? cb->next_xbofs : -1; } #endif /* IRDA_DEVICE_H */ diff -ur linux-2.6.28-rc3-git-orig/net/irda/ircomm/ircomm_lmp.c linux-2.6.28-rc3-git/net/irda/ircomm/ircomm_lmp.c --- linux-2.6.28-rc3-git-orig/net/irda/ircomm/ircomm_lmp.c 2008-11-06 19:44:23.000000000 -0500 +++ linux-2.6.28-rc3-git/net/irda/ircomm/ircomm_lmp.c 2008-11-08 12:09:49.000000000 -0500 @@ -146,7 +146,7 @@ IRDA_ASSERT(skb != NULL, return;); - cb = (struct irda_skb_cb *) skb->cb; + cb = irda_get_skb_cb(skb); IRDA_DEBUG(2, "%s()\n", __func__ ); @@ -187,7 +187,7 @@ IRDA_ASSERT(skb != NULL, return -1;); - cb = (struct irda_skb_cb *) skb->cb; + cb = irda_get_skb_cb(skb); cb->line = self->line; diff -ur linux-2.6.28-rc3-git-orig/net/irda/irlap_frame.c linux-2.6.28-rc3-git/net/irda/irlap_frame.c --- linux-2.6.28-rc3-git-orig/net/irda/irlap_frame.c 2008-11-06 19:44:23.000000000 -0500 +++ linux-2.6.28-rc3-git/net/irda/irlap_frame.c 2008-11-08 12:09:49.000000000 -0500 @@ -56,7 +56,9 @@ static inline void irlap_insert_info(struct irlap_cb *self, struct sk_buff *skb) { - struct irda_skb_cb *cb = (struct irda_skb_cb *) skb->cb; + struct irda_skb_cb *cb; + + cb = irda_get_skb_cb(skb); /* * Insert MTT (min. turn time) and speed into skb, so that the diff -ur linux-2.6.28-rc3-git-orig/net/irda/wrapper.c linux-2.6.28-rc3-git/net/irda/wrapper.c --- linux-2.6.28-rc3-git-orig/net/irda/wrapper.c 2008-11-06 19:44:23.000000000 -0500 +++ linux-2.6.28-rc3-git/net/irda/wrapper.c 2008-11-08 12:09:49.000000000 -0500 @@ -82,7 +82,7 @@ */ int async_wrap_skb(struct sk_buff *skb, __u8 *tx_buff, int buffsize) { - struct irda_skb_cb *cb = (struct irda_skb_cb *) skb->cb; + struct irda_skb_cb *cb; int xbofs; int i; int n; @@ -91,6 +91,8 @@ __u8 bytes[2]; } fcs; + cb = irda_get_skb_cb(skb); + /* Initialize variables */ fcs.value = INIT_FCS; n = 0;