File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -2250,6 +2250,38 @@ static int ds5_hw_reset_with_recovery(struct ds5 *state)
22502250 int retry ;
22512251 u16 status = 0 ;
22522252 bool device_went_down = false;
2253+ struct ds5_sensor * sensors [] = {
2254+ & state -> depth .sensor ,
2255+ & state -> ir .sensor ,
2256+ & state -> rgb .sensor ,
2257+ & state -> imu .sensor ,
2258+ };
2259+ int i ;
2260+
2261+ if (state -> dser_dev ) {
2262+ mutex_lock (& serdes_lock__ );
2263+ for (i = 0 ; i < ARRAY_SIZE (sensors ); i ++ ) {
2264+ struct ds5_sensor * sensor = sensors [i ];
2265+
2266+ sensor -> cached_dt_value = 0xFFFF ;
2267+ sensor -> cached_md_value = 0xFFFF ;
2268+ sensor -> cached_override_value = 0xFFFF ;
2269+ sensor -> cached_fps_value = 0xFFFF ;
2270+ sensor -> cached_width_value = 0xFFFF ;
2271+ sensor -> cached_height_value = 0xFFFF ;
2272+
2273+ if (!sensor -> pipe_configured ) {
2274+ continue ;
2275+ } else {
2276+ int release_ret = max9296_release_pipe (state -> dser_dev ,
2277+ sensor -> pipe_id );
2278+ dev_warn (& state -> client -> dev , "release pipe %d (%d)\n" ,
2279+ sensor -> pipe_id , release_ret );
2280+ sensor -> pipe_configured = false;
2281+ }
2282+ }
2283+ mutex_unlock (& serdes_lock__ );
2284+ }
22532285
22542286 dev_info (& state -> client -> dev , "%s(): Initiating HW reset with recovery\n" ,
22552287 __func__ );
You can’t perform that action at this time.
0 commit comments