Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d122179a authored by David S. Miller's avatar David S. Miller
Browse files

Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6

Conflicts:
	net/core/ethtool.c
parents 419c2046 b00916b1
Loading
Loading
Loading
Loading
+0 −6
Original line number Diff line number Diff line
@@ -3156,7 +3156,6 @@ static int __devinit ia_init_one(struct pci_dev *pdev,
{  
	struct atm_dev *dev;  
	IADEV *iadev;  
        unsigned long flags;
	int ret;

	iadev = kzalloc(sizeof(*iadev), GFP_KERNEL);
@@ -3188,19 +3187,14 @@ static int __devinit ia_init_one(struct pci_dev *pdev,
	ia_dev[iadev_count] = iadev;
	_ia_dev[iadev_count] = dev;
	iadev_count++;
	spin_lock_init(&iadev->misc_lock);
	/* First fixes first. I don't want to think about this now. */
	spin_lock_irqsave(&iadev->misc_lock, flags); 
	if (ia_init(dev) || ia_start(dev)) {  
		IF_INIT(printk("IA register failed!\n");)
		iadev_count--;
		ia_dev[iadev_count] = NULL;
		_ia_dev[iadev_count] = NULL;
		spin_unlock_irqrestore(&iadev->misc_lock, flags); 
		ret = -EINVAL;
		goto err_out_deregister_dev;
	}
	spin_unlock_irqrestore(&iadev->misc_lock, flags); 
	IF_EVENT(printk("iadev_count = %d\n", iadev_count);)

	iadev->next_board = ia_boards;  
+1 −1
Original line number Diff line number Diff line
@@ -1022,7 +1022,7 @@ typedef struct iadev_t {
	struct dle_q rx_dle_q;  
	struct free_desc_q *rx_free_desc_qhead;  
	struct sk_buff_head rx_dma_q;  
        spinlock_t rx_lock, misc_lock;
	spinlock_t rx_lock;
	struct atm_vcc **rx_open;	/* list of all open VCs */  
        u16 num_rx_desc, rx_buf_sz, rxing;
        u32 rx_pkt_ram, rx_tmp_cnt;
+5 −3
Original line number Diff line number Diff line
@@ -444,6 +444,7 @@ static ssize_t console_show(struct device *dev, struct device_attribute *attr,
	struct atm_dev *atmdev = container_of(dev, struct atm_dev, class_dev);
	struct solos_card *card = atmdev->dev_data;
	struct sk_buff *skb;
	unsigned int len;

	spin_lock(&card->cli_queue_lock);
	skb = skb_dequeue(&card->cli_queue[SOLOS_CHAN(atmdev)]);
@@ -451,11 +452,12 @@ static ssize_t console_show(struct device *dev, struct device_attribute *attr,
	if(skb == NULL)
		return sprintf(buf, "No data.\n");

	memcpy(buf, skb->data, skb->len);
	dev_dbg(&card->dev->dev, "len: %d\n", skb->len);
	len = skb->len;
	memcpy(buf, skb->data, len);
	dev_dbg(&card->dev->dev, "len: %d\n", len);

	kfree_skb(skb);
	return skb->len;
	return len;
}

static int send_command(struct solos_card *card, int dev, const char *buf, size_t size)
+14 −4
Original line number Diff line number Diff line
@@ -112,11 +112,19 @@ irqreturn_t interrupt_handler(int dummy, void *card_inst)
			}
			else if(callid>=0x0000 && callid<=0x7FFF)
			{
				int len;

				pr_debug("%s: Got Incoming Call\n",
						sc_adapter[card]->devicename);
				strcpy(setup.phone,&(rcvmsg.msg_data.byte_array[4]));
				strcpy(setup.eazmsn,
					sc_adapter[card]->channel[rcvmsg.phy_link_no-1].dn);
				len = strlcpy(setup.phone, &(rcvmsg.msg_data.byte_array[4]),
						sizeof(setup.phone));
				if (len >= sizeof(setup.phone))
					continue;
				len = strlcpy(setup.eazmsn,
						sc_adapter[card]->channel[rcvmsg.phy_link_no - 1].dn,
						sizeof(setup.eazmsn));
				if (len >= sizeof(setup.eazmsn))
					continue;
				setup.si1 = 7;
				setup.si2 = 0;
				setup.plan = 0;
@@ -176,7 +184,9 @@ irqreturn_t interrupt_handler(int dummy, void *card_inst)
		 * Handle a GetMyNumber Rsp
		 */
		if (IS_CE_MESSAGE(rcvmsg,Call,0,GetMyNumber)){
			strcpy(sc_adapter[card]->channel[rcvmsg.phy_link_no-1].dn,rcvmsg.msg_data.byte_array);
			strlcpy(sc_adapter[card]->channel[rcvmsg.phy_link_no - 1].dn,
				rcvmsg.msg_data.byte_array,
				sizeof(rcvmsg.msg_data.byte_array));
			continue;
		}
			
+3 −0
Original line number Diff line number Diff line
@@ -1311,6 +1311,9 @@ fec_probe(struct platform_device *pdev)
	if (ret)
		goto failed_mii_init;

	/* Carrier starts down, phylib will bring it up */
	netif_carrier_off(ndev);

	ret = register_netdev(ndev);
	if (ret)
		goto failed_register;
Loading