This change is our first application of a quirk: Samsung MZUL2512
devices need the inter-command-delay of around 1ms. Make it 1.2ms just
to be safe.
This makes these devices work in my environment. Otherwise, commands
will get dropped, and subsequently time out.
Signed-off-by: Jeremy Kerr <jk@codeconstruct.com.au>
goto out_close;
}
- /* no quirks defined yet... */
+ /* Samsung MZUL2512: cannot receive commands sent within ~1ms of
+ * the previous response. Set an inter-command delay of 1.2ms for
+ * a little extra tolerance.
+ */
+ if (nvme_mi_compare_vid_mn(ep, &id, 0x144d, "MZUL2512HCJQ")) {
+ ep->quirks |= NVME_QUIRK_MIN_INTER_COMMAND_TIME;
+ ep->inter_command_us = 1200;
+ }
/* If we're quirking for the inter-command time, record the last
* command time now, so we don't conflict with the just-sent identify.