]> git.ipfire.org Git - people/arne_f/kernel.git/blobdiff - drivers/net/hyperv/netvsc.c
hyperv: Add support for physically discontinuous receive buffer
[people/arne_f/kernel.git] / drivers / net / hyperv / netvsc.c
index 2b0480416b31a2586afd0467ab539e1065caeb5b..03a2c6e171584ff5f639d686458fbb75b7dcfb47 100644 (file)
@@ -11,8 +11,7 @@
  * more details.
  *
  * You should have received a copy of the GNU General Public License along with
- * this program; if not, write to the Free Software Foundation, Inc., 59 Temple
- * Place - Suite 330, Boston, MA 02111-1307 USA.
+ * this program; if not, see <http://www.gnu.org/licenses/>.
  *
  * Authors:
  *   Haiyang Zhang <haiyangz@microsoft.com>
@@ -137,8 +136,7 @@ static int netvsc_destroy_recv_buf(struct netvsc_device *net_device)
 
        if (net_device->recv_buf) {
                /* Free up the receive buffer */
-               free_pages((unsigned long)net_device->recv_buf,
-                       get_order(net_device->recv_buf_size));
+               vfree(net_device->recv_buf);
                net_device->recv_buf = NULL;
        }
 
@@ -164,9 +162,7 @@ static int netvsc_init_recv_buf(struct hv_device *device)
                return -ENODEV;
        ndev = net_device->ndev;
 
-       net_device->recv_buf =
-               (void *)__get_free_pages(GFP_KERNEL|__GFP_ZERO,
-                               get_order(net_device->recv_buf_size));
+       net_device->recv_buf = vzalloc(net_device->recv_buf_size);
        if (!net_device->recv_buf) {
                netdev_err(ndev, "unable to allocate receive "
                        "buffer of size %d\n", net_device->recv_buf_size);