diff options
author | Bryan O'Sullivan <bos@pathscale.com> | 2006-09-28 11:59:59 -0400 |
---|---|---|
committer | Roland Dreier <rolandd@cisco.com> | 2006-09-28 14:16:25 -0400 |
commit | 9929b0fb0f35f54371e9364bab809bcd753f9d3a (patch) | |
tree | 1722f36becc47589bb7b0d98ad00c10dece2a95e /drivers/infiniband/hw/ipath/ipath_driver.c | |
parent | 221e31985b490309eb9ae33ac815deae3b5aa021 (diff) |
IB/ipath: Driver support for userspace sharing of HW contexts
This allows multiple userspace processes to share a single hardware
context in a master/slave arrangement. It is backwards binary compatible
with existing userspace.
Signed-off-by: Bryan O'Sullivan <bryan.osullivan@qlogic.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
Diffstat (limited to 'drivers/infiniband/hw/ipath/ipath_driver.c')
-rw-r--r-- | drivers/infiniband/hw/ipath/ipath_driver.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/drivers/infiniband/hw/ipath/ipath_driver.c b/drivers/infiniband/hw/ipath/ipath_driver.c index a01301d0753c..0fe37c5467ac 100644 --- a/drivers/infiniband/hw/ipath/ipath_driver.c +++ b/drivers/infiniband/hw/ipath/ipath_driver.c | |||
@@ -1827,9 +1827,9 @@ void ipath_free_pddata(struct ipath_devdata *dd, struct ipath_portdata *pd) | |||
1827 | dma_free_coherent(&dd->pcidev->dev, size, | 1827 | dma_free_coherent(&dd->pcidev->dev, size, |
1828 | base, pd->port_rcvegrbuf_phys[e]); | 1828 | base, pd->port_rcvegrbuf_phys[e]); |
1829 | } | 1829 | } |
1830 | vfree(pd->port_rcvegrbuf); | 1830 | kfree(pd->port_rcvegrbuf); |
1831 | pd->port_rcvegrbuf = NULL; | 1831 | pd->port_rcvegrbuf = NULL; |
1832 | vfree(pd->port_rcvegrbuf_phys); | 1832 | kfree(pd->port_rcvegrbuf_phys); |
1833 | pd->port_rcvegrbuf_phys = NULL; | 1833 | pd->port_rcvegrbuf_phys = NULL; |
1834 | pd->port_rcvegrbuf_chunks = 0; | 1834 | pd->port_rcvegrbuf_chunks = 0; |
1835 | } else if (pd->port_port == 0 && dd->ipath_port0_skbs) { | 1835 | } else if (pd->port_port == 0 && dd->ipath_port0_skbs) { |
@@ -1845,6 +1845,9 @@ void ipath_free_pddata(struct ipath_devdata *dd, struct ipath_portdata *pd) | |||
1845 | vfree(skbs); | 1845 | vfree(skbs); |
1846 | } | 1846 | } |
1847 | kfree(pd->port_tid_pg_list); | 1847 | kfree(pd->port_tid_pg_list); |
1848 | vfree(pd->subport_uregbase); | ||
1849 | vfree(pd->subport_rcvegrbuf); | ||
1850 | vfree(pd->subport_rcvhdr_base); | ||
1848 | kfree(pd); | 1851 | kfree(pd); |
1849 | } | 1852 | } |
1850 | 1853 | ||