diff options
Diffstat (limited to 'drivers/scsi/cxgbi')
-rw-r--r-- | drivers/scsi/cxgbi/libcxgbi.c | 20 |
1 files changed, 3 insertions, 17 deletions
diff --git a/drivers/scsi/cxgbi/libcxgbi.c b/drivers/scsi/cxgbi/libcxgbi.c index 889199aa1f5b..a24dff9f9163 100644 --- a/drivers/scsi/cxgbi/libcxgbi.c +++ b/drivers/scsi/cxgbi/libcxgbi.c | |||
@@ -451,26 +451,12 @@ static struct cxgbi_sock *cxgbi_sock_create(struct cxgbi_device *cdev) | |||
451 | } | 451 | } |
452 | 452 | ||
453 | static struct rtable *find_route_ipv4(__be32 saddr, __be32 daddr, | 453 | static struct rtable *find_route_ipv4(__be32 saddr, __be32 daddr, |
454 | __be16 sport, __be16 dport, u8 tos) | 454 | __be16 sport, __be16 dport, u8 tos) |
455 | { | 455 | { |
456 | struct rtable *rt; | 456 | struct rtable *rt; |
457 | struct flowi fl = { | ||
458 | .oif = 0, | ||
459 | .nl_u = { | ||
460 | .ip4_u = { | ||
461 | .daddr = daddr, | ||
462 | .saddr = saddr, | ||
463 | .tos = tos } | ||
464 | }, | ||
465 | .proto = IPPROTO_TCP, | ||
466 | .uli_u = { | ||
467 | .ports = { | ||
468 | .sport = sport, | ||
469 | .dport = dport } | ||
470 | } | ||
471 | }; | ||
472 | 457 | ||
473 | rt = ip_route_output_flow(&init_net, &fl, NULL); | 458 | rt = ip_route_output_ports(&init_net, NULL, daddr, saddr, |
459 | dport, sport, IPPROTO_TCP, tos, 0); | ||
474 | if (IS_ERR(rt)) | 460 | if (IS_ERR(rt)) |
475 | return NULL; | 461 | return NULL; |
476 | 462 | ||