]> git.karo-electronics.de Git - mv-sheeva.git/blobdiff - drivers/s390/cio/css.c
Merge tag 'v2.6.38' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6
[mv-sheeva.git] / drivers / s390 / cio / css.c
index 825951b6b83f438a002102f372a90342b624be6f..24d8e97355b9ba38fc9b57e36603e824c8a50ff5 100644 (file)
@@ -618,6 +618,7 @@ EXPORT_SYMBOL_GPL(css_schedule_reprobe);
 static void css_process_crw(struct crw *crw0, struct crw *crw1, int overflow)
 {
        struct subchannel_id mchk_schid;
+       struct subchannel *sch;
 
        if (overflow) {
                css_schedule_eval_all();
@@ -637,6 +638,13 @@ static void css_process_crw(struct crw *crw0, struct crw *crw1, int overflow)
        if (crw1)
                mchk_schid.ssid = (crw1->rsid >> 4) & 3;
 
+       if (crw0->erc == CRW_ERC_PMOD) {
+               sch = get_subchannel_by_schid(mchk_schid);
+               if (sch) {
+                       css_update_ssd_info(sch);
+                       put_device(&sch->dev);
+               }
+       }
        /*
         * Since we are always presented with IPI in the CRW, we have to
         * use stsch() to find out if the subchannel in question has come