diff options
author | Ed L. Cashin <ecashin@coraid.com> | 2006-09-20 14:36:49 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2006-10-18 12:53:50 -0700 |
commit | ddec63e86752b89776547e93aa68af01f1cbb10c (patch) | |
tree | 42ae0ae8e3f6558ec4c5a75d796412825bff784c /drivers/block/aoe/aoecmd.c | |
parent | 6bb6285fdb948cedee586c6bebc9ebc5e32a5c35 (diff) |
aoe: jumbo frame support 2 of 2
Add support for jumbo ethernet frames.
(This patch follows patch 5.)
Signed-off-by: "Ed L. Cashin" <ecashin@coraid.com>
Acked-by: Alan Cox <alan@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/block/aoe/aoecmd.c')
-rw-r--r-- | drivers/block/aoe/aoecmd.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/drivers/block/aoe/aoecmd.c b/drivers/block/aoe/aoecmd.c index 63c456082d81..621fdbbc4cd4 100644 --- a/drivers/block/aoe/aoecmd.c +++ b/drivers/block/aoe/aoecmd.c @@ -475,7 +475,7 @@ void aoecmd_ata_rsp(struct sk_buff *skb) { struct aoedev *d; - struct aoe_hdr *hin; + struct aoe_hdr *hin, *hout; struct aoe_atahdr *ahin, *ahout; struct frame *f; struct buf *buf; @@ -515,7 +515,8 @@ aoecmd_ata_rsp(struct sk_buff *skb) calc_rttavg(d, tsince(f->tag)); ahin = (struct aoe_atahdr *) (hin+1); - ahout = (struct aoe_atahdr *) (f->skb->mac.raw + sizeof(struct aoe_hdr)); + hout = (struct aoe_hdr *) f->skb->mac.raw; + ahout = (struct aoe_atahdr *) (hout+1); buf = f->buf; if (ahout->cmdstat == WIN_IDENTIFY) @@ -552,6 +553,9 @@ aoecmd_ata_rsp(struct sk_buff *skb) skb_fill_page_desc(f->skb, 0, virt_to_page(f->bufaddr), offset_in_page(f->bufaddr), n); + f->tag = newtag(d); + hout->tag = cpu_to_be32(f->tag); + skb->dev = d->ifp; skb_get(f->skb); f->skb->next = NULL; spin_unlock_irqrestore(&d->lock, flags); |