aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/block/aoe/aoe.h9
-rw-r--r--drivers/block/aoe/aoecmd.c14
-rw-r--r--drivers/block/aoe/aoenet.c2
3 files changed, 8 insertions, 17 deletions
diff --git a/drivers/block/aoe/aoe.h b/drivers/block/aoe/aoe.h
index ba07f762c4cb..07f02f855ab5 100644
--- a/drivers/block/aoe/aoe.h
+++ b/drivers/block/aoe/aoe.h
@@ -48,15 +48,6 @@ struct aoe_hdr {
48 __be32 tag; 48 __be32 tag;
49}; 49};
50 50
51#ifdef __KERNEL__
52#include <linux/skbuff.h>
53
54static inline struct aoe_hdr *aoe_hdr(const struct sk_buff *skb)
55{
56 return (struct aoe_hdr *)skb_mac_header(skb);
57}
58#endif
59
60struct aoe_atahdr { 51struct aoe_atahdr {
61 unsigned char aflags; 52 unsigned char aflags;
62 unsigned char errfeat; 53 unsigned char errfeat;
diff --git a/drivers/block/aoe/aoecmd.c b/drivers/block/aoe/aoecmd.c
index 99672017ca56..4d59d5057734 100644
--- a/drivers/block/aoe/aoecmd.c
+++ b/drivers/block/aoe/aoecmd.c
@@ -120,7 +120,7 @@ aoecmd_ata_rw(struct aoedev *d, struct frame *f)
120 120
121 /* initialize the headers & frame */ 121 /* initialize the headers & frame */
122 skb = f->skb; 122 skb = f->skb;
123 h = aoe_hdr(skb); 123 h = (struct aoe_hdr *) skb_mac_header(skb);
124 ah = (struct aoe_atahdr *) (h+1); 124 ah = (struct aoe_atahdr *) (h+1);
125 skb_put(skb, sizeof *h + sizeof *ah); 125 skb_put(skb, sizeof *h + sizeof *ah);
126 memset(h, 0, skb->len); 126 memset(h, 0, skb->len);
@@ -209,7 +209,7 @@ aoecmd_cfg_pkts(ushort aoemajor, unsigned char aoeminor, struct sk_buff **tail)
209 skb->dev = ifp; 209 skb->dev = ifp;
210 if (sl_tail == NULL) 210 if (sl_tail == NULL)
211 sl_tail = skb; 211 sl_tail = skb;
212 h = aoe_hdr(skb); 212 h = (struct aoe_hdr *) skb_mac_header(skb);
213 memset(h, 0, sizeof *h + sizeof *ch); 213 memset(h, 0, sizeof *h + sizeof *ch);
214 214
215 memset(h->dst, 0xff, sizeof h->dst); 215 memset(h->dst, 0xff, sizeof h->dst);
@@ -304,7 +304,7 @@ rexmit(struct aoedev *d, struct frame *f)
304 aoechr_error(buf); 304 aoechr_error(buf);
305 305
306 skb = f->skb; 306 skb = f->skb;
307 h = aoe_hdr(skb); 307 h = (struct aoe_hdr *) skb_mac_header(skb);
308 ah = (struct aoe_atahdr *) (h+1); 308 ah = (struct aoe_atahdr *) (h+1);
309 f->tag = n; 309 f->tag = n;
310 h->tag = cpu_to_be32(n); 310 h->tag = cpu_to_be32(n);
@@ -533,7 +533,7 @@ aoecmd_ata_rsp(struct sk_buff *skb)
533 char ebuf[128]; 533 char ebuf[128];
534 u16 aoemajor; 534 u16 aoemajor;
535 535
536 hin = aoe_hdr(skb); 536 hin = (struct aoe_hdr *) skb_mac_header(skb);
537 aoemajor = be16_to_cpu(get_unaligned(&hin->major)); 537 aoemajor = be16_to_cpu(get_unaligned(&hin->major));
538 d = aoedev_by_aoeaddr(aoemajor, hin->minor); 538 d = aoedev_by_aoeaddr(aoemajor, hin->minor);
539 if (d == NULL) { 539 if (d == NULL) {
@@ -565,7 +565,7 @@ aoecmd_ata_rsp(struct sk_buff *skb)
565 calc_rttavg(d, tsince(f->tag)); 565 calc_rttavg(d, tsince(f->tag));
566 566
567 ahin = (struct aoe_atahdr *) (hin+1); 567 ahin = (struct aoe_atahdr *) (hin+1);
568 hout = aoe_hdr(f->skb); 568 hout = (struct aoe_hdr *) skb_mac_header(f->skb);
569 ahout = (struct aoe_atahdr *) (hout+1); 569 ahout = (struct aoe_atahdr *) (hout+1);
570 buf = f->buf; 570 buf = f->buf;
571 571
@@ -699,7 +699,7 @@ aoecmd_ata_id(struct aoedev *d)
699 699
700 /* initialize the headers & frame */ 700 /* initialize the headers & frame */
701 skb = f->skb; 701 skb = f->skb;
702 h = aoe_hdr(skb); 702 h = (struct aoe_hdr *) skb_mac_header(skb);
703 ah = (struct aoe_atahdr *) (h+1); 703 ah = (struct aoe_atahdr *) (h+1);
704 skb_put(skb, sizeof *h + sizeof *ah); 704 skb_put(skb, sizeof *h + sizeof *ah);
705 memset(h, 0, skb->len); 705 memset(h, 0, skb->len);
@@ -730,7 +730,7 @@ aoecmd_cfg_rsp(struct sk_buff *skb)
730 enum { MAXFRAMES = 16 }; 730 enum { MAXFRAMES = 16 };
731 u16 n; 731 u16 n;
732 732
733 h = aoe_hdr(skb); 733 h = (struct aoe_hdr *) skb_mac_header(skb);
734 ch = (struct aoe_cfghdr *) (h+1); 734 ch = (struct aoe_cfghdr *) (h+1);
735 735
736 /* 736 /*
diff --git a/drivers/block/aoe/aoenet.c b/drivers/block/aoe/aoenet.c
index 4dc0fb7da94b..4e6deb7f5c24 100644
--- a/drivers/block/aoe/aoenet.c
+++ b/drivers/block/aoe/aoenet.c
@@ -127,7 +127,7 @@ aoenet_rcv(struct sk_buff *skb, struct net_device *ifp, struct packet_type *pt,
127 goto exit; 127 goto exit;
128 skb_push(skb, ETH_HLEN); /* (1) */ 128 skb_push(skb, ETH_HLEN); /* (1) */
129 129
130 h = aoe_hdr(skb); 130 h = (struct aoe_hdr *) skb_mac_header(skb);
131 n = be32_to_cpu(get_unaligned(&h->tag)); 131 n = be32_to_cpu(get_unaligned(&h->tag));
132 if ((h->verfl & AOEFL_RSP) == 0 || (n & 1<<31)) 132 if ((h->verfl & AOEFL_RSP) == 0 || (n & 1<<31))
133 goto exit; 133 goto exit;