Hi Alan, > From: Alan Stern, Sent: Wednesday, July 3, 2019 11:20 PM > > On Wed, 3 Jul 2019, Yoshihiro Shimoda wrote: <snip> > > IIUC, usb-storage driver should take care of calling blk_queue_ APIs anyway because: > > > > - As Christoph mentioned before on the email [1], usb-storage has a special > > max_sectors quirk for tape and SuperSpeed devices. > > - Since blk_queue_* APIs don't take device structure pointer, the block layer > > cannot call any DMA mapping APIs. So, even if any other DMA fields are copied, > > the behavior is not changed. > > Although the blk_queue_* APIs don't take device structure pointers, the > SCSI layer does know about devices. And since it is the SCSI layer > which creates the request queue, changing the DMA fields should change > the behavior. > > However, you are correct that usb-storage has to call the blk_queue_* > APIs anyway. So I guess your patch is the right thing to do after all. > > Acked-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> Thank you very much for your Acked-by! Greg, if possible, would you merge this patch into v5.2? Best regards, Yoshihiro Shimoda > I still think that copying the DMA fields would be a good idea, though. > > Alan Stern > > > [1] > > https://www.spinics.net/lists/linux-usb/msg181527.html > > > > What do you think? > > > > Best regards, > > Yoshihiro Shimoda > > > > > So what I would like to see is a new subroutine -- perhaps in the > > > driver core -- that copies the DMA fields from one struct device to > > > another. Then we could call this subroutine in usb_alloc_dev() and > > > usb_set_configuration() instead of copying the information manually. > > > > > > Greg and Christoph, does that make sense? > > > > > > Yoshihiro, would you like to write a patch that does this? > > > > > > Alan Stern