On Tue, Feb 12, 2019 at 11:09:03PM +0100, Lorenzo Bianconi wrote: > > > On Tue, Feb 12, 2019 at 04:08:37PM +0100, Lorenzo Bianconi wrote: > > > > > > > What unnecessary operation ? > > > > > > > > > > > > the ones in mt76u_fill_bulk_urb() > > > > > > > > > > Your patches also add extra operations on hotpath due to urb->num_sgs and > > > > > dev->usb.sg_en checks. > > > > > > > > here I guess you should use mt76u_check_sg() instead of > > > > udev->bus->sg_tablesize > 0 so I think you need to precompute it since it is in > > > > the hotpath > > > > > > It's not necessary. If udev->bus->sg_tablesize > 0 is true and rest > > > of mt76u_check_sg() is not, we will submit urb with urb->num_sgs = 1 to > > > usb host driver, what is fine. > > > > > > > Moreover the RFC series has been tested by multiple users and on multiple > > > > devices > > > > > > I know. Perhaps you could test my patch on rpi ? > > > > sure, I will do it later > > I confirm that even with Stanislaw's patch the usb dongle is properly working > on rpi3+ Thanks for testing. Would be ok to you to post my patch against wireless-drivers tree and cc stable as fix for non-SG usb hosts, drop your set for -next and work for fix for SG issue on AMD IOMMU? Stanislaw