FreeBSD/sys/dev/pms/RefTisa/tisa/sassata/sata/host/sat.c
/*****************************************************************************
*! \brief  satAddSATAIDDevCBReset
*
*   This routine cleans up IOs for failed Identify device data
*
*  \param   agRoot:           Handles for this instance of SAS/SATA hardware
*  \param   oneDeviceData:    Pointer to the device data.
*  \param   ioContext:        Pointer to satIOContext_t.
*  \param   tdIORequestBody:  Pointer to the request body
*  \param   flag:             Decrement pending io or not
*
*  \return: none
*
*****************************************************************************/
\brief  satAddSATAIDDevCBReset
This routine cleans up IOs for failed Identify device data

\param   agRoot:           Handles for this instance of SAS/SATA hardware
\param   oneDeviceData:    Pointer to the device data.
\param   ioContext:        Pointer to satIOContext_t.
\param   tdIORequestBody:  Pointer to the request body
\param   flag:             Decrement pending io or not

\return: none
\ brief satAddSATAIDDevCBReset This routine cleans up IOs for failed Identify device data \ param agRoot : Handles for this instance of SAS / SATA hardware \ param oneDeviceData : Pointer to the device data . \ param ioContext : Pointer to satIOContext_t . \ param tdIORequestBody : Pointer to the request body \ param flag : Decrement pending io or not \ return : none
void satAddSATAIDDevCBReset(
                   agsaRoot_t        *agRoot,
                   tdsaDeviceData_t  *oneDeviceData,
                   satIOContext_t    *satIOContext,
                   tdIORequestBody_t *tdIORequestBody
                   )
{
  tdsaRootOsData_t   *osData = (tdsaRootOsData_t *)agRoot->osData;
  tiRoot_t           *tiRoot = (tiRoot_t *)osData->tiRoot;
  tdsaRoot_t         *tdsaRoot        = (tdsaRoot_t *) tiRoot->tdData;
  tdsaContext_t      *tdsaAllShared = (tdsaContext_t *)&tdsaRoot->tdsaAllShared;
  satInternalIo_t    *satIntIo;
  satDeviceData_t    *satDevData;
  TI_DBG2(("satAddSATAIDDevCBReset: start\n"));
  satIntIo           = satIOContext->satIntIoContext;
  satDevData         = satIOContext->pSatDevData;
  satDecrementPendingIO(tiRoot, tdsaAllShared, satIOContext);
  satFreeIntIoResource( tiRoot,
                        satDevData,
                        satIntIo);
  ostiFreeMemory(
                 tiRoot,
                 tdIORequestBody->IOType.InitiatorTMIO.osMemHandle,
                 sizeof(tdIORequestBody_t)
                );
  return;
}
void satAddSATAIDDevCBReset ( agsaRoot_t * agRoot , tdsaDeviceData_t * oneDeviceData , satIOContext_t * satIOContext , tdIORequestBody_t * tdIORequestBody ) { tdsaRootOsData_t * osData = ( tdsaRootOsData_t * ) agRoot -> osData ; tiRoot_t * tiRoot = ( tiRoot_t * ) osData -> tiRoot ; tdsaRoot_t * tdsaRoot = ( tdsaRoot_t * ) tiRoot -> tdData ; tdsaContext_t * tdsaAllShared = ( tdsaContext_t * ) & tdsaRoot -> tdsaAllShared ; satInternalIo_t * satIntIo ; satDeviceData_t * satDevData ; TI_DBG2 ( ( " \n " ) ) ; satIntIo = satIOContext -> satIntIoContext ; satDevData = satIOContext -> pSatDevData ; satDecrementPendingIO ( tiRoot , tdsaAllShared , satIOContext ) ; satFreeIntIoResource ( tiRoot , satDevData , satIntIo ) ; ostiFreeMemory ( tiRoot , tdIORequestBody -> IOType . InitiatorTMIO . osMemHandle , sizeof ( tdIORequestBody_t ) ) ; return ; }
\brief  satAddSATAIDDevCBReset
This routine cleans up IOs for failed Identify device data
\ brief satAddSATAIDDevCBReset This routine cleans up IOs for failed Identify device data
/* clean up TD layer's IORequestBody */