lkml.org 
[lkml]   [2002]   [Jun]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Subject[CHECKER] 36 missing return code checks in 2.4.17
Date
Hi All,

Enclosed are 36 error reports for functions whose return value in 2.4.17
was ignored, even though many other callsites checked it. There are
*many* more such errors, so if these are interesting, let me know and
I'll send some more.

Dawson

# BUGs | File Name
3 | /drivers/printer.c
2 | /drivers/aironet4500_card.c
2 | /net/pcnet_cs.c
2 | /usb/keyspan_pda.c
1 | /drivers/ambassador.c
1 | /drivers/pc_keyb.c
1 | /2.4.17/exec_domain.c
1 | /net/xprt.c
1 | /drivers/i82365.c
1 | /drivers/pty.c
1 | /drivers/natsemi.c
1 | /drivers/i810_audio.c
1 | /isdn/init.c
1 | /net/scc.c
1 | /drivers/tty_io.c
1 | /drivers/cardbus.c
1 | /net/vlan.c
1 | /net/axnet_cs.c
1 | /2.4.17/socket.c
1 | /net/orinoco_plx.c
1 | /net/ltpc.c
1 | /drivers/winbond-840.c
1 | /fs/dir.c
1 | /net/tulip_core.c
1 | /drivers/scsi_debug.c
1 | /message/i2o_scsi.c
1 | /fs/inode.c
1 | /char/pcigame.c
1 | /2.4.17/shmem.c
1 | /usb/ftdi_sio.c
1 | /drivers/eata_pio.c

############################################################
# 2.4.17 specific errors

#
---------------------------------------------------------
[BUG]
/u2/engler/mc/oses/linux/2.4.17/drivers/net/hamradio/scc.c:1791:scc_net_ioctl: ERROR:CHECK_ERR: ignored call '__check_region' [COUNTER=__check_region] [fit=1] [fit_fn=1] [fn_ex=0] [fn_counter=1] [ex=229] [counter=1] [z = 3.17671735928427] [fn-z = -4.35889894354067]
hwcfg.clock = SCC_DEFAULT_CLOCK;

#ifndef SCC_DONT_CHECK
disable_irq(hwcfg.irq);


Error --->
check_region(scc->ctrl, 1);
Outb(hwcfg.ctrl_a, 0);
OutReg(hwcfg.ctrl_a, R9, FHWRES);
udelay(100);
---------------------------------------------------------
[BUG] usb_control_msg calls kmalloc, which can fail.
/u2/engler/mc/oses/linux/2.4.17/drivers/usb/serial/keyspan_pda.c:355:keyspan_pda_break_ctl: ERROR:CHECK_ERR: ignored call 'usb_control_msg' [COUNTER=usb_control_msg] [fit=2] [fit_fn=1] [fn_ex=0] [fn_counter=1] [ex=165] [counter=3] [z = 1.91157927859293] [fn-z = -4.35889894354067]
else
value = 0; /* clear break */
usb_control_msg(serial->dev, usb_sndctrlpipe(serial->dev, 0),
4, /* set break */
USB_TYPE_VENDOR | USB_RECIP_INTERFACE | USB_DIR_OUT,

Error --->
value, 0, NULL, 0, 2*HZ);
/* there is something funky about this.. the TCSBRK that 'cu' performs
ought to translate into a break_ctl(-1),break_ctl(0) pair HZ/4
seconds apart, but it feels like the break sent isn't as long as it
---------------------------------------------------------
[BUG]
/u2/engler/mc/oses/linux/2.4.17/drivers/usb/serial/keyspan_pda.c:218:keyspan_pda_request_unthrottle: ERROR:CHECK_ERR: ignored call 'usb_control_msg' [COUNTER=usb_control_msg] [fit=2] [fit_fn=2] [fn_ex=0] [fn_counter=1] [ex=165] [counter=3] [z = 1.91157927859293] [fn-z = -4.35889894354067]
| USB_DIR_OUT,
16, /* value: threshold */
0, /* index */
NULL,
0,

Error --->
2*HZ);
MOD_DEC_USE_COUNT;
}

