[POWERPC] get_property returns const
[powerpc.git] / drivers / net / ehea / ehea_main.c
index 38b2fa4..d1a8134 100644 (file)
@@ -76,7 +76,7 @@ void ehea_dump(void *adr, int len, char *msg) {
        int x;
        unsigned char *deb = adr;
        for (x = 0; x < len; x += 16) {
-               printk(DRV_NAME "%s adr=%p ofs=%04x %016lx %016lx\n", msg,
+               printk(DRV_NAME " %s adr=%p ofs=%04x %016lx %016lx\n", msg,
                          deb, x, *((u64*)&deb[0]), *((u64*)&deb[8]));
                deb += 16;
        }
@@ -555,6 +555,7 @@ static irqreturn_t ehea_qp_aff_irq_handler(int irq, void *param)
 {
        struct ehea_port *port = param;
        struct ehea_eqe *eqe;
+       struct ehea_qp *qp;
        u32 qp_token;
 
        eqe = ehea_poll_eq(port->qp_eq);
@@ -563,9 +564,14 @@ static irqreturn_t ehea_qp_aff_irq_handler(int irq, void *param)
                qp_token = EHEA_BMASK_GET(EHEA_EQE_QP_TOKEN, eqe->entry);
                ehea_error("QP aff_err: entry=0x%lx, token=0x%x",
                           eqe->entry, qp_token);
+
+               qp = port->port_res[qp_token].qp;
+               ehea_error_data(port->adapter, qp->fw_handle);
                eqe = ehea_poll_eq(port->qp_eq);
        }
 
+       queue_work(port->adapter->ehea_wq, &port->reset_task);
+
        return IRQ_HANDLED;
 }
 
@@ -1933,8 +1939,7 @@ static void ehea_vlan_rx_kill_vid(struct net_device *dev, unsigned short vid)
        int index;
        u64 hret;
 
-       if (port->vgrp)
-               port->vgrp->vlan_devices[vid] = NULL;
+       vlan_group_set_device(port->vgrp, vid, NULL);
 
        cb1 = kzalloc(PAGE_SIZE, GFP_KERNEL);
        if (!cb1) {
@@ -2315,7 +2320,7 @@ static int ehea_setup_single_port(struct ehea_port *port,
        struct net_device *dev = port->netdev;
        struct ehea_adapter *adapter = port->adapter;
        struct hcp_ehea_port_cb4 *cb4;
-       u32 *dn_log_port_id;
+       const u32 *dn_log_port_id;
        int jumbo = 0;
 
        sema_init(&port->port_lock, 1);
@@ -2331,7 +2336,7 @@ static int ehea_setup_single_port(struct ehea_port *port,
        port->of_dev_node = dn;
 
        /* Determine logical port id */
-       dn_log_port_id = (u32*)get_property(dn, "ibm,hea-port-no", NULL);
+       dn_log_port_id = get_property(dn, "ibm,hea-port-no", NULL);
 
        if (!dn_log_port_id) {
                ehea_error("bad device node: dn_log_port_id=%p",
@@ -2487,7 +2492,7 @@ static int __devinit ehea_probe(struct ibmebus_dev *dev,
                                const struct of_device_id *id)
 {
        struct ehea_adapter *adapter;
-       u64 *adapter_handle;
+       const u64 *adapter_handle;
        int ret;
 
        adapter = kzalloc(sizeof(*adapter), GFP_KERNEL);
@@ -2497,7 +2502,7 @@ static int __devinit ehea_probe(struct ibmebus_dev *dev,
                goto out;
        }
 
-       adapter_handle = (u64*)get_property(dev->ofdev.node, "ibm,hea-handle",
+       adapter_handle = get_property(dev->ofdev.node, "ibm,hea-handle",
                                            NULL);
        if (adapter_handle)
                adapter->handle = *adapter_handle;