---
name: "request_firmware_nowait"
section: "9"
platform: "linux"
package: "linux-manual-3.16"
version: "3.16.56-1+deb8u1"
release: "Debian 8 (Jessie)"
platforms: ["linux"]
url: "https://new.carta.tech/request_firmware_nowait"
---

# request\_firmware\_nowait(9)

asynchronous version of request\_firmware

## NAME

request\_firmware\_nowait - asynchronous version of request\_firmware

## SYNOPSIS

**int request\_firmware\_nowait(struct module \*** *module***, bool** *uevent***, const char \*** *name***, struct device \*** *device***, gfp\_t** *gfp***, void \*** *context***, void (\****cont***) (const struct firmware \*fw, void \*context));**

## ARGUMENTS

*module*

module requesting the firmware

*uevent*

sends uevent to copy the firmware image if this flag is non-zero else the firmware copy must be done manually.

*name*

name of firmware file

*device*

device for which firmware is being loaded

*gfp*

allocation flags

*context*

will be passed over to *cont*, and *fw* may be **NULL** if firmware request fails.

*cont*

function will be called asynchronously when the firmware request is over.

## DESCRIPTION

Caller must hold the reference count of *device*.

Asynchronous variant of **request\_firmware** for user contexts: - sleep for as small periods as possible since it may increase kernel boot time of built-in device drivers requesting firmware in their -\>**probe** methods, if *gfp* is GFP\_KERNEL.

\- can't sleep at all if *gfp* is GFP\_ATOMIC.

## COPYRIGHT
