X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=net%2Ftux%2Fabuf.c;h=ed7156068b9135fcb5dfb033966fc011b8e94391;hb=43bc926fffd92024b46cafaf7350d669ba9ca884;hp=7447e698cc51b06f61b157cc5276ea7ca731bd5d;hpb=cee37fe97739d85991964371c1f3a745c00dd236;p=linux-2.6.git diff --git a/net/tux/abuf.c b/net/tux/abuf.c index 7447e698c..ed7156068 100644 --- a/net/tux/abuf.c +++ b/net/tux/abuf.c @@ -130,7 +130,7 @@ repeat: TDprintk("ret: %d, req->error = TUX_ERROR_CONN_CLOSE.\n", ret); req->error = TUX_ERROR_CONN_CLOSE; req->atom_idx = 0; - req->in_file.f_pos = 0; + req->in_file->f_pos = 0; __free_page(req->abuf.page); memset(&req->abuf, 0, sizeof(req->abuf)); zap_request(req, cachemiss); @@ -157,7 +157,11 @@ repeat: req->abuf.page, req->abuf.buf, req->abuf.size, req->abuf.offset, req->abuf.flags); - __free_page(req->abuf.page); + if (req->abuf.page) + __free_page(req->abuf.page); + else + if (printk_ratelimit()) + WARN_ON(1); memset(&req->abuf, 0, sizeof(req->abuf));