---
name: "usb_buffer_map"
section: "9"
platform: "linux"
package: "linux-manual-4.9"
version: "4.9.228-1"
release: "Debian 9 (Stretch)"
platforms: ["linux"]
url: "https://new.carta.tech/usb_buffer_map"
---

# usb\_buffer\_map(9)

create DMA mapping(s) for an urb

## NAME

usb\_buffer\_map - create DMA mapping(s) for an urb

## SYNOPSIS

**struct urb \* usb\_buffer\_map(struct urb \*** *urb***);**

## ARGUMENTS

*urb*

urb whose transfer\_buffer/setup\_packet will be mapped

## DESCRIPTION

URB\_NO\_TRANSFER\_DMA\_MAP is added to urb-\>transfer\_flags if the operation succeeds. If the device is connected to this system through a non-DMA controller, this operation always succeeds.

This call would normally be used for an urb which is reused, perhaps as the target of a large periodic transfer, with **usb\_buffer\_dmasync** calls to synchronize memory and dma state.

Reverse the effect of this call with **usb\_buffer\_unmap**.

## RETURN

Either **NULL** (indicating no buffer could be mapped), or *urb*.

## COPYRIGHT
