diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2009-07-14 21:37:09 -0400 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2009-07-14 21:37:09 -0400 |
| commit | d878fe2331219ff8518192b67f66699cb6d164e2 (patch) | |
| tree | c3255588130a98256e56396c13c29e887fa1d6c1 | |
| parent | 62f49052ac4b68152ddf742b78b2151ba20dbc28 (diff) | |
| parent | 92bd3bbfbe644ea0860cfe84cf175fffa5246423 (diff) | |
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband:
mlx4_core: Add new ConnectX EN PCI ID 0x6764
mlx4_core: Handle multi-physical function devices
| -rw-r--r-- | drivers/net/mlx4/cmd.c | 5 | ||||
| -rw-r--r-- | drivers/net/mlx4/main.c | 6 |
2 files changed, 9 insertions, 2 deletions
diff --git a/drivers/net/mlx4/cmd.c b/drivers/net/mlx4/cmd.c index 2845a0560b84..65ec77dc31f5 100644 --- a/drivers/net/mlx4/cmd.c +++ b/drivers/net/mlx4/cmd.c | |||
| @@ -80,7 +80,9 @@ enum { | |||
| 80 | /* Bad management packet (silently discarded): */ | 80 | /* Bad management packet (silently discarded): */ |
| 81 | CMD_STAT_BAD_PKT = 0x30, | 81 | CMD_STAT_BAD_PKT = 0x30, |
| 82 | /* More outstanding CQEs in CQ than new CQ size: */ | 82 | /* More outstanding CQEs in CQ than new CQ size: */ |
| 83 | CMD_STAT_BAD_SIZE = 0x40 | 83 | CMD_STAT_BAD_SIZE = 0x40, |
| 84 | /* Multi Function device support required: */ | ||
| 85 | CMD_STAT_MULTI_FUNC_REQ = 0x50, | ||
| 84 | }; | 86 | }; |
| 85 | 87 | ||
| 86 | enum { | 88 | enum { |
| @@ -128,6 +130,7 @@ static int mlx4_status_to_errno(u8 status) | |||
| 128 | [CMD_STAT_LAM_NOT_PRE] = -EAGAIN, | 130 | [CMD_STAT_LAM_NOT_PRE] = -EAGAIN, |
| 129 | [CMD_STAT_BAD_PKT] = -EINVAL, | 131 | [CMD_STAT_BAD_PKT] = -EINVAL, |
| 130 | [CMD_STAT_BAD_SIZE] = -ENOMEM, | 132 | [CMD_STAT_BAD_SIZE] = -ENOMEM, |
| 133 | [CMD_STAT_MULTI_FUNC_REQ] = -EACCES, | ||
| 131 | }; | 134 | }; |
| 132 | 135 | ||
| 133 | if (status >= ARRAY_SIZE(trans_table) || | 136 | if (status >= ARRAY_SIZE(trans_table) || |
diff --git a/drivers/net/mlx4/main.c b/drivers/net/mlx4/main.c index 018348c01193..dac621b1e9fc 100644 --- a/drivers/net/mlx4/main.c +++ b/drivers/net/mlx4/main.c | |||
| @@ -729,7 +729,10 @@ static int mlx4_init_hca(struct mlx4_dev *dev) | |||
| 729 | 729 | ||
| 730 | err = mlx4_QUERY_FW(dev); | 730 | err = mlx4_QUERY_FW(dev); |
| 731 | if (err) { | 731 | if (err) { |
| 732 | mlx4_err(dev, "QUERY_FW command failed, aborting.\n"); | 732 | if (err == -EACCES) |
| 733 | mlx4_info(dev, "non-primary physical function, skipping.\n"); | ||
| 734 | else | ||
| 735 | mlx4_err(dev, "QUERY_FW command failed, aborting.\n"); | ||
| 733 | return err; | 736 | return err; |
| 734 | } | 737 | } |
| 735 | 738 | ||
| @@ -1285,6 +1288,7 @@ static struct pci_device_id mlx4_pci_table[] = { | |||
| 1285 | { PCI_VDEVICE(MELLANOX, 0x6750) }, /* MT25408 "Hermon" EN 10GigE PCIe gen2 */ | 1288 | { PCI_VDEVICE(MELLANOX, 0x6750) }, /* MT25408 "Hermon" EN 10GigE PCIe gen2 */ |
| 1286 | { PCI_VDEVICE(MELLANOX, 0x6372) }, /* MT25458 ConnectX EN 10GBASE-T 10GigE */ | 1289 | { PCI_VDEVICE(MELLANOX, 0x6372) }, /* MT25458 ConnectX EN 10GBASE-T 10GigE */ |
| 1287 | { PCI_VDEVICE(MELLANOX, 0x675a) }, /* MT25458 ConnectX EN 10GBASE-T+Gen2 10GigE */ | 1290 | { PCI_VDEVICE(MELLANOX, 0x675a) }, /* MT25458 ConnectX EN 10GBASE-T+Gen2 10GigE */ |
| 1291 | { PCI_VDEVICE(MELLANOX, 0x6764) }, /* MT26468 ConnectX EN 10GigE PCIe gen2*/ | ||
| 1288 | { 0, } | 1292 | { 0, } |
| 1289 | }; | 1293 | }; |
| 1290 | 1294 | ||
