> - if (ret == BLK_STS_RESOURCE) { > + if ((ret == BLK_STS_RESOURCE) || (ret == BLK_STS_DEV_RESOURCE)) { No need for the inner braces here. > + if ((ret == BLK_STS_RESOURCE) || (ret == BLK_STS_DEV_RESOURCE)) Same here. > +/* > + * This status is returned from driver to block layer if device related > + * resource is run out of, but driver can guarantee that IO dispatch is > + * triggered in future when the resource is available. > + */ > +#define BLK_STS_DEV_RESOURCE ((__force blk_status_t)13) We'll need some good explanation on BLK_STS_RESOURCE vs BLK_STS_DEV_RESOURCE I think. Except for these nitpicks this looks fine to me.