s390: network patches for net-next
Subsystems (4)
cover s390: network patches for net-next
Hi Dave,
here are some s390 related patches for net-next
shortlog:
Stefan Raspl (4)
qeth: Remove unused variable
qeth: Consolidate tracing of card features
qeth: Clarify card type naming for virtual NICs
qeth: Remove BUG_ONs
Ursula Braun (2)
ctcm: remove BUG_ON's
claw: remove BUG_ON's
Thanks,
Frank
PATCH 1/6 qeth: Remove unused variable
From: Stefan Raspl <[email protected]>
Eliminate a variable that is never modified.
--- drivers/s390/net/qeth_core_main.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-)
drivers/s390/net/qeth_core_main.c +1 -2
@@ -2280,7 +2280,6 @@ static int qeth_ulp_setup_cb(struct qeth unsigned long data) {struct qeth_cmd_buffer *iob; -int rc =0 ;QETH_DBF_TEXT (SETUP ,2 ,"ulpstpcb" );
@@ -2296,7 +2295,7 @@ static int qeth_ulp_setup_cb(struct qeth 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)
PATCH 2/6 ctcm: remove BUG_ONs
In reply to [email protected]From: Ursula Braun <[email protected]>
Remove BUG_ON's in ctcm driver, since the checked error conditions are null pointer accesses.
--- drivers/s390/net/ctcm_main.c | 2 -- drivers/s390/net/ctcm_mpc.c | 3 --- 2 files changed, 5 deletions(-)
drivers/s390/net/ctcm_main.c +0 -2
@@ -1691,8 +1691,6 @@ static void ctcm_remove_device(struct cc {struct ctcm_priv *priv =dev_get_drvdata (&cgdev->dev); -BUG_ON (priv ==NULL ); -CTCM_DBF_TEXT_ (SETUP ,CTC_DBF_INFO ,"removing device %p, proto : %d" , cgdev, priv->protocol);
drivers/s390/net/ctcm_mpc.c +0 -3
@@ -1367,7 +1367,6 @@ static void mpc_action_go_inop(fsm_instastruct mpc_group *grp;struct channel *wch; -BUG_ON (dev ==NULL );CTCM_PR_DEBUG ("Enter %s: %s\n" , __func__, dev->name); priv = dev->ml_priv;
@@ -1472,8 +1471,6 @@ static void mpc_action_timeout(fsm_instastruct channel *wch;struct channel *rch; -BUG_ON (dev ==NULL ); - priv = dev->ml_priv; grp = priv->mpcg; wch = priv->channel[CTCM_WRITE ];
PATCH 3/6 claw: remove BUG_ONs
In reply to [email protected]From: Ursula Braun <[email protected]>
Remove BUG_ON's in claw driver, since the checked error conditions are null pointer accesses.
--- drivers/s390/net/claw.c | 2 -- 1 file changed, 2 deletions(-)
drivers/s390/net/claw.c +0 -2
@@ -3018,10 +3018,8 @@ claw_remove_device(struct ccwgroup_devic {struct claw_privbk *priv; -BUG_ON (!cgdev);CLAW_DBF_TEXT_ (2 , setup,"%s" ,dev_name (&cgdev->dev)); priv =dev_get_drvdata (&cgdev->dev); -BUG_ON (!priv);dev_info (&cgdev->dev," will be removed.\n" );if (cgdev->state ==CCWGROUP_ONLINE )claw_shutdown_device (cgdev);
PATCH 4/6 qeth: Clarify card type naming for virtual NICs
In reply to [email protected]From: Stefan Raspl <[email protected]>
So far, virtual NICs whether attached to a VSWITCH or a guest LAN were always displayed as guest LANs in the device driver attributes and messages, while in fact it is a virtual NIC.
--- drivers/s390/net/qeth_core_main.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-)
drivers/s390/net/qeth_core_main.c +8 -8
@@ -73,13 +73,13 @@ static inline const char *qeth_get_cardnif (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(struif (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" ; }
PATCH 5/6 qeth: Consolidate tracing of card features
In reply to [email protected]From: Stefan Raspl <[email protected]>
Trace all supported and enabled card features to s390dbf.
--- drivers/s390/net/qeth_core.h | 1 + drivers/s390/net/qeth_core_main.c | 16 +++++++++++++--- drivers/s390/net/qeth_l2_main.c | 1 + drivers/s390/net/qeth_l3_main.c | 1 + 4 files changed, 16 insertions(+), 3 deletions(-)
drivers/s390/net/qeth_core.h +1 -0
@@ -933,6 +933,7 @@ int qeth_hdr_chk_and_bounce(struct sk_buint qeth_configure_cq (struct qeth_card *,enum qeth_cq );int qeth_hw_trap (struct qeth_card *,enum qeth_diags_trap_action );int qeth_query_ipassists (struct qeth_card *,enum qeth_prot_versions prot); +void qeth_trace_features (struct qeth_card *);/* exports for OSN */ int qeth_osn_assist (struct net_device *,void *,int );
drivers/s390/net/qeth_core_main.c +13 -3
@@ -2968,9 +2968,6 @@ static int qeth_query_ipassists_cb(struc }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 ; }
@@ -4730,6 +4727,19 @@ static void qeth_core_free_card(struct qkfree (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 },
drivers/s390/net/qeth_l2_main.c +1 -0
@@ -986,6 +986,7 @@ static int __qeth_l2_set_online(struct c rc = -ENODEV ; goto out_remove; } +qeth_trace_features (card);if (!card->dev &&qeth_l2_setup_netdev (card)) { rc = -ENODEV ;
drivers/s390/net/qeth_l3_main.c +1 -0
@@ -3347,6 +3347,7 @@ static int __qeth_l3_set_online(struct c rc = -ENODEV ; goto out_remove; } +qeth_trace_features (card);if (!card->dev &&qeth_l3_setup_netdev (card)) { rc = -ENODEV ;
PATCH 6/6 qeth: Remove BUG_ONs
In reply to [email protected]From: Stefan Raspl <[email protected]>
Remove BUG_ONs or convert to WARN_ON_ONCE/WARN_ONs since a failure within a networking device driver is no reason to shut down the entire machine.
--- drivers/s390/net/qeth_core_main.c | 14 ++++++-------- drivers/s390/net/qeth_l2_main.c | 3 +-- drivers/s390/net/qeth_l3_main.c | 7 +++---- 3 files changed, 10 insertions(+), 14 deletions(-)
drivers/s390/net/qeth_core_main.c +6 -8
@@ -383,7 +383,7 @@ static inline void qeth_cleanup_handled_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( 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 qet 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) {
@@ -2400,7 +2399,7 @@ static int qeth_alloc_qdio_buffers(struc 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; }
@@ -3565,7 +3564,7 @@ void qeth_qdio_output_handler(struct ccwif (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,
@@ -3579,7 +3578,6 @@ void qeth_qdio_output_handler(struct ccwQETH_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);
drivers/s390/net/qeth_l2_main.c +1 -2
@@ -411,7 +411,7 @@ static int qeth_l2_process_inbound_buffeunsigned int len; *done =0 ; -BUG_ON (!budget); +WARN_ON_ONCE (!budget);while (budget) { skb = qeth_core_get_next_skb(card, &card->qdio.in_q->bufs[card->rx.b_index],
@@ -973,7 +973,6 @@ static int __qeth_l2_set_online(struct cint rc =0 ;enum qeth_card_states recover_flag; -BUG_ON (!card);mutex_lock (&card->discipline_mutex);mutex_lock (&card->conf_mutex);QETH_DBF_TEXT (SETUP ,2 ,"setonlin" );
drivers/s390/net/qeth_l3_main.c +3 -4
@@ -1939,7 +1939,7 @@ static int qeth_l3_process_inbound_buffe__u16 magic; *done =0 ; -BUG_ON (!budget); +WARN_ON_ONCE (!budget);while (budget) { skb = qeth_core_get_next_skb(card, &card->qdio.in_q->bufs[card->rx.b_index],
@@ -3334,7 +3334,6 @@ static int __qeth_l3_set_online(struct cint rc =0 ;enum qeth_card_states recover_flag; -BUG_ON (!card);mutex_lock (&card->discipline_mutex);mutex_lock (&card->conf_mutex);QETH_DBF_TEXT (SETUP ,2 ,"setonlin" );
@@ -3715,9 +3714,9 @@ static void qeth_l3_unregister_notifiers {QETH_DBF_TEXT (SETUP ,5 ,"unregnot" ); -BUG_ON (unregister_inetaddr_notifier (&qeth_l3_ip_notifier)); +WARN_ON (unregister_inetaddr_notifier (&qeth_l3_ip_notifier));#ifdef CONFIG_QETH_IPV6 -BUG_ON (unregister_inet6addr_notifier (&qeth_l3_ip6_notifier)); +WARN_ON (unregister_inet6addr_notifier (&qeth_l3_ip6_notifier));#endif /* QETH_IPV6 */ }
David Miller
maintainerFrom: [email protected]
Date: Mon, 19 Nov 2012 13:46:44 +0100
Quoted 1 line
here are some s390 related patches for net-next
All applied, thanks.