HP A6795A Fibre Channel PCI XL2 Adapter Release Notes, March 2004

HP A6795A Fibre Channel Adapter Driver Release Notes
Known Problems and Workarounds (11i v1.0, v1.6, v2.0)
Chapter 1
9
Known Problems and Workarounds (11i v1.0, v1.6, v2.0)
There are no listed problems/workarounds for HP-UX 11i v1.6 or v2.0. The following list is for HP-UX 11i v1.0
only.
1. Problem: During online replacement (OLR) of the A6795A adapter on Superdome systems, the
replacement could fail if the adapter is connected to hub/switch/device. The following error message will
display:
OLARD error: General error
The slot will become inaccessible until you power cycle the system.
Workaround or Fix: This problem can be avoided by disconnecting the cable from the adapter before
doing OLAR operations.
2. Problem: During online replacement (OLR) of the A6795A adapter on L3000 systems, the replacement
could cause a system panic (HPMC) if the adapter is connected to hub/switch/device. Subsequent boot will
hang unless you power cycle the system.
Workaround or Fix: This problem can be avoided by disconnecting the cable from the adapter before
doing OLAR operations.
3. Problem: During online replacement (OLR) of the A6795A adapter on the L2000 system, the
replacement may fail and display the following error message:
OLARD error: General error
Workaround or Fix: This problem is fixed in PDC version 41.38.
4. This problem concerns the HP Fibre Channel SNIA HBA API.
Problem: When the HBA_OpenAdapter() API returns 0, it does not set the errno variable appropriately
under the following scenarios:
When there is a file open error, the errno variable is not set to EACCES.
When the adapter for open is not available, the errno variable is not set to ENXIO.
When there is an internal error, the API does not always set the errno variable to EIO.
If the errno is not set appropriately, the user application may fail to identify the cause of the failure.
Workaround or Fix: The user application may set the errno value to 0 immediately before the call to
HBA_OpenAdapter(). If the call returns 0, the application can verify if there is a change in the errno
value. If the errno value remains 0, the API has not set the errno value due to any one of the above listed
error scenarios. Otherwise, the errno value set by the API may be interpreted as given in the
programmer’s guide.
Example code:
HBA _HANDLE adapter_handle;
errno = 0;
adapter_handle = HBA_OpenAdapter(adapter_name);
if (adapter_handle == 0)
{
if (errno == 0)
{
printf(“HBA_OpenAdapter() failed - Error cause not available\n”);
}else
{