On Thu, Nov 14, 2019 at 04:39:49AM +0000, Alexander Motin wrote:
> Author: mav
> Date: Thu Nov 14 04:39:48 2019
> New Revision: 354703
> URL: https://svnweb.freebsd.org/changeset/base/354703
> 
> Log:
>   Pass more reasonable WAIT flags to bus_dma(9) calls.
>   
>   MFC after:  2 weeks
> 
> Modified:
>   head/sys/dev/ioat/ioat.c
> 
> Modified: head/sys/dev/ioat/ioat.c
> ==============================================================================
> --- head/sys/dev/ioat/ioat.c  Thu Nov 14 04:34:58 2019        (r354702)
> +++ head/sys/dev/ioat/ioat.c  Thu Nov 14 04:39:48 2019        (r354703)
> @@ -555,13 +555,14 @@ ioat3_attach(device_t device)
>           &ioat->comp_update_tag);
>  
>       error = bus_dmamem_alloc(ioat->comp_update_tag,
> -         (void **)&ioat->comp_update, BUS_DMA_ZERO, &ioat->comp_update_map);
> +         (void **)&ioat->comp_update, BUS_DMA_ZERO | BUS_DMA_WAITOK,
> +         &ioat->comp_update_map);
For waitok, you need to provide locking function in the tag.

>       if (ioat->comp_update == NULL)
>               return (ENOMEM);
>  
>       error = bus_dmamap_load(ioat->comp_update_tag, ioat->comp_update_map,
>           ioat->comp_update, sizeof(uint64_t), ioat_comp_update_map, ioat,
> -         0);
> +         BUS_DMA_NOWAIT);
>       if (error != 0)
>               return (error);
>  
> @@ -582,7 +583,7 @@ ioat3_attach(device_t device)
>               return (error);
>  
>       error = bus_dmamap_load(ioat->hw_desc_tag, ioat->hw_desc_map, hw_desc,
> -         ringsz, ioat_dmamap_cb, &ioat->hw_desc_bus_addr, BUS_DMA_WAITOK);
> +         ringsz, ioat_dmamap_cb, &ioat->hw_desc_bus_addr, BUS_DMA_NOWAIT);
>       if (error)
>               return (error);
>  
_______________________________________________
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to