Error in application with PlxPciDeviceFind() function

Whether you are using Linux on the desktop or as a server, it's still good that you're using Linux. Linux related questions go here.

Moderator: General Moderators

Post Reply
surya1006
Forum Newbie
Posts: 1
Joined: Wed Mar 18, 2009 3:53 am

Error in application with PlxPciDeviceFind() function

Post by surya1006 »

Our main file calls the standard PLX function SelectDevice() which further includes the standard function PlxPciDeviceFind().
The codes are compiled successfully, but when we run the application, it prints the message "Before PlxPciDeviceFind function call:" as shown below and stops after that, showing a "segmentation fault".


/*********************************************************************
*
* Function : SelectDevice
*
* Description: Asks the user which PLX PCI device to select
*
* Returns : Total Plx devices found
* -1, if user cancelled the selection
*
********************************************************************/
S8
SelectDevice(
DEVICE_LOCATION *pDevice
)
{
printf("Entering Select Device function:");
U32 i;
U32 DeviceNum;


pDevice->BusNumber = (U8)-1;
pDevice->SlotNumber = (U8)-1;
pDevice->VendorId = (U16)-1;
pDevice->DeviceId = (U16)-1;
pDevice->SerialNumber[0] = '\0';

DeviceNum = FIND_AMOUNT_MATCHED;
printf("\nBefore PlxPciDeviceFind function call:");
if (PlxPciDeviceFind(
pDevice,
&DeviceNum
) != ApiSuccess)
{
return 0;
}
printf("\nAfter PlxPciDeviceFind function call:");
if (DeviceNum == 0)
return 0;

This is a standard code in the standard file called PlxInit.c. The value of FIND_AMOUNT_ATTACHED is derived from a standard file included here called Plx.h and the value of which is 80001.
Can anybody suggest why is it stopping at that point, as I suspect the problem might be with the DeviceNum parameter here.
Thanks.
Post Reply