---------------------------------------------------------
[BUG]
/u2/engler/mc/oses/linux/2.4.17/drivers/usb/serial/ftdi_sio.c:342:ftdi_sio_open: ERROR:CHECK_ERR: ignored call 'usb_control_msg' [COUNTER=usb_control_msg] [fit=2] [fit_fn=3] [fn_ex=0] [fn_counter=1] [ex=165] [counter=3] [z = 1.91157927859293] [fn-z = -4.35889894354067]
/* No error checking for this (will get errors later anyway) */
/* See ftdi_sio.h for description of what is reset */
usb_control_msg(serial->dev, usb_sndctrlpipe(serial->dev, 0),
FTDI_SIO_RESET_REQUEST, FTDI_SIO_RESET_REQUEST_TYPE,
FTDI_SIO_RESET_SIO,

Error --->
0, buf, 0, WDR_TIMEOUT);

/* Setup termios defaults. According to tty_io.c the
settings are driver specific */
---------------------------------------------------------
[BUG] seems like it.
/u2/engler/mc/oses/linux/2.4.17/fs/efs/dir.c:78:efs_readdir: ERROR:CHECK_ERR: ignored call 'filldir' [COUNTER=filldir] [fit=4] [fit_fn=1] [fn_ex=0] [fn_counter=1] [ex=96] [counter=1] [z = 1.79361016917228] [fn-z = -4.35889894354067]
if (namelen > 0) {
/* found the next entry */
filp->f_pos = (block << EFS_DIRBSIZE_BITS) | slot;

/* copy filename and data in dirslot */

Error --->
filldir(dirent, nameptr, namelen, filp->f_pos, inodenum, DT_UNKNOWN);

/* sanity check */
if (nameptr - (char *) dirblock + namelen > EFS_DIRBSIZE) {
---------------------------------------------------------
[BUG]
/u2/engler/mc/oses/linux/2.4.17/drivers/isdn/sc/init.c:382:sc_init: ERROR:CHECK_ERR: ignored call 'request_irq' [COUNTER=request_irq] [fit=5] [fit_fn=1] [fn_ex=2] [fn_counter=1] [ex=310] [counter=10] [z = 1.53896752812773] [fn-z = -2.25170500701057]

/*
* Lock down the hardware resources
*/
adapter[cinst]->interrupt = irq[b];

Error --->
REQUEST_IRQ(adapter[cinst]->interrupt, interrupt_handler, SA_INTERRUPT,
interface->id, NULL);
adapter[cinst]->iobase = io[b];
for(i = 0 ; i < MAX_IO_REGS - 1 ; i++) {
---------------------------------------------------------
[BUG]
/u2/engler/mc/oses/linux/2.4.17/drivers/scsi/eata_pio.c:962:eata_pio_detect: ERROR:CHECK_ERR: ignored call 'request_irq' [COUNTER=request_irq] [fit=5] [fit_fn=2] [fn_ex=1] [fn_counter=1] [ex=310] [counter=10] [z = 1.53896752812773] [fn-z = -2.91998558035372]

find_pio_ISA(&gc, tpnt);

for (i = 0; i <= MAXIRQ; i++)
if (reg_IRQ[i])

Error --->
request_irq(i, do_eata_pio_int_handler, SA_INTERRUPT, "EATA-PIO", NULL);

HBA_ptr = first_HBA;

---------------------------------------------------------
[BUG]
/u2/engler/mc/oses/linux/2.4.17/drivers/pcmcia/i82365.c:1613:init_i82365: ERROR:CHECK_ERR: ignored call 'request_irq' [COUNTER=request_irq] [fit=5] [fit_fn=3] [fn_ex=1] [fn_counter=1] [ex=310] [counter=10] [z = 1.53896752812773] [fn-z = -2.91998558035372]
}

/* Set up interrupt handler(s) */
#ifdef CONFIG_ISA
if (grab_irq != 0)

Error --->
request_irq(cs_irq, pcic_interrupt, 0, "i82365", pcic_interrupt);
#endif

if (register_ss_entry(sockets, &pcic_operations) != 0)
---------------------------------------------------------
[BUG]
/u2/engler/mc/oses/linux/2.4.17/drivers/net/pcmcia/axnet_cs.c:661:axnet_open: ERROR:CHECK_ERR: ignored call 'request_irq' [COUNTER=request_irq] [fit=5] [fit_fn=4] [fn_ex=0] [fn_counter=1] [ex=310] [counter=10] [z = 1.53896752812773] [fn-z = -4.35889894354067]
return -ENODEV;

link->open++;
MOD_INC_USE_COUNT;


Error --->
request_irq(dev->irq, ei_irq_wrapper, SA_SHIRQ, dev_info, dev);

info->link_status = 0x00;
info->watchdog.function = &ei_watchdog;
---------------------------------------------------------
[BUG]
/u2/engler/mc/oses/linux/2.4.17/drivers/net/aironet4500_card.c:422:awc4500_pnp_probe: ERROR:CHECK_ERR: ignored call 'request_irq' [COUNTER=request_irq] [fit=5] [fit_fn=5] [fn_ex=0] [fn_counter=1] [ex=310] [counter=10] [z = 1.53896752812773] [fn-z = -4.35889894354067]
dev->tx_timeout = &awc_tx_timeout;
dev->watchdog_timeo = AWC_TX_TIMEOUT;

netif_start_queue (dev);


Error --->
request_irq(dev->irq,awc_interrupt , SA_SHIRQ | SA_INTERRUPT ,"Aironet 4X00",dev);

awc_private_init( dev);

---------------------------------------------------------
[BUG]
/u2/engler/mc/oses/linux/2.4.17/drivers/net/aironet4500_card.c:593:awc4500_isa_probe: ERROR:CHECK_ERR: ignored call 'request_irq' [COUNTER=request_irq] [fit=5] [fit_fn=6] [fn_ex=0] [fn_counter=1] [ex=310] [counter=10] [z = 1.53896752812773] [fn-z = -4.35889894354067]
dev->base_addr = isa_ioaddr;
dev->irq = isa_irq_line;
dev->tx_timeout = &awc_tx_timeout;
dev->watchdog_timeo = AWC_TX_TIMEOUT;


Error --->
request_irq(dev->irq,awc_interrupt ,SA_INTERRUPT ,"Aironet 4X00",dev);

awc_private_init( dev);
if ( awc_init(dev) ){
---------------------------------------------------------
[BUG] casts, but doesn't it always have to check? (cause of kmalloc if nothing else)
/u2/engler/mc/oses/linux/2.4.17/drivers/net/appletalk/ltpc.c:1203:ltpc_probe: ERROR:CHECK_ERR: ignored call 'request_irq' [COUNTER=request_irq] [fit=5] [fit_fn=7] [fn_ex=0] [fn_counter=1] [ex=310] [counter=10] [z = 1.53896752812773] [fn-z = -4.35889894354067]
printk("setting up timer and irq\n");
}

if (irq) {
/* grab it and don't let go :-) */

Error --->
(void) request_irq( irq, &ltpc_interrupt, 0, "ltpc", dev);
(void) inb_p(io+7); /* enable interrupts from board */
(void) inb_p(io+7); /* and reset irq line */
} else {
---------------------------------------------------------
[BUG]
/u2/engler/mc/oses/linux/2.4.17/drivers/char/pc_keyb.c:916:pckbd_init_hw: ERROR:CHECK_ERR: ignored call 'request_irq' [COUNTER=request_irq] [fit=5] [fit_fn=8] [fn_ex=0] [fn_counter=1] [ex=310] [counter=10] [z = 1.53896752812773] [fn-z = -4.35889894354067]
#endif

kbd_rate = pckbd_rate;

/* Ok, finally allocate the IRQ, and off we go.. */

Error --->
kbd_request_irq(keyboard_interrupt);
}

#if defined CONFIG_PSMOUSE
---------------------------------------------------------
[BUG]
/u2/engler/mc/oses/linux/2.4.17/drivers/net/wireless/orinoco_plx.c:241:orinoco_plx_init_one: ERROR:CHECK_ERR: ignored call 'request_irq' [COUNTER=request_irq] [fit=5] [fit_fn=9] [fn_ex=0] [fn_counter=1] [ex=310] [counter=10] [z = 1.53896752812773] [fn-z = -4.35889894354067]

hermes_struct_init(&(priv->hw), dev->base_addr); /* XXX */
dev->name[0] = '\0'; /* name defaults to ethX */
register_netdev(dev);
request_irq(pdev->irq, orinoco_plx_interrupt, SA_SHIRQ, dev->name,

Error --->
dev);
if (dldwd_proc_dev_init(priv) != 0) {
printk(KERN_ERR "%s: Failed to create /proc node\n", dev->name);
return -EIO;
---------------------------------------------------------
[BUG]
/u2/engler/mc/oses/linux/2.4.17/drivers/net/pcmcia/pcnet_cs.c:1028:pcnet_open: ERROR:CHECK_ERR: ignored call 'request_irq' [COUNTER=request_irq] [fit=5] [fit_fn=10] [fn_ex=0] [fn_counter=1] [ex=310] [counter=10] [z = 1.53896752812773] [fn-z = -4.35889894354067]

link->open++;
MOD_INC_USE_COUNT;

set_misc_reg(dev);

Error --->
request_irq(dev->irq, ei_irq_wrapper, SA_SHIRQ, dev_info, dev);

info->phy_id = info->eth_phy;
info->link_status = 0x00;
---------------------------------------------------------
[BUG] 133 checks can't be wrong.
/u2/engler/mc/oses/linux/2.4.17/drivers/usb/printer.c:432:usblp_write: ERROR:CHECK_ERR: ignored call 'usb_submit_urb' [COUNTER=usb_submit_urb] [fit=6] [fit_fn=1] [fn_ex=0] [fn_counter=1] [ex=133] [counter=3] [z = 1.4950900031928] [fn-z = -4.35889894354067]

if (copy_from_user(usblp->writeurb.transfer_buffer, buffer + writecount,
usblp->writeurb.transfer_buffer_length)) return -EFAULT;

usblp->writeurb.dev = usblp->dev;

Error --->
usb_submit_urb(&usblp->writeurb);
up (&usblp->sem);
}

---------------------------------------------------------
[BUG] can they?
/u2/engler/mc/oses/linux/2.4.17/drivers/usb/printer.c:482:usblp_read: ERROR:CHECK_ERR: ignored call 'usb_submit_urb' [COUNTER=usb_submit_urb] [fit=6] [fit_fn=2] [fn_ex=0] [fn_counter=2] [ex=133] [counter=3] [z = 1.4950900031928] [fn-z = -6.16441400296897]
if (usblp->readurb.status) {
err("usblp%d: error %d reading from printer",
usblp->minor, usblp->readurb.status);
usblp->readurb.dev = usblp->dev;
usblp->readcount = 0;

Error --->
usb_submit_urb(&usblp->readurb);
count = -EIO;
goto done;
}
---------------------------------------------------------
[BUG] probable bug.
/u2/engler/mc/oses/linux/2.4.17/drivers/usb/printer.c:498:usblp_read: ERROR:CHECK_ERR: ignored call 'usb_submit_urb' [COUNTER=usb_submit_urb] [fit=6] [fit_fn=2] [fn_ex=0] [fn_counter=2] [ex=133] [counter=3] [z = 1.4950900031928] [fn-z = -6.16441400296897]
}

if ((usblp->readcount += count) == usblp->readurb.actual_length) {
usblp->readcount = 0;
usblp->readurb.dev = usblp->dev;

Error --->
usb_submit_urb(&usblp->readurb);
}

done:
---------------------------------------------------------
[BUG] calls kmalloc which can fail.
/u2/engler/mc/oses/linux/2.4.17/drivers/scsi/scsi_debug.c:622:scsi_debug_detect: ERROR:CHECK_ERR: ignored call 'scsi_register' [COUNTER=scsi_register] [fit=9] [fit_fn=1] [fn_ex=0] [fn_counter=1] [ex=52] [counter=1] [z = 1.03991826124437] [fn-z = -4.35889894354067]
{
int i;

for (i = 0; i < NR_HOSTS_PRESENT; i++) {
tpnt->proc_name = "scsi_debug"; /* Huh? In the loop??? */

Error --->
scsi_register(tpnt, 0);
}
return NR_HOSTS_PRESENT;
}
---------------------------------------------------------
[BUG]
/u2/engler/mc/oses/linux/2.4.17/drivers/message/i2o/i2o_scsi.c:365:i2o_scsi_init: ERROR:CHECK_ERR: ignored call 'i2o_query_scalar' [COUNTER=i2o_query_scalar] [fit=10] [fit_fn=1] [fn_ex=0] [fn_counter=1] [ex=44] [counter=1] [z = 0.854981960070962] [fn-z = -4.35889894354067]
dprintk(("Found disk %d %d.\n", target, lun));
h->task[target][lun]=unit->lct_data.tid;
h->tagclock[target][lun]=jiffies;

/* Get the max fragments/request */

Error --->
i2o_query_scalar(c, d->lct_data.tid, 0xF103, 3, &limit, 2);

/* sanity */
if ( limit == 0 )
---------------------------------------------------------
[BUG] is there some reason they don't have to check here?
/u2/engler/mc/oses/linux/2.4.17/drivers/char/tty_io.c:2125:tty_unregister_driver: ERROR:CHECK_ERR: ignored call 'devfs_register_chrdev' [COUNTER=devfs_register_chrdev] [fit=14] [fit_fn=1] [fn_ex=1] [fn_counter=1] [ex=33] [counter=1] [z = 0.550822632755244] [fn-z = -2.91998558035372]
if (othername == NULL) {
retval = devfs_unregister_chrdev(driver->major, driver->name);
if (retval)
return retval;
} else

Error --->
devfs_register_chrdev(driver->major, othername, &tty_fops);

if (driver->prev)
driver->prev->next = driver->next;
---------------------------------------------------------
[BUG] sysclt can fail if kmalloc fails.
/u2/engler/mc/oses/linux/2.4.17/kernel/exec_domain.c:280:abi_register_sysctl: ERROR:CHECK_ERR: ignored call 'register_sysctl_table' [COUNTER=register_sysctl_table] [fit=16] [fit_fn=1] [fn_ex=0] [fn_counter=1] [ex=31] [counter=1] [z = 0.486664263392289] [fn-z = -4.35889894354067]
};

