{"shas":[["1cc384f0b3a9422237ff218e3be10a4a4c15f9b4","fc70afabee4d46c315ca5eabc5575472d236196f@yahoo.com","[USB] UASP: Driver generated tags on per I_T nexus\n\nIn UAS, a single tag space exists per I_T nexus,\nthat is, tags are unique on per I_T nexus. Also,\ntags are shared between COMMAND IUs and TASK\nMANAGEMENT IUs. The technical reason for these\nrequirements can be deduced by reading the USB 3.0\nand UAS specs.\n\nThis commit implements an infrastructure for\ndriver generated tags on per I_T nexus.\n\nA few of the reasons to do this in the driver\ninstead of using the tags generated by the block\nlayer are:\n\n* Tags exists per I_T nexus. Linux generates I_T_L\n  nexus tags. Although some provision is made for\n  \"host\" based tags in Linux, it doesn't scale for\n  the reasons described in the following\n  bullet-points, and for the reason that if in the\n  future multiple UAS interfaces of the same USB\n  device are mapped as separate target ports into\n  the same \"SCSI host (template)\", then the tag\n  space breaks, as it must not be shared between\n  ports. The solution provided by this commit\n  solves the general case by providing I_T tags.\n\n* Linux doesn't provide for a driver to ask for\n  tags to use for Task Management Functions, which\n  are generated by the driver. In Linux tags come\n  in already assigned to commands which the driver\n  should send out to the transport. Generating\n  tags in the driver assures that we can generate\n  (unique, non-duplicate with commands) tags for\n  TMFs too.\n\n* When doing error recovery, after an ABORT TASK\n  TMF, Linux generates a TEST UNIT READY with a\n  tag number the same as the task which was\n  aborted (the Task To Be Managed, TTBM) by the\n  preceding ABORT TASK TMF. Clearly an abuse of a\n  tag number.\n\n* Tags should form an increasing sequence wrapping\n  when the highest numbered tag has been used.\n\nSigned-off-by: Luben Tuikov <ltuikov@yahoo.com>","Luben Tuikov"],["1f86b96be154d23a80be341b784739504a6c28b6","fc70afabee4d46c315ca5eabc5575472d236196f@yahoo.com","[USB] UASP: Fix loop in uasp_lu_reset\n\nSigned-off-by: Luben Tuikov <ltuikov@yahoo.com>","Luben Tuikov"]],"repo":"ltuikov/linux-2.6","actor":"ltuikov","ref":"refs/heads/free-linux","size":2,"head":"1f86b96be154d23a80be341b784739504a6c28b6","actor_gravatar":"026fa91cd48ca23603e4790d53922224","push_id":29765975}