> > (repost with corrected Lorenzo email) > > On Tue, Feb 12, 2019 at 02:45:50PM +0100, Stanislaw Gruszka wrote: > > On Tue, Feb 12, 2019 at 02:24:47PM +0100, LorenzoBianconilorenzo@xxxxxxxxxx wrote: > > > From: Lorenzo Bianconi <lorenzo@xxxxxxxxxx> > > > > > > Use linear fragment and not a single usb scatter-gather buffer in mt76u > > > {tx,rx} datapath if the usb controller has sg data length constraints. > > > Moreover add disable_usb_sg module parameter in order to explicitly > > > disable scatter-gather. SG I/O is not supported by all host drivers and > > > some users have reported sg issues on AMD IOMMU. > > > > Again. This is not right approach. SG issues should be fixed > > not workarounded. Hi Stanislaw, here we do not use SG, so num_sg is 0 and we use transfer_buffer. I do not see how I am working around the issue. Moreover with this approach we avoid some unnecessary operation in the hotpath Regards, Lorenzo > > > > > This series has been tested on AMD IOMMU cpus/motherboards and on rpi3+ > > > > > - rebased on top of 'fix multiple issues in mt76u error path' > > > https://patchwork.kernel.org/cover/10804919/ > > > > > > Lorenzo Bianconi (4): > > > mt76: usb: move mt76u_check_sg in usb.c > > > mt76: usb: do not use sg buffers for mcu messages > > > mt76: usb: use a linear buffer for tx/rx datapath if sg is not > > > supported > > > mt76: usb: introduce disable_usb_sg parameter > > > > > > drivers/net/wireless/mediatek/mt76/mt76.h | 14 +- > > > .../net/wireless/mediatek/mt76/mt76x0/usb.c | 2 +- > > > .../wireless/mediatek/mt76/mt76x02_usb_mcu.c | 3 +- > > > .../wireless/mediatek/mt76/mt76x2/usb_init.c | 2 +- > > > drivers/net/wireless/mediatek/mt76/usb.c | 133 +++++++++++++----- > > > drivers/net/wireless/mediatek/mt76/usb_mcu.c | 5 +- > > > 6 files changed, 105 insertions(+), 54 deletions(-) > > > > I really think my approach is simpler. Diffstat from my proposed patch is: > > > > drivers/net/wireless/mediatek/mt76/mt76.h | 1 + > > drivers/net/wireless/mediatek/mt76/usb.c | 55 ++++++++++++++--------- > > 2 files changed, 36 insertions(+), 20 deletions(-) > > > > Also this fix bug(s), presumably regression for mt76x0, should be > > backported. > > > > Stanislaw > >