static int __init
abi_register_sysctl(void)
{

Error --->
register_sysctl_table(abi_root_table, 1);
return 0;
}

---------------------------------------------------------
[BUG] can get EBUSY from register_filesystem can't it? or it can't because
they know the type cannot be in there already? 43 other places do use
the result.
/u2/engler/mc/oses/linux/2.4.17/net/socket.c:1714:sock_init: ERROR:CHECK_ERR: ignored call 'register_filesystem' [COUNTER=register_filesystem] [fit=23] [fit_fn=1] [fn_ex=0] [fn_counter=1] [ex=43] [counter=2] [z = 0.170996392014195] [fn-z = -4.35889894354067]

/*
* Initialize the protocols module.
*/


Error --->
register_filesystem(&sock_fs_type);
sock_mnt = kern_mount(&sock_fs_type);
/* The real protocol initialization is performed when
* do_initcalls is run.
---------------------------------------------------------
[BUG] can run out of memory.
/u2/engler/mc/oses/linux/2.4.17/net/8021q/vlan.c:444:register_802_1Q_vlan_device: ERROR:CHECK_ERR: ignored call 'register_netdevice' [COUNTER=register_netdevice] [fit=24] [fit_fn=1] [fn_ex=0] [fn_counter=1] [ex=21] [counter=1] [z = 0.0978231976089055] [fn-z = -4.35889894354067]
grp->vlan_devices[VLAN_ID] = new_dev;
vlan_proc_add_dev(new_dev); /* create it's proc entry */

