Re: PCI driver

From: Rolf Eike Beer
Date: Thu Sep 15 2005 - 09:57:29 EST


Manu Abraham wrote:

>So it now looks like this but i have another problem now, after
>consecutive, load/unload, i get an oops ..

No idea, sorry.

>static int __devinit mantis_pci_probe(struct pci_dev *pdev,
> const struct pci_device_id *mantis_pci_table)
>{
> u8 revision, latency;
>// u8 data[2];
> struct mantis_pci *mantis;
>
> dprintk(verbose, MANTIS_ERROR, 1, "<1:>IRQ=%d", pdev->irq);
> if (pci_enable_device(pdev)) {
> dprintk(verbose, MANTIS_ERROR, 1, "Mantis PCI enable failed");
> goto err;
> }
> dprintk(verbose, MANTIS_ERROR, 1, "<2:>IRQ=%d", pdev->irq);
>
> mantis = (struct mantis_pci *)
> kmalloc(sizeof (struct mantis_pci), GFP_KERNEL);

mantis = kmalloc(sizeof(*mantis), GFP_KERNEL);

You don't have to cast a void* to any other pointer and this way you will
always get the correct size of memory allocated, even if mantis will become
another pointer type.

Eike

Attachment: pgp00000.pgp
Description: PGP signature