LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Software (https://www.linuxquestions.org/questions/linux-software-2/)
-   -   Error in application with PlxPciDeviceFind() function (https://www.linuxquestions.org/questions/linux-software-2/error-in-application-with-plxpcidevicefind-function-712428/)

surya1006 03-18-2009 03:05 AM

Error in application with PlxPciDeviceFind() function
 
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.


All times are GMT -5. The time now is 10:01 PM.