cufftPlan2d() returns CUFFT_INVALID_VALUE, should be impossible

Hi,

A call to cufftPlan2d() (using doubles) returns a value 4

Now, from cufft.h :
// CUFFT API function return values
typedef enum cufftResult_t {
CUFFT_SUCCESS = 0x0,
CUFFT_INVALID_PLAN = 0x1,
CUFFT_ALLOC_FAILED = 0x2,
CUFFT_INVALID_TYPE = 0x3,
CUFFT_INVALID_VALUE = 0x4, < — Voila!
CUFFT_INTERNAL_ERROR = 0x5,
CUFFT_EXEC_FAILED = 0x6,
CUFFT_SETUP_FAILED = 0x7,
CUFFT_INVALID_SIZE = 0x8
} cufftResult;

However, according to the cuda FFT 3.1 manual, this function should not return this value …

valgrind shows an error:

==18968== Mismatched free() / delete / delete
==18968== at 0x4C27DCF: operator delete(void*) (vg_replace_malloc.c:387)
==18968== by 0x4E4B9C4: ??? (in /usr/local/cuda/lib64/libcufft.so.3.1.9)
==18968== by 0x4E4BBCD: ??? (in /usr/local/cuda/lib64/libcufft.so.3.1.9)
==18968== by 0x4E4132C: ??? (in /usr/local/cuda/lib64/libcufft.so.3.1.9)
==18968== by 0x4E40B85: ??? (in /usr/local/cuda/lib64/libcufft.so.3.1.9)
==18968== by 0x4E41F81: ??? (in /usr/local/cuda/lib64/libcufft.so.3.1.9)
==18968== by 0x4E3EC37: ??? (in /usr/local/cuda/lib64/libcufft.so.3.1.9)
==18968== by 0x4E3ED53: cufftPlan2d (in /usr/local/cuda/lib64/libcufft.so.3.1.9)

Any ideas anyone ?

Best,
wateenellende