From 630a5a2eb78013c79b0d24555b26da71c87b9832 Mon Sep 17 00:00:00 2001 From: "John W. Linville" Date: Mon, 9 Aug 2010 12:04:56 -0400 Subject: [PATCH] --- yaml --- r: 209207 b: refs/heads/master c: 2f2f8f2a35d5c009eb3f8941c0dbeca46ae13994 h: refs/heads/master i: 209205: 143e385a94d08b9e320204a267478040c0eb1ba6 209203: 35522fc33b7e1b3afca8ccbecd161ef418c08857 209199: a4b7865cac9134ca7fa0f0b67fadaed886da601e v: v3 --- [refs] | 2 +- trunk/drivers/isdn/hardware/avm/c4.c | 1 - trunk/drivers/isdn/hardware/avm/t1pci.c | 1 - .../isdn/hardware/mISDN/mISDNinfineon.c | 5 +- trunk/drivers/net/phy/phy.c | 2 +- trunk/drivers/net/qlcnic/qlcnic_main.c | 72 ++++++++----------- trunk/drivers/net/usb/usbnet.c | 22 ++---- trunk/drivers/net/wan/farsync.c | 15 ++-- trunk/drivers/net/wireless/p54/p54pci.c | 2 - trunk/include/linux/etherdevice.h | 2 +- trunk/include/net/sock.h | 4 +- trunk/net/sched/sch_api.c | 22 ++---- trunk/net/sched/sch_atm.c | 4 +- trunk/net/sched/sch_sfq.c | 8 +-- trunk/net/sched/sch_tbf.c | 4 +- trunk/net/sched/sch_teql.c | 2 +- 16 files changed, 57 insertions(+), 111 deletions(-) diff --git a/[refs] b/[refs] index 4c9907fdf089..557edb647290 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 9871e50edd25e2adf69b369817100821cb1e6de8 +refs/heads/master: 2f2f8f2a35d5c009eb3f8941c0dbeca46ae13994 diff --git a/trunk/drivers/isdn/hardware/avm/c4.c b/trunk/drivers/isdn/hardware/avm/c4.c index d3530f6e8115..7715d3242ec8 100644 --- a/trunk/drivers/isdn/hardware/avm/c4.c +++ b/trunk/drivers/isdn/hardware/avm/c4.c @@ -1273,7 +1273,6 @@ static int __devinit c4_probe(struct pci_dev *dev, if (retval != 0) { printk(KERN_ERR "c4: no AVM-C%d at i/o %#x, irq %d detected, mem %#x\n", nr, param.port, param.irq, param.membase); - pci_disable_device(dev); return -ENODEV; } return 0; diff --git a/trunk/drivers/isdn/hardware/avm/t1pci.c b/trunk/drivers/isdn/hardware/avm/t1pci.c index a79eb5afb92d..5a3f83098018 100644 --- a/trunk/drivers/isdn/hardware/avm/t1pci.c +++ b/trunk/drivers/isdn/hardware/avm/t1pci.c @@ -210,7 +210,6 @@ static int __devinit t1pci_probe(struct pci_dev *dev, if (retval != 0) { printk(KERN_ERR "t1pci: no AVM-T1-PCI at i/o %#x, irq %d detected, mem %#x\n", param.port, param.irq, param.membase); - pci_disable_device(dev); return -ENODEV; } return 0; diff --git a/trunk/drivers/isdn/hardware/mISDN/mISDNinfineon.c b/trunk/drivers/isdn/hardware/mISDN/mISDNinfineon.c index af25e1f3efd4..d2dd61d65d51 100644 --- a/trunk/drivers/isdn/hardware/mISDN/mISDNinfineon.c +++ b/trunk/drivers/isdn/hardware/mISDN/mISDNinfineon.c @@ -1094,7 +1094,6 @@ inf_probe(struct pci_dev *pdev, const struct pci_device_id *ent) pr_info("mISDN: do not have informations about adapter at %s\n", pci_name(pdev)); kfree(card); - pci_disable_device(pdev); return -EINVAL; } else pr_notice("mISDN: found adapter %s at %s\n", @@ -1104,7 +1103,7 @@ inf_probe(struct pci_dev *pdev, const struct pci_device_id *ent) pci_set_drvdata(pdev, card); err = setup_instance(card); if (err) { - pci_disable_device(pdev); + pci_disable_device(card->pdev); kfree(card); pci_set_drvdata(pdev, NULL); } else if (ent->driver_data == INF_SCT_1) { @@ -1115,7 +1114,6 @@ inf_probe(struct pci_dev *pdev, const struct pci_device_id *ent) sc = kzalloc(sizeof(struct inf_hw), GFP_KERNEL); if (!sc) { release_card(card); - pci_disable_device(pdev); return -ENOMEM; } sc->irq = card->irq; @@ -1123,7 +1121,6 @@ inf_probe(struct pci_dev *pdev, const struct pci_device_id *ent) sc->ci = card->ci + i; err = setup_instance(sc); if (err) { - pci_disable_device(pdev); kfree(sc); release_card(card); break; diff --git a/trunk/drivers/net/phy/phy.c b/trunk/drivers/net/phy/phy.c index 1bb16cb79433..5130db8f5c4e 100644 --- a/trunk/drivers/net/phy/phy.c +++ b/trunk/drivers/net/phy/phy.c @@ -301,7 +301,7 @@ EXPORT_SYMBOL(phy_ethtool_gset); /** * phy_mii_ioctl - generic PHY MII ioctl interface * @phydev: the phy_device struct - * @ifr: &struct ifreq for socket ioctl's + * @mii_data: MII ioctl data * @cmd: ioctl cmd to execute * * Note that this function is currently incompatible with the diff --git a/trunk/drivers/net/qlcnic/qlcnic_main.c b/trunk/drivers/net/qlcnic/qlcnic_main.c index bf6d87adda4f..b9615bd745ea 100644 --- a/trunk/drivers/net/qlcnic/qlcnic_main.c +++ b/trunk/drivers/net/qlcnic/qlcnic_main.c @@ -473,58 +473,48 @@ qlcnic_cleanup_pci_map(struct qlcnic_adapter *adapter) static int qlcnic_init_pci_info(struct qlcnic_adapter *adapter) { - struct qlcnic_pci_info *pci_info; + struct qlcnic_pci_info pci_info[QLCNIC_MAX_PCI_FUNC]; int i, ret = 0, err; u8 pfn; - pci_info = kcalloc(QLCNIC_MAX_PCI_FUNC, sizeof(*pci_info), GFP_KERNEL); - if (!pci_info) - return -ENOMEM; - - adapter->npars = kzalloc(sizeof(struct qlcnic_npar_info) * + if (!adapter->npars) + adapter->npars = kzalloc(sizeof(struct qlcnic_npar_info) * QLCNIC_MAX_PCI_FUNC, GFP_KERNEL); - if (!adapter->npars) { - err = -ENOMEM; - goto err_pci_info; - } + if (!adapter->npars) + return -ENOMEM; - adapter->eswitch = kzalloc(sizeof(struct qlcnic_eswitch) * + if (!adapter->eswitch) + adapter->eswitch = kzalloc(sizeof(struct qlcnic_eswitch) * QLCNIC_NIU_MAX_XG_PORTS, GFP_KERNEL); if (!adapter->eswitch) { err = -ENOMEM; - goto err_npars; + goto err_eswitch; } ret = qlcnic_get_pci_info(adapter, pci_info); - if (ret) - goto err_eswitch; - - for (i = 0; i < QLCNIC_MAX_PCI_FUNC; i++) { - pfn = pci_info[i].id; - if (pfn > QLCNIC_MAX_PCI_FUNC) - return QL_STATUS_INVALID_PARAM; - adapter->npars[pfn].active = pci_info[i].active; - adapter->npars[pfn].type = pci_info[i].type; - adapter->npars[pfn].phy_port = pci_info[i].default_port; - adapter->npars[pfn].mac_learning = DEFAULT_MAC_LEARN; - adapter->npars[pfn].min_bw = pci_info[i].tx_min_bw; - adapter->npars[pfn].max_bw = pci_info[i].tx_max_bw; - } + if (!ret) { + for (i = 0; i < QLCNIC_MAX_PCI_FUNC; i++) { + pfn = pci_info[i].id; + if (pfn > QLCNIC_MAX_PCI_FUNC) + return QL_STATUS_INVALID_PARAM; + adapter->npars[pfn].active = pci_info[i].active; + adapter->npars[pfn].type = pci_info[i].type; + adapter->npars[pfn].phy_port = pci_info[i].default_port; + adapter->npars[pfn].mac_learning = DEFAULT_MAC_LEARN; + adapter->npars[pfn].min_bw = pci_info[i].tx_min_bw; + adapter->npars[pfn].max_bw = pci_info[i].tx_max_bw; + } - for (i = 0; i < QLCNIC_NIU_MAX_XG_PORTS; i++) - adapter->eswitch[i].flags |= QLCNIC_SWITCH_ENABLE; + for (i = 0; i < QLCNIC_NIU_MAX_XG_PORTS; i++) + adapter->eswitch[i].flags |= QLCNIC_SWITCH_ENABLE; - kfree(pci_info); - return 0; + return ret; + } -err_eswitch: kfree(adapter->eswitch); adapter->eswitch = NULL; -err_npars: +err_eswitch: kfree(adapter->npars); - adapter->npars = NULL; -err_pci_info: - kfree(pci_info); return ret; } @@ -3371,21 +3361,15 @@ qlcnic_sysfs_read_pci_config(struct file *file, struct kobject *kobj, struct device *dev = container_of(kobj, struct device, kobj); struct qlcnic_adapter *adapter = dev_get_drvdata(dev); struct qlcnic_pci_func_cfg pci_cfg[QLCNIC_MAX_PCI_FUNC]; - struct qlcnic_pci_info *pci_info; + struct qlcnic_pci_info pci_info[QLCNIC_MAX_PCI_FUNC]; int i, ret; if (size != sizeof(pci_cfg)) return QL_STATUS_INVALID_PARAM; - pci_info = kcalloc(QLCNIC_MAX_PCI_FUNC, sizeof(*pci_info), GFP_KERNEL); - if (!pci_info) - return -ENOMEM; - ret = qlcnic_get_pci_info(adapter, pci_info); - if (ret) { - kfree(pci_info); + if (ret) return ret; - } for (i = 0; i < QLCNIC_MAX_PCI_FUNC ; i++) { pci_cfg[i].pci_func = pci_info[i].id; @@ -3396,8 +3380,8 @@ qlcnic_sysfs_read_pci_config(struct file *file, struct kobject *kobj, memcpy(&pci_cfg[i].def_mac_addr, &pci_info[i].mac, ETH_ALEN); } memcpy(buf, &pci_cfg, size); - kfree(pci_info); return size; + } static struct bin_attribute bin_attr_npar_config = { .attr = {.name = "npar_config", .mode = (S_IRUGO | S_IWUSR)}, diff --git a/trunk/drivers/net/usb/usbnet.c b/trunk/drivers/net/usb/usbnet.c index ca7fc9df1ccf..7f62e2dea28f 100644 --- a/trunk/drivers/net/usb/usbnet.c +++ b/trunk/drivers/net/usb/usbnet.c @@ -315,7 +315,7 @@ EXPORT_SYMBOL_GPL(usbnet_defer_kevent); static void rx_complete (struct urb *urb); -static int rx_submit (struct usbnet *dev, struct urb *urb, gfp_t flags) +static void rx_submit (struct usbnet *dev, struct urb *urb, gfp_t flags) { struct sk_buff *skb; struct skb_data *entry; @@ -327,7 +327,7 @@ static int rx_submit (struct usbnet *dev, struct urb *urb, gfp_t flags) netif_dbg(dev, rx_err, dev->net, "no rx skb\n"); usbnet_defer_kevent (dev, EVENT_RX_MEMORY); usb_free_urb (urb); - return -ENOMEM; + return; } skb_reserve (skb, NET_IP_ALIGN); @@ -357,9 +357,6 @@ static int rx_submit (struct usbnet *dev, struct urb *urb, gfp_t flags) netif_dbg(dev, ifdown, dev->net, "device gone\n"); netif_device_detach (dev->net); break; - case -EHOSTUNREACH: - retval = -ENOLINK; - break; default: netif_dbg(dev, rx_err, dev->net, "rx submit, %d\n", retval); @@ -377,7 +374,6 @@ static int rx_submit (struct usbnet *dev, struct urb *urb, gfp_t flags) dev_kfree_skb_any (skb); usb_free_urb (urb); } - return retval; } @@ -916,7 +912,6 @@ kevent (struct work_struct *work) /* tasklet could resubmit itself forever if memory is tight */ if (test_bit (EVENT_RX_MEMORY, &dev->flags)) { struct urb *urb = NULL; - int resched = 1; if (netif_running (dev->net)) urb = usb_alloc_urb (0, GFP_KERNEL); @@ -927,12 +922,10 @@ kevent (struct work_struct *work) status = usb_autopm_get_interface(dev->intf); if (status < 0) goto fail_lowmem; - if (rx_submit (dev, urb, GFP_KERNEL) == -ENOLINK) - resched = 0; + rx_submit (dev, urb, GFP_KERNEL); usb_autopm_put_interface(dev->intf); fail_lowmem: - if (resched) - tasklet_schedule (&dev->bh); + tasklet_schedule (&dev->bh); } } @@ -1182,11 +1175,8 @@ static void usbnet_bh (unsigned long param) // don't refill the queue all at once for (i = 0; i < 10 && dev->rxq.qlen < qlen; i++) { urb = usb_alloc_urb (0, GFP_ATOMIC); - if (urb != NULL) { - if (rx_submit (dev, urb, GFP_ATOMIC) == - -ENOLINK) - return; - } + if (urb != NULL) + rx_submit (dev, urb, GFP_ATOMIC); } if (temp != dev->rxq.qlen) netif_dbg(dev, link, dev->net, diff --git a/trunk/drivers/net/wan/farsync.c b/trunk/drivers/net/wan/farsync.c index e050bd65e037..ad7719fe6d0a 100644 --- a/trunk/drivers/net/wan/farsync.c +++ b/trunk/drivers/net/wan/farsync.c @@ -885,21 +885,20 @@ fst_rx_dma_complete(struct fst_card_info *card, struct fst_port_info *port, * Receive a frame through the DMA */ static inline void -fst_rx_dma(struct fst_card_info *card, dma_addr_t skb, - dma_addr_t mem, int len) +fst_rx_dma(struct fst_card_info *card, unsigned char *skb, + unsigned char *mem, int len) { /* * This routine will setup the DMA and start it */ - dbg(DBG_RX, "In fst_rx_dma %lx %lx %d\n", - (unsigned long) skb, (unsigned long) mem, len); + dbg(DBG_RX, "In fst_rx_dma %p %p %d\n", skb, mem, len); if (card->dmarx_in_progress) { dbg(DBG_ASS, "In fst_rx_dma while dma in progress\n"); } - outl(skb, card->pci_conf + DMAPADR0); /* Copy to here */ - outl(mem, card->pci_conf + DMALADR0); /* from here */ + outl((unsigned long) skb, card->pci_conf + DMAPADR0); /* Copy to here */ + outl((unsigned long) mem, card->pci_conf + DMALADR0); /* from here */ outl(len, card->pci_conf + DMASIZ0); /* for this length */ outl(0x00000000c, card->pci_conf + DMADPR0); /* In this direction */ @@ -1310,8 +1309,8 @@ fst_intr_rx(struct fst_card_info *card, struct fst_port_info *port) card->dma_port_rx = port; card->dma_len_rx = len; card->dma_rxpos = rxp; - fst_rx_dma(card, card->rx_dma_handle_card, - BUF_OFFSET(rxBuffer[pi][rxp][0]), len); + fst_rx_dma(card, (char *) card->rx_dma_handle_card, + (char *) BUF_OFFSET(rxBuffer[pi][rxp][0]), len); } if (rxp != port->rxpos) { dbg(DBG_ASS, "About to increment rxpos by more than 1\n"); diff --git a/trunk/drivers/net/wireless/p54/p54pci.c b/trunk/drivers/net/wireless/p54/p54pci.c index 71a101fb2e4e..822f8dc26e9c 100644 --- a/trunk/drivers/net/wireless/p54/p54pci.c +++ b/trunk/drivers/net/wireless/p54/p54pci.c @@ -43,8 +43,6 @@ static DEFINE_PCI_DEVICE_TABLE(p54p_table) = { { PCI_DEVICE(0x1260, 0x3886) }, /* Intersil PRISM Xbow Wireless LAN adapter (Symbol AP-300) */ { PCI_DEVICE(0x1260, 0xffff) }, - /* Standard Microsystems Corp SMC2802W Wireless PCI */ - { PCI_DEVICE(0x10b8, 0x2802) }, { }, }; diff --git a/trunk/include/linux/etherdevice.h b/trunk/include/linux/etherdevice.h index 2308fbb4523a..848480bc2bf9 100644 --- a/trunk/include/linux/etherdevice.h +++ b/trunk/include/linux/etherdevice.h @@ -129,7 +129,7 @@ static inline void random_ether_addr(u8 *addr) /** * dev_hw_addr_random - Create random MAC and set device flag * @dev: pointer to net_device structure - * @hwaddr: Pointer to a six-byte array containing the Ethernet address + * @addr: Pointer to a six-byte array containing the Ethernet address * * Generate random MAC to be used by a device and set addr_assign_type * so the state can be read by sysfs and be used by udev. diff --git a/trunk/include/net/sock.h b/trunk/include/net/sock.h index ac53bfbdfe16..a441c9cdd625 100644 --- a/trunk/include/net/sock.h +++ b/trunk/include/net/sock.h @@ -195,8 +195,7 @@ struct sock_common { * @sk_priority: %SO_PRIORITY setting * @sk_type: socket type (%SOCK_STREAM, etc) * @sk_protocol: which protocol this socket belongs in this network family - * @sk_peer_pid: &struct pid for this socket's peer - * @sk_peer_cred: %SO_PEERCRED setting + * @sk_peercred: %SO_PEERCRED setting * @sk_rcvlowat: %SO_RCVLOWAT setting * @sk_rcvtimeo: %SO_RCVTIMEO setting * @sk_sndtimeo: %SO_SNDTIMEO setting @@ -212,7 +211,6 @@ struct sock_common { * @sk_send_head: front of stuff to transmit * @sk_security: used by security modules * @sk_mark: generic packet mark - * @sk_classid: this socket's cgroup classid * @sk_write_pending: a write to stream socket waits to start * @sk_state_change: callback to indicate change in the state of the sock * @sk_data_ready: callback to indicate there is data to be processed diff --git a/trunk/net/sched/sch_api.c b/trunk/net/sched/sch_api.c index 8ed2f5649029..b9e8c3b7d406 100644 --- a/trunk/net/sched/sch_api.c +++ b/trunk/net/sched/sch_api.c @@ -150,34 +150,22 @@ int register_qdisc(struct Qdisc_ops *qops) if (qops->enqueue == NULL) qops->enqueue = noop_qdisc_ops.enqueue; if (qops->peek == NULL) { - if (qops->dequeue == NULL) + if (qops->dequeue == NULL) { qops->peek = noop_qdisc_ops.peek; - else - goto out_einval; + } else { + rc = -EINVAL; + goto out; + } } if (qops->dequeue == NULL) qops->dequeue = noop_qdisc_ops.dequeue; - if (qops->cl_ops) { - const struct Qdisc_class_ops *cops = qops->cl_ops; - - if (!(cops->get && cops->put)) - goto out_einval; - - if (cops->tcf_chain && !(cops->bind_tcf && cops->unbind_tcf)) - goto out_einval; - } - qops->next = NULL; *qp = qops; rc = 0; out: write_unlock(&qdisc_mod_lock); return rc; - -out_einval: - rc = -EINVAL; - goto out; } EXPORT_SYMBOL(register_qdisc); diff --git a/trunk/net/sched/sch_atm.c b/trunk/net/sched/sch_atm.c index 340662789529..e114f23d5eae 100644 --- a/trunk/net/sched/sch_atm.c +++ b/trunk/net/sched/sch_atm.c @@ -418,7 +418,7 @@ static int atm_tc_enqueue(struct sk_buff *skb, struct Qdisc *sch) } ret = qdisc_enqueue(skb, flow->q); - if (ret != NET_XMIT_SUCCESS) { + if (ret != 0) { drop: __maybe_unused if (net_xmit_drop_count(ret)) { sch->qstats.drops++; @@ -442,7 +442,7 @@ drop: __maybe_unused */ if (flow == &p->link) { sch->q.qlen++; - return NET_XMIT_SUCCESS; + return 0; } tasklet_schedule(&p->task); return NET_XMIT_SUCCESS | __NET_XMIT_BYPASS; diff --git a/trunk/net/sched/sch_sfq.c b/trunk/net/sched/sch_sfq.c index b8bcb2096df8..534f33231c17 100644 --- a/trunk/net/sched/sch_sfq.c +++ b/trunk/net/sched/sch_sfq.c @@ -334,7 +334,7 @@ sfq_enqueue(struct sk_buff *skb, struct Qdisc *sch) if (++sch->q.qlen <= q->limit) { sch->bstats.bytes += qdisc_pkt_len(skb); sch->bstats.packets++; - return NET_XMIT_SUCCESS; + return 0; } sfq_drop(sch); @@ -519,10 +519,6 @@ static unsigned long sfq_bind(struct Qdisc *sch, unsigned long parent, return 0; } -static void sfq_put(struct Qdisc *q, unsigned long cl) -{ -} - static struct tcf_proto **sfq_find_tcf(struct Qdisc *sch, unsigned long cl) { struct sfq_sched_data *q = qdisc_priv(sch); @@ -576,10 +572,8 @@ static void sfq_walk(struct Qdisc *sch, struct qdisc_walker *arg) static const struct Qdisc_class_ops sfq_class_ops = { .get = sfq_get, - .put = sfq_put, .tcf_chain = sfq_find_tcf, .bind_tcf = sfq_bind, - .unbind_tcf = sfq_put, .dump = sfq_dump_class, .dump_stats = sfq_dump_class_stats, .walk = sfq_walk, diff --git a/trunk/net/sched/sch_tbf.c b/trunk/net/sched/sch_tbf.c index 641a30d64635..0991c640cd3e 100644 --- a/trunk/net/sched/sch_tbf.c +++ b/trunk/net/sched/sch_tbf.c @@ -127,7 +127,7 @@ static int tbf_enqueue(struct sk_buff *skb, struct Qdisc* sch) return qdisc_reshape_fail(skb, sch); ret = qdisc_enqueue(skb, q->qdisc); - if (ret != NET_XMIT_SUCCESS) { + if (ret != 0) { if (net_xmit_drop_count(ret)) sch->qstats.drops++; return ret; @@ -136,7 +136,7 @@ static int tbf_enqueue(struct sk_buff *skb, struct Qdisc* sch) sch->q.qlen++; sch->bstats.bytes += qdisc_pkt_len(skb); sch->bstats.packets++; - return NET_XMIT_SUCCESS; + return 0; } static unsigned int tbf_drop(struct Qdisc* sch) diff --git a/trunk/net/sched/sch_teql.c b/trunk/net/sched/sch_teql.c index feaabc103ce6..807643bdcbac 100644 --- a/trunk/net/sched/sch_teql.c +++ b/trunk/net/sched/sch_teql.c @@ -85,7 +85,7 @@ teql_enqueue(struct sk_buff *skb, struct Qdisc* sch) __skb_queue_tail(&q->q, skb); sch->bstats.bytes += qdisc_pkt_len(skb); sch->bstats.packets++; - return NET_XMIT_SUCCESS; + return 0; } kfree_skb(skb);