Skip to content

Failing to allocate dma trb pool memory in usb gadget driver #58

Description

@Aswath-Govindraju

In the gadget driver(drivers/usb/cdns3/gadget.c) the dma trb buffers are being allocated in the cdns3_gadget_ep_enable() function using cdns3_allocate_trb_pool(). This function is called in atomic context because of which the memory allocation is done with an atomic flag. The coherent memory in TI devices is limited and because of this some modules (g_ether) are failing currently.

In other drivers the allocation was done in init() functions and the allocation was not done in atomic context (For example gadget driver from Synopsys, dwc3).

Can the allocation be shifted to a non-atomic context ??

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions