Revision bf74c7479ef47652005a2418eeb0d867451690da authored by Michael S. Tsirkin on 26 July 2006, 13:02:53 UTC, committed by Roland Dreier on 03 August 2006, 16:44:21 UTC
mthca_array_clear() does not clear the slot if the used count is positive. This leads to crashes in mthca_qp_event() since that uses mthca_array_get() to check that the qp is valid. Discovered by Ali Ayoub. Signed-off-by: Michael S. Tsirkin <mst@mellanox.co.il> Signed-off-by: Roland Dreier <rolandd@cisco.com>
1 parent 3f2792f
dgrs.h
/*
* ioctl's for the Digi Intl. RightSwitch
*
* These network driver ioctl's are a bit obtuse compared to the usual
* ioctl's for a "normal" device driver. Hey, I didn't invent it.
*
* Typical use:
*
* struct ifreq ifr;
* DGRS_IOCTL ioc;
* int x;
*
* strcpy(ifr.ifr_name, "eth1");
* ifr.ifr_data = (caddr_t) &ioc;
* ioc.cmd = DGRS_GETMEM;
* ioc.len = sizeof(x);
* ioc.data = (caddr_t) &x;
* rc = ioctl(fd, DGRSIOCTL, &ifr);
* printf("rc=%d mem=%x\n", rc, x);
*
*/
#include <linux/sockios.h>
#define DGRSIOCTL SIOCDEVPRIVATE
typedef struct dgrs_ioctl {
unsigned short cmd; /* Command to run */
unsigned short len; /* Length of the data buffer */
unsigned char __user *data; /* Pointer to the data buffer */
unsigned short port; /* port number for command, if needed */
unsigned short filter; /* filter number for command, if needed */
} DGRS_IOCTL;
/*
* Commands for the driver
*/
#define DGRS_GETMEM 0x01 /* Get the dual port memory address */
#define DGRS_SETFILTER 0x02 /* Set a filter */
![swh spinner](/static/img/swh-spinner.gif)
Computing file changes ...