RE: [PATCH 1/1] usb: fsl_udc_core: Fix scheduling while atomic dump message

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



 
> >[<800a9304>] (dma_pool_alloc+0x0/0x250) from [<802a8ad8>]
> >(fsl_req_to_dtd+0xac/0x180) [<802a8a2c>] (fsl_req_to_dtd+0x0/0x180) from
> >[<802a8ce4>] (fsl_ep_queue+0x138/0x274) [<802a8bac>]
> >(fsl_ep_queue+0x0/0x274) from [<7f004328>] (composite_setup+0x2d4/0xfac
> >[g_ether]) [<7f004054>] (composite_setup+0x0/0xfac [g_ether]) from
> >[<802a9bb4>] (fsl_udc_irq+0x8dc/0xd38) [<802a92d8>]
> (fsl_udc_irq+0x0/0xd38)
> >from [<800704f8>] (handle_irq_event_percpu+0x54/0x188)
> >[<800704a4>] (handle_irq_event_percpu+0x0/0x188) from [<80070674>]
> >(handle_irq_event+0x48/0x68) [<8007062c>] (handle_irq_event+0x0/0x68)
> from
> >[<800738ec>] (handle_level_irq+0xb4/0x138)
> > r5:80514f94 r4:80514f40
> > [<80073838>] (handle_level_irq+0x0/0x138) from [<8006ffa4>]
> >(generic_handle_irq+0x38/0x44)
> > r7:00000012 r6:80510b1c r5:80529860 r4:80512000  [<8006ff6c>]
> >(generic_handle_irq+0x0/0x44) from [<8000f4c4>] (handle_IRQ+0x54/0xb4)
> >[<8000f470>] (handle_IRQ+0x0/0xb4) from [<800085b8>]
> >(tzic_handle_irq+0x64/0x94)
> > r9:412fc085 r8:00000000 r7:80513f30 r6:00000001 r5:00000000
> r4:00000000
> >[<80008554>] (tzic_handle_irq+0x0/0x94) from [<8000e680>]
> >(__irq_svc+0x40/0x60)
> >
> >The reason of above dump message is calling dma_poll_alloc with can-
> >schedule mem_flags at interrupt context. Changing mem_flags from
> >GFP_KERNEL to GFP_ATOMIC fix this problem.
> 
> Thanks for the patch.  But I think the proper way to fix this is to use
> the gfp_flags parameter passed by fsl_ep_queue().
> 
Hi Leo, current allocate dtd descriptor code are all at atomic context.

> - Leo

--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux