/* PC_to_RDR_Abort Execute the Abort command from host, This stops all Bulk transfers from host and ICC Response to this command message is the RDR_to_PC_SlotStatus.  */
uint8_t PC_to_RDR_Abort(USBD_HandleTypeDef *pdev)
/* PC_to_RDR_Abort Execute the Abort command from host, This stops all Bulk transfers from host and ICC Response to this command message is the RDR_to_PC_SlotStatus.  */
uint8_t PC_to_RDR_Abort(USBD_HandleTypeDef *pdev)
{
  USBD_CCID_HandleTypeDef  *hccid = (USBD_CCID_HandleTypeDef *)pdev->pClassDataCmsit[pdev->classId];
  uint8_t error;
  error = CCID_CheckCommandParams(pdev, CHK_PARAM_SLOT | CHK_PARAM_ABRFU3 |
                                  CHK_PARAM_DWLENGTH);
  if (error != 0U)
  {
    return error;
  }
  (void)CCID_CmdAbort(pdev, hccid->UsbBlkOutData.bSlot, hccid->UsbBlkOutData.bSeq);
  CCID_UpdateCommandStatus(pdev, (BM_COMMAND_STATUS_NO_ERROR), (BM_ICC_PRESENT_ACTIVE));
  return SLOT_NO_ERROR;
}