* discovery, reverify or log them in.  Otherwise, log them out.
         * Skip ports which were never discovered.  These are the dNS port
         * and ports which were created by PLOGI.
+        *
+        * We don't need to use the _rcu variant here as the rport list
+        * is protected by the disc mutex which is already held on entry.
         */
-       rcu_read_lock();
-       list_for_each_entry_rcu(rdata, &disc->rports, peers) {
+       list_for_each_entry(rdata, &disc->rports, peers) {
                if (!kref_get_unless_zero(&rdata->kref))
                        continue;
                if (rdata->disc_id) {
                }
                kref_put(&rdata->kref, fc_rport_destroy);
        }
-       rcu_read_unlock();
        mutex_unlock(&disc->disc_mutex);
        disc->disc_callback(lport, event);
        mutex_lock(&disc->disc_mutex);