On Wed, Jan 23, 2019 at 10:27:55PM +0100, Christoph Hellwig wrote: > On Wed, Jan 23, 2019 at 05:30:46PM +0100, Joerg Roedel wrote: > > +bool is_swiotlb_active(void) > > +{ > > + return !no_iotlb_memory; > > +} > > As I've just introduced and fixed a bug in this area in the current > cycle - I don't think no_iotlb_memory is what your want (and maybe > not useful at all): if the arch valls swiotlb_exit after previously > initializing a buffer it won't be set. You probably want to check > for non-zero io_tlb_start and/or io_tlb_end. Okay, but that requires that I also set io_tlb_start and friends back to zero in the failure path of swiotlb_init(). Otherwise it could be left non-zero in case swiotlb_init_with_tbl() returns an error. Regards, Joerg