MyWebUniversity.com Home Page
 



OpenSolaris man pages main menu


Driver Entry Points                                tranreset(9E)



NAME
     tranreset - reset a SCSI bus or target

SYNOPSIS
     #include 



      int prefixtranreset(struct scsiaddress *ap, int level);


INTERFACE LEVEL
     Solaris architecture specific (Solaris DI).

PARAMETERS
     ap        Pointer to the scsiaddress(9S) structure.


     level     The level of reset required.


DESCRIPTION
     The tranreset() vector in the  scsihbatran(9S)  structure
     must  be  initialized  during the HBA driver's attach(9E) to
     point to an HBA entry point  to  be  called  when  a  target
     driver calls scsireset(9F).


     tranreset() must reset either the SCSI bus, a  SCSI  target
     device, or a SCSI logical unit as specified by level.


     level must be one of the following:

     RESETAL        Reset the SCSI bus.


     RESETARGET     Reset the target specified by ap.


     RESETLUN        Reset the logical unit specified by ap.



     tranreset should set the pktreason field of all  outstand-
     ing packets in the transport layer associated with each tar-
     get or logical unit that was successfully reset to CMDRESET
     and  the  pktstatistics  field  must  be  OR'ed with either
     STATBUSRESET (if the SCSI bus was reset) or STATDEVRESET
     (if the target or logical unit was reset).





SunOS 5.11          Last change: 17 Aug 2005                    1






Driver Entry Points                                tranreset(9E)



     The HBA driver should use a SCSI Bus Device Reset Message to
     reset  a  target  device.  The HBA driver should use a  SCSI
     Logical Unit Reset Message to reset a logical unit.


     Packets that are in the transport layer but not  yet  active
     on  the  bus  should  be  returned  with  pktreason  set to
     CMDRESET and pktstatistics OR'ed with STATABORTED.


     Support for RESETLUN is optional  but  strongly  encouraged
     for  new  and updated HBA drivers. If an HBA driver provides
     RESETLUN support, it must also create the  lun-reset  capa-
     bility  with a value of zero for each target device instance
     represented by a valid ap. The HBA is also required to  pro-
     vide  the means to return the current value of the lun-reset
     capability in its trangetcap(9E) routine, as  well  as  the
     means to change the value of the lunreset capability in its
     trangetcap(9E) routine.

RETURN VALUES
     tranreset() should return:

     1     on success.


     0     on failure.


CONTEXT
     The tranreset() function can be called from user or  inter-
     rupt context. This requirement comes from scsireset().

SEE ALSO
     attach(9E),   ddidmabufsetup(9F),    scsihbaattach(9F),
     scsireset(9F), scsiaddress(9S), scsihbatran(9S)


     Writing Device Drivers

NOTES
     If pktreason already indicates that an  earlier  error  had
     occurred  for  a  particular  pkt,  tranreset()  should not
     overwrite pktreason with CMDRESET.











SunOS 5.11          Last change: 17 Aug 2005                    2



OpenSolaris man pages main menu

Contact us      |       About us      |       Term of use      |       Copyright © 2000-2010 MyWebUniversity.com ™