/* TODO: Please check this: RTNL --Ben */
rtnl_lock();

Error --->
register_netdevice(new_dev);
rtnl_unlock();

/* NOTE: We have a reference to the real device,
---------------------------------------------------------
[BUG] shoujldn't it be doing a sanity check?
/u2/engler/mc/oses/linux/2.4.17/fs/proc/inode.c:202:proc_read_super: ERROR:CHECK_ERR: ignored call 'parse_options' [COUNTER=parse_options] [fit=25] [fit_fn=1] [fn_ex=0] [fn_counter=1] [ex=21] [counter=1] [z = 0.0978231976089055] [fn-z = -4.35889894354067]
for_each_task(p) if (p->pid) root_inode->i_nlink++;
read_unlock(&tasklist_lock);
s->s_root = d_alloc_root(root_inode);
if (!s->s_root)
goto out_no_root;

Error --->
parse_options(data, &root_inode->i_uid, &root_inode->i_gid);
return s;

out_no_root:
---------------------------------------------------------
[BUG] lots of places check...
/u2/engler/mc/oses/linux/2.4.17/net/sunrpc/xprt.c:641:csum_partial_copy_to_page_cache: ERROR:CHECK_ERR: ignored call 'skb_copy_bits' [COUNTER=skb_copy_bits] [fit=31] [fit_fn=1] [fn_ex=1] [fn_counter=1] [ex=18] [counter=1] [z = -0.0526315789473686] [fn-z = -2.91998558035372]
csum2 = skb_copy_and_csum_bits(skb, offset,
cur_ptr,
to_move, 0);
csum = csum_block_add(csum, csum2, offset);
} else

Error --->
skb_copy_bits(skb, offset, cur_ptr, to_move);
offset += to_move;
copied -= to_move;
cur_ptr += to_move;
---------------------------------------------------------
[BUG] calls kmalloc.
/u2/engler/mc/oses/linux/2.4.17/drivers/char/pty.c:432:pty_init: ERROR:CHECK_ERR: ignored call 'devfs_mk_dir' [COUNTER=devfs_mk_dir] [fit=32] [fit_fn=1] [fn_ex=0] [fn_counter=1] [ex=36] [counter=2] [z = -0.0744322927564789] [fn-z = -4.35889894354067]
*/
pty_driver.ioctl = pty_bsd_ioctl;

