diff options
Diffstat (limited to 'drivers/block/aoe/aoecmd.c')
-rw-r--r-- | drivers/block/aoe/aoecmd.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/drivers/block/aoe/aoecmd.c b/drivers/block/aoe/aoecmd.c index 1b711a52dd25..5d437697c368 100644 --- a/drivers/block/aoe/aoecmd.c +++ b/drivers/block/aoe/aoecmd.c | |||
@@ -380,14 +380,15 @@ aoecmd_ata_rsp(struct sk_buff *skb) | |||
380 | register long n; | 380 | register long n; |
381 | ulong flags; | 381 | ulong flags; |
382 | char ebuf[128]; | 382 | char ebuf[128]; |
383 | 383 | u16 aoemajor; | |
384 | |||
384 | hin = (struct aoe_hdr *) skb->mac.raw; | 385 | hin = (struct aoe_hdr *) skb->mac.raw; |
385 | d = aoedev_bymac(hin->src); | 386 | aoemajor = __be16_to_cpu(*((u16 *) hin->major)); |
387 | d = aoedev_by_aoeaddr(aoemajor, hin->minor); | ||
386 | if (d == NULL) { | 388 | if (d == NULL) { |
387 | snprintf(ebuf, sizeof ebuf, "aoecmd_ata_rsp: ata response " | 389 | snprintf(ebuf, sizeof ebuf, "aoecmd_ata_rsp: ata response " |
388 | "for unknown device %d.%d\n", | 390 | "for unknown device %d.%d\n", |
389 | __be16_to_cpu(*((u16 *) hin->major)), | 391 | aoemajor, hin->minor); |
390 | hin->minor); | ||
391 | aoechr_error(ebuf); | 392 | aoechr_error(ebuf); |
392 | return; | 393 | return; |
393 | } | 394 | } |