X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=drivers%2Fnet%2Fwan%2Fpc300_drv.c;h=57914fbd41d370c15df6c2a9531a069a77731166;hb=89a93f2f4834f8c126e8d9dd6b368d0b9e21ec3d;hp=ec1c556a47caf65c69b81504f7a1207e7e52f013;hpb=4aabab2181f20560948c2045ce1faaa9ac1507a8;p=linux-2.6 diff --git a/drivers/net/wan/pc300_drv.c b/drivers/net/wan/pc300_drv.c index ec1c556a47..57914fbd41 100644 --- a/drivers/net/wan/pc300_drv.c +++ b/drivers/net/wan/pc300_drv.c @@ -2365,17 +2365,17 @@ static void falc_intr(pc300_t * card) static irqreturn_t cpc_intr(int irq, void *dev_id) { - pc300_t *card; + pc300_t *card = dev_id; volatile ucchar plx_status; - if ((card = (pc300_t *) dev_id) == 0) { + if (!card) { #ifdef PC300_DEBUG_INTR printk("cpc_intr: spurious intr %d\n", irq); #endif return IRQ_NONE; /* spurious intr */ } - if (card->hw.rambase == 0) { + if (!card->hw.rambase) { #ifdef PC300_DEBUG_INTR printk("cpc_intr: spurious intr2 %d\n", irq); #endif @@ -2833,6 +2833,8 @@ static int clock_rate_calc(uclong rate, uclong clock, int *br_io) int br, tc; int br_pwr, error; + *br_io = 0; + if (rate == 0) return (0); @@ -3454,7 +3456,7 @@ cpc_init_one(struct pci_dev *pdev, const struct pci_device_id *ent) if ((err = pci_enable_device(pdev)) < 0) return err; - card = kmalloc(sizeof(pc300_t), GFP_KERNEL); + card = kzalloc(sizeof(pc300_t), GFP_KERNEL); if (card == NULL) { printk("PC300 found at RAM 0x%016llx, " "but could not allocate card structure.\n", @@ -3462,7 +3464,6 @@ cpc_init_one(struct pci_dev *pdev, const struct pci_device_id *ent) err = -ENOMEM; goto err_disable_dev; } - memset(card, 0, sizeof(pc300_t)); err = -ENODEV; @@ -3647,7 +3648,7 @@ static void __devexit cpc_remove_one(struct pci_dev *pdev) { pc300_t *card = pci_get_drvdata(pdev); - if (card->hw.rambase != 0) { + if (card->hw.rambase) { int i; /* Disable interrupts on the PCI bridge */