/* Unix98 devices */
#ifdef CONFIG_UNIX98_PTYS

Error --->
devfs_mk_dir (NULL, "pts", NULL);
printk("pty: %d Unix98 ptys configured\n", UNIX98_NR_MAJORS*NR_PTYS);
for ( i = 0 ; i < UNIX98_NR_MAJORS ; i++ ) {
int j;
---------------------------------------------------------
[BUG] calls kmalloc.
/u2/engler/mc/oses/linux/2.4.17/mm/shmem.c:1402:init_shmem_fs: ERROR:CHECK_ERR: ignored call 'devfs_mk_dir' [COUNTER=devfs_mk_dir] [fit=32] [fit_fn=2] [fn_ex=0] [fn_counter=1] [ex=36] [counter=2] [z = -0.0744322927564789] [fn-z = -4.35889894354067]
#ifdef CONFIG_TMPFS
if ((error = register_filesystem(&shmem_fs_type))) {
printk (KERN_ERR "Could not register shm fs\n");
return error;
}

Error --->
devfs_mk_dir (NULL, "shm", NULL);
#endif
res = kern_mount(&tmpfs_fs_type);
if (IS_ERR (res)) {
---------------------------------------------------------
[BUG] can fail according to implementation...
/u2/engler/mc/oses/linux/2.4.17/drivers/sound/i810_audio.c:2860:i810_pm_resume: ERROR:CHECK_ERR: ignored call 'pci_enable_device' [COUNTER=pci_enable_device] [fit=38] [fit_fn=2] [fn_ex=0] [fn_counter=1] [ex=142] [counter=8] [z = -0.187317162316337] [fn-z = -4.35889894354067]

static int i810_pm_resume(struct pci_dev *dev)
{
int num_ac97,i=0;
struct i810_card *card=pci_get_drvdata(dev);

Error --->
pci_enable_device(dev);
pci_restore_state (dev,card->pm_save_state);

/* observation of a toshiba portege 3440ct suggests that the
---------------------------------------------------------
[BUG] indeed.
/u2/engler/mc/oses/linux/2.4.17/drivers/atm/ambassador.c:2428:setup_pci_dev: ERROR:CHECK_ERR: ignored call 'pci_enable_device' [COUNTER=pci_enable_device] [fit=38] [fit_fn=3] [fn_ex=0] [fn_counter=1] [ex=142] [counter=8] [z = -0.187317162316337] [fn-z = -4.35889894354067]

void setup_pci_dev (void) {
unsigned char lat;

/* XXX check return value */

Error --->
pci_enable_device (pci_dev);

// enable bus master accesses
pci_set_master (pci_dev);
---------------------------------------------------------
[BUG] yup.
/u2/engler/mc/oses/linux/2.4.17/drivers/pcmcia/cardbus.c:298:cb_alloc: ERROR:CHECK_ERR: ignored call 'pci_enable_device' [COUNTER=pci_enable_device] [fit=38] [fit_fn=4] [fn_ex=0] [fn_counter=1] [ex=142] [counter=8] [z = -0.187317162316337] [fn-z = -4.35889894354067]
if (irq_pin) {
dev->irq = irq;
pci_writeb(dev, PCI_INTERRUPT_LINE, irq);
}


Error --->
pci_enable_device(dev); /* XXX check return */
pci_insert_device(dev, bus);
}

---------------------------------------------------------
[BUG]
/u2/engler/mc/oses/linux/2.4.17/drivers/net/winbond-840.c:1671:w840_resume: ERROR:CHECK_ERR: ignored call 'pci_enable_device' [COUNTER=pci_enable_device] [fit=38] [fit_fn=5] [fn_ex=0] [fn_counter=1] [ex=142] [counter=8] [z = -0.187317162316337] [fn-z = -4.35889894354067]

rtnl_lock();
if (netif_device_present(dev))
goto out; /* device not suspended */
if (netif_running(dev)) {

Error --->
pci_enable_device(pdev);
/* pci_power_on(pdev); */

spin_lock_irq(&np->lock);
---------------------------------------------------------
[BUG]
/u2/engler/mc/oses/linux/2.4.17/drivers/char/joystick/pcigame.c:150:pcigame_probe: ERROR:CHECK_ERR: ignored call 'pci_enable_device' [COUNTER=pci_enable_device] [fit=38] [fit_fn=6] [fn_ex=0] [fn_counter=1] [ex=142] [counter=8] [z = -0.187317162316337] [fn-z = -4.35889894354067]

for (i = 0; i < 6; i++)
if (~pci_resource_flags(dev, i) & IORESOURCE_IO)
break;


Error --->
pci_enable_device(dev);

pcigame->base = ioremap(pci_resource_start(pcigame->dev, i),
pci_resource_len(pcigame->dev, i));
---------------------------------------------------------
[BUG]
/u2/engler/mc/oses/linux/2.4.17/drivers/net/tulip/tulip_core.c:1849:tulip_resume: ERROR:CHECK_ERR: ignored call 'pci_enable_device' [COUNTER=pci_enable_device] [fit=38] [fit_fn=7] [fn_ex=0] [fn_counter=1] [ex=142] [counter=8] [z = -0.187317162316337] [fn-z = -4.35889894354067]
{
struct net_device *dev = pci_get_drvdata(pdev);

if (dev && netif_running (dev) && !netif_device_present (dev)) {
#if 1

Error --->
pci_enable_device (pdev);
#endif
/* pci_power_on(pdev); */
tulip_up (dev);
---------------------------------------------------------
[BUG]
/u2/engler/mc/oses/linux/2.4.17/drivers/net/natsemi.c:2496:natsemi_resume: ERROR:CHECK_ERR: ignored call 'pci_enable_device' [COUNTER=pci_enable_device] [fit=38] [fit_fn=8] [fn_ex=0] [fn_counter=1] [ex=142] [counter=8] [z = -0.187317162316337] [fn-z = -4.35889894354067]

rtnl_lock();
if (netif_device_present(dev))
goto out;
if (netif_running(dev)) {

Error --->
pci_enable_device(pdev);
/* pci_power_on(pdev); */

natsemi_reset(dev);
---------------------------------------------------------
[BUG] can call kmalloc
/u2/engler/mc/oses/linux/2.4.17/drivers/net/pcmcia/pcnet_cs.c:314:pcnet_attach: ERROR:CHECK_ERR: ignored call 'ethdev_init' [COUNTER=ethdev_init] [fit=50] [fit_fn=1] [fn_ex=0] [fn_counter=1] [ex=13] [counter=1] [z = -0.367883603690978] [fn-z = -4.35889894354067]
for (i = 0; i < 4; i++)
link->irq.IRQInfo2 |= 1 << irq_list[i];
link->conf.Attributes = CONF_ENABLE_IRQ;
link->conf.IntType = INT_MEMORY_AND_IO;


Error --->
ethdev_init(dev);
dev->init = &pcnet_init;
dev->open = &pcnet_open;
dev->stop = &pcnet_close;

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 13:26    [W:0.044 / U:0.728 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site