diff --git a/net/rds/ib.h b/net/rds/ib.h
index d21ca88ab628b490c04e3b6ee56bcb65e7204fc0..4a520826da232a7db7309596e18b02fbf66d8672 100644
--- a/net/rds/ib.h
+++ b/net/rds/ib.h
@@ -223,7 +223,7 @@ struct rds_ib_device {
 	struct work_struct	free_work;
 };
 
-#define ibdev_to_node(ibdev) dev_to_node(ibdev->dma_device)
+#define ibdev_to_node(ibdev) dev_to_node((ibdev)->dev.parent)
 #define rdsibdev_to_node(rdsibdev) ibdev_to_node(rdsibdev->dev)
 
 /* bits for i_ack_flags */