ethtool: fix drvinfo strings set in drivers
[deliverable/linux.git] / drivers / s390 / net / qeth_core_main.c
index 4d6ba00d00472055f56afe7ad2b4f651d7f6fe26..029a7acf7b7a9c5a010f7a2f728177ce53d9ad5c 100644 (file)
@@ -73,13 +73,13 @@ static inline const char *qeth_get_cardname(struct qeth_card *card)
        if (card->info.guestlan) {
                switch (card->info.type) {
                case QETH_CARD_TYPE_OSD:
-                       return " Guest LAN QDIO";
+                       return " Virtual NIC QDIO";
                case QETH_CARD_TYPE_IQD:
-                       return " Guest LAN Hiper";
+                       return " Virtual NIC Hiper";
                case QETH_CARD_TYPE_OSM:
-                       return " Guest LAN QDIO - OSM";
+                       return " Virtual NIC QDIO - OSM";
                case QETH_CARD_TYPE_OSX:
-                       return " Guest LAN QDIO - OSX";
+                       return " Virtual NIC QDIO - OSX";
                default:
                        return " unknown";
                }
@@ -108,13 +108,13 @@ const char *qeth_get_cardname_short(struct qeth_card *card)
        if (card->info.guestlan) {
                switch (card->info.type) {
                case QETH_CARD_TYPE_OSD:
-                       return "GuestLAN QDIO";
+                       return "Virt.NIC QDIO";
                case QETH_CARD_TYPE_IQD:
-                       return "GuestLAN Hiper";
+                       return "Virt.NIC Hiper";
                case QETH_CARD_TYPE_OSM:
-                       return "GuestLAN OSM";
+                       return "Virt.NIC OSM";
                case QETH_CARD_TYPE_OSX:
-                       return "GuestLAN OSX";
+                       return "Virt.NIC OSX";
                default:
                        return "unknown";
                }
@@ -383,7 +383,7 @@ static inline void qeth_cleanup_handled_pending(struct qeth_qdio_out_q *q,
                                qeth_release_skbs(c);
 
                                c = f->next_pending;
-                               BUG_ON(head->next_pending != f);
+                               WARN_ON_ONCE(head->next_pending != f);
                                head->next_pending = c;
                                kmem_cache_free(qeth_qdio_outbuf_cache, f);
                        } else {
@@ -415,13 +415,12 @@ static inline void qeth_qdio_handle_aob(struct qeth_card *card,
        buffer = (struct qeth_qdio_out_buffer *) aob->user1;
        QETH_CARD_TEXT_(card, 5, "%lx", aob->user1);
 
-       BUG_ON(buffer == NULL);
-
        if (atomic_cmpxchg(&buffer->state, QETH_QDIO_BUF_PRIMED,
                           QETH_QDIO_BUF_IN_CQ) == QETH_QDIO_BUF_PRIMED) {
                notification = TX_NOTIFY_OK;
        } else {
-               BUG_ON(atomic_read(&buffer->state) != QETH_QDIO_BUF_PENDING);
+               WARN_ON_ONCE(atomic_read(&buffer->state) !=
+                                                       QETH_QDIO_BUF_PENDING);
                atomic_set(&buffer->state, QETH_QDIO_BUF_IN_CQ);
                notification = TX_NOTIFY_DELAYED_OK;
        }
@@ -1131,7 +1130,7 @@ static void qeth_release_skbs(struct qeth_qdio_out_buffer *buf)
                notify_general_error = 1;
 
        /* release may never happen from within CQ tasklet scope */
-       BUG_ON(atomic_read(&buf->state) == QETH_QDIO_BUF_IN_CQ);
+       WARN_ON_ONCE(atomic_read(&buf->state) == QETH_QDIO_BUF_IN_CQ);
 
        skb = skb_dequeue(&buf->skb_list);
        while (skb) {
@@ -2280,7 +2279,6 @@ static int qeth_ulp_setup_cb(struct qeth_card *card, struct qeth_reply *reply,
                unsigned long data)
 {
        struct qeth_cmd_buffer *iob;
-       int rc = 0;
 
        QETH_DBF_TEXT(SETUP, 2, "ulpstpcb");
 
@@ -2296,7 +2294,7 @@ static int qeth_ulp_setup_cb(struct qeth_card *card, struct qeth_reply *reply,
                iob->rc = -EMLINK;
        }
        QETH_DBF_TEXT_(SETUP, 2, "  rc%d", iob->rc);
-       return rc;
+       return 0;
 }
 
 static int qeth_ulp_setup(struct qeth_card *card)
@@ -2401,7 +2399,7 @@ static int qeth_alloc_qdio_buffers(struct qeth_card *card)
                card->qdio.out_qs[i]->queue_no = i;
                /* give outbound qeth_qdio_buffers their qdio_buffers */
                for (j = 0; j < QDIO_MAX_BUFFERS_PER_Q; ++j) {
-                       BUG_ON(card->qdio.out_qs[i]->bufs[j] != NULL);
+                       WARN_ON(card->qdio.out_qs[i]->bufs[j] != NULL);
                        if (qeth_init_qdio_out_buf(card->qdio.out_qs[i], j))
                                goto out_freeoutqbufs;
                }
@@ -2969,9 +2967,6 @@ static int qeth_query_ipassists_cb(struct qeth_card *card,
        } else
                QETH_DBF_MESSAGE(1, "%s IPA_CMD_QIPASSIST: Flawed LIC detected"
                                        "\n", dev_name(&card->gdev->dev));
-       QETH_DBF_TEXT(SETUP, 2, "suppenbl");
-       QETH_DBF_TEXT_(SETUP, 2, "%08x", (__u32)cmd->hdr.ipa_supported);
-       QETH_DBF_TEXT_(SETUP, 2, "%08x", (__u32)cmd->hdr.ipa_enabled);
        return 0;
 }
 
@@ -3569,7 +3564,7 @@ void qeth_qdio_output_handler(struct ccw_device *ccwdev,
                if (queue->bufstates &&
                    (queue->bufstates[bidx].flags &
                     QDIO_OUTBUF_STATE_FLAG_PENDING) != 0) {
-                       BUG_ON(card->options.cq != QETH_CQ_ENABLED);
+                       WARN_ON_ONCE(card->options.cq != QETH_CQ_ENABLED);
 
                        if (atomic_cmpxchg(&buffer->state,
                                           QETH_QDIO_BUF_PRIMED,
@@ -3583,7 +3578,6 @@ void qeth_qdio_output_handler(struct ccw_device *ccwdev,
                        QETH_CARD_TEXT(queue->card, 5, "aob");
                        QETH_CARD_TEXT_(queue->card, 5, "%lx",
                                        virt_to_phys(buffer->aob));
-                       BUG_ON(bidx < 0 || bidx >= QDIO_MAX_BUFFERS_PER_Q);
                        if (qeth_init_qdio_out_buf(queue, bidx)) {
                                QETH_CARD_TEXT(card, 2, "outofbuf");
                                qeth_schedule_recovery(card);
@@ -4731,6 +4725,19 @@ static void qeth_core_free_card(struct qeth_card *card)
        kfree(card);
 }
 
+void qeth_trace_features(struct qeth_card *card)
+{
+       QETH_CARD_TEXT(card, 2, "features");
+       QETH_CARD_TEXT_(card, 2, "%x", card->options.ipa4.supported_funcs);
+       QETH_CARD_TEXT_(card, 2, "%x", card->options.ipa4.enabled_funcs);
+       QETH_CARD_TEXT_(card, 2, "%x", card->options.ipa6.supported_funcs);
+       QETH_CARD_TEXT_(card, 2, "%x", card->options.ipa6.enabled_funcs);
+       QETH_CARD_TEXT_(card, 2, "%x", card->options.adp.supported_funcs);
+       QETH_CARD_TEXT_(card, 2, "%x", card->options.adp.enabled_funcs);
+       QETH_CARD_TEXT_(card, 2, "%x", card->info.diagass_support);
+}
+EXPORT_SYMBOL_GPL(qeth_trace_features);
+
 static struct ccw_device_id qeth_ids[] = {
        {CCW_DEVICE_DEVTYPE(0x1731, 0x01, 0x1732, 0x01),
                                        .driver_info = QETH_CARD_TYPE_OSD},
@@ -5437,17 +5444,14 @@ void qeth_core_get_drvinfo(struct net_device *dev,
                struct ethtool_drvinfo *info)
 {
        struct qeth_card *card = dev->ml_priv;
-       if (card->options.layer2)
-               strcpy(info->driver, "qeth_l2");
-       else
-               strcpy(info->driver, "qeth_l3");
-
-       strcpy(info->version, "1.0");
-       strcpy(info->fw_version, card->info.mcl_level);
-       sprintf(info->bus_info, "%s/%s/%s",
-                       CARD_RDEV_ID(card),
-                       CARD_WDEV_ID(card),
-                       CARD_DDEV_ID(card));
+
+       strlcpy(info->driver, card->options.layer2 ? "qeth_l2" : "qeth_l3",
+               sizeof(info->driver));
+       strlcpy(info->version, "1.0", sizeof(info->version));
+       strlcpy(info->fw_version, card->info.mcl_level,
+               sizeof(info->fw_version));
+       snprintf(info->bus_info, sizeof(info->bus_info), "%s/%s/%s",
+                CARD_RDEV_ID(card), CARD_WDEV_ID(card), CARD_DDEV_ID(card));
 }
 EXPORT_SYMBOL_GPL(qeth_core_get_drvinfo);
 
This page took 0.027306 seconds and 5 git commands to generate.