(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. > > > 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 >