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:
  RDMA/addr: Fix resolution of local IPv6 addresses
  RDMA/cxgb3: Handle NULL inetdev pointer in iwch_query_port()
  mlx4_core: Add 40GigE device ID
  RDMA/iwcm: Don't call provider reject func with irqs disabled
  IB: Fix typo in udev rule documentation
This commit is contained in:
Linus Torvalds 2009-10-09 13:40:22 -07:00
commit bd381934bf
6 changed files with 14 additions and 8 deletions

View File

@ -128,8 +128,8 @@ Setting IsSM Capability Bit
To create the appropriate character device files automatically with To create the appropriate character device files automatically with
udev, a rule like udev, a rule like
KERNEL="umad*", NAME="infiniband/%k" KERNEL=="umad*", NAME="infiniband/%k"
KERNEL="issm*", NAME="infiniband/%k" KERNEL=="issm*", NAME="infiniband/%k"
can be used. This will create device nodes named can be used. This will create device nodes named

View File

@ -58,7 +58,7 @@ Memory pinning
To create the appropriate character device files automatically with To create the appropriate character device files automatically with
udev, a rule like udev, a rule like
KERNEL="uverbs*", NAME="infiniband/%k" KERNEL=="uverbs*", NAME="infiniband/%k"
can be used. This will create device nodes named can be used. This will create device nodes named

View File

@ -393,7 +393,7 @@ static int addr_resolve_local(struct sockaddr *src_in,
for_each_netdev(&init_net, dev) for_each_netdev(&init_net, dev)
if (ipv6_chk_addr(&init_net, if (ipv6_chk_addr(&init_net,
&((struct sockaddr_in6 *) addr)->sin6_addr, &((struct sockaddr_in6 *) dst_in)->sin6_addr,
dev, 1)) dev, 1))
break; break;

View File

@ -362,7 +362,9 @@ static void destroy_cm_id(struct iw_cm_id *cm_id)
* In either case, must tell the provider to reject. * In either case, must tell the provider to reject.
*/ */
cm_id_priv->state = IW_CM_STATE_DESTROYING; cm_id_priv->state = IW_CM_STATE_DESTROYING;
spin_unlock_irqrestore(&cm_id_priv->lock, flags);
cm_id->device->iwcm->reject(cm_id, NULL, 0); cm_id->device->iwcm->reject(cm_id, NULL, 0);
spin_lock_irqsave(&cm_id_priv->lock, flags);
break; break;
case IW_CM_STATE_CONN_SENT: case IW_CM_STATE_CONN_SENT:
case IW_CM_STATE_DESTROYING: case IW_CM_STATE_DESTROYING:

View File

@ -1199,11 +1199,14 @@ static int iwch_query_port(struct ib_device *ibdev,
props->state = IB_PORT_DOWN; props->state = IB_PORT_DOWN;
else { else {
inetdev = in_dev_get(netdev); inetdev = in_dev_get(netdev);
if (inetdev) {
if (inetdev->ifa_list) if (inetdev->ifa_list)
props->state = IB_PORT_ACTIVE; props->state = IB_PORT_ACTIVE;
else else
props->state = IB_PORT_INIT; props->state = IB_PORT_INIT;
in_dev_put(inetdev); in_dev_put(inetdev);
} else
props->state = IB_PORT_INIT;
} }
props->port_cap_flags = props->port_cap_flags =

View File

@ -1282,6 +1282,7 @@ static struct pci_device_id mlx4_pci_table[] = {
{ PCI_VDEVICE(MELLANOX, 0x6372) }, /* MT25458 ConnectX EN 10GBASE-T 10GigE */ { PCI_VDEVICE(MELLANOX, 0x6372) }, /* MT25458 ConnectX EN 10GBASE-T 10GigE */
{ PCI_VDEVICE(MELLANOX, 0x675a) }, /* MT25458 ConnectX EN 10GBASE-T+Gen2 10GigE */ { PCI_VDEVICE(MELLANOX, 0x675a) }, /* MT25458 ConnectX EN 10GBASE-T+Gen2 10GigE */
{ PCI_VDEVICE(MELLANOX, 0x6764) }, /* MT26468 ConnectX EN 10GigE PCIe gen2*/ { PCI_VDEVICE(MELLANOX, 0x6764) }, /* MT26468 ConnectX EN 10GigE PCIe gen2*/
{ PCI_VDEVICE(MELLANOX, 0x676e) }, /* MT26478 ConnectX2 40GigE PCIe gen2 */
{ 0, } { 0, }
}; };