static void grant_end(grant_ref_t *gref)
{
- if (*gref && gnttab_end_foreign_access_ref(*gref, 0)) {
+ if (*gref && gnttab_end_foreign_access_ref(*gref)) {
gnttab_free_grant_reference(*gref);
*gref = 0;
}
void nc2_stop_polling(struct netchannel2_ring_pair *ncrp);
/* Compatibility with PV-ops kernels. */
-#ifdef CONFIG_PARAVIRT
#define nc2_end_foreign_access_ref gnttab_end_foreign_access_ref
#define nc2_end_foreign_access gnttab_end_foreign_access
-#else
-static inline int nc2_end_foreign_access_ref(grant_ref_t gref, int readonly)
-{
- return gnttab_end_foreign_access_ref(gref);
-}
-static inline void nc2_end_foreign_access(grant_ref_t gref, int readonly,
- unsigned long page)
-{
- gnttab_end_foreign_access(gref, page);
-}
-#endif
#endif /* !NETCHANNEL2_CORE_H__ */
for (i = 0; i < nr_pages; i++) {
if (grefs[i]) {
- succ = nc2_end_foreign_access_ref(grefs[i], 0);
+ succ = nc2_end_foreign_access_ref(grefs[i]);
if (!succ) {
/* XXX we can't recover when this
* happens. Try to do something
frag.size <= PAGE_SIZE &&
frag.off < PAGE_SIZE &&
frag.size + frag.off <= POSTED_BUFFER_SIZE &&
- nc2_end_foreign_access_ref(rxb->gref, 0)) {
+ nc2_end_foreign_access_ref(rxb->gref)) {
gnttab_free_grant_reference(rxb->gref);
attach_buffer_to_skb(cur_skb, rxb, frag.size,
frag.off);
} else {
is_bad = 1;
nc2_end_foreign_access(rxb->gref,
- 0,
(unsigned long)rxb->buffer);
}
rxb->gref = 0;
{
rxb->is_posted = 0;
nc2_end_foreign_access(rxb->gref,
- 0,
(unsigned long)rxb->buffer);
nc->nr_rx_buffers--;
list_move(&rxb->list, &nc->unused_rx_buffers);
/* It's a subpage grant reference, so Xen
guarantees to release it quickly. Sit and
wait for it to do so. */
- while (!nc2_end_foreign_access_ref(gref, 1)) {
+ while (!nc2_end_foreign_access_ref(gref)) {
cpu_relax();
}
gnttab_free_grant_reference(gref);
if (r == -ENOSPC)
break;
gref = (grant_ref_t)r;
- r = nc2_end_foreign_access_ref(gref, 1);
+ r = nc2_end_foreign_access_ref(gref);
if (r == 0) {
printk(KERN_WARNING "Failed to end remote access to packet memory.\n");
} else {