|
@@ -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
|