* Re: [PATCH 11/24] fnic: use dedicated device reset command
[not found] <20220502213820.3187-12-hare@suse.de>
@ 2022-05-03 17:12 ` kernel test robot
0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2022-05-03 17:12 UTC (permalink / raw)
To: Hannes Reinecke; +Cc: llvm, kbuild-all
Hi Hannes,
I love your patch! Perhaps something to improve:
[auto build test WARNING on mkp-scsi/for-next]
[also build test WARNING on jejb-scsi/for-next powerpc/next linus/master v5.18-rc5 next-20220503]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]
url: https://github.com/intel-lab-lkp/linux/commits/Hannes-Reinecke/scsi-EH-rework-prep-patches-part-1/20220503-054317
base: https://git.kernel.org/pub/scm/linux/kernel/git/mkp/scsi.git for-next
config: x86_64-allmodconfig (https://download.01.org/0day-ci/archive/20220504/202205040107.yOpQQQnY-lkp@intel.com/config)
compiler: clang version 15.0.0 (https://github.com/llvm/llvm-project 363b3a645a1e30011cc8da624f13dac5fd915628)
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://github.com/intel-lab-lkp/linux/commit/8691055a002b89e1dac5e431f039c5f3c6e8be1f
git remote add linux-review https://github.com/intel-lab-lkp/linux
git fetch --no-tags linux-review Hannes-Reinecke/scsi-EH-rework-prep-patches-part-1/20220503-054317
git checkout 8691055a002b89e1dac5e431f039c5f3c6e8be1f
# save the config file
mkdir build_dir && cp config build_dir/.config
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=x86_64 SHELL=/bin/bash drivers/scsi/fnic/
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
All warnings (new ones prefixed by >>):
>> drivers/scsi/fnic/fnic_scsi.c:2310:5: warning: variable 'tag' is uninitialized when used here [-Wuninitialized]
tag | FNIC_TAG_DEV_RST,
^~~
drivers/scsi/fnic/fnic_scsi.c:2194:9: note: initialize the variable 'tag' to silence this warning
int tag;
^
= 0
1 warning generated.
vim +/tag +2310 drivers/scsi/fnic/fnic_scsi.c
5df6d737dd4b0f Abhijeet Joglekar 2009-04-17 2173
5df6d737dd4b0f Abhijeet Joglekar 2009-04-17 2174 /*
5df6d737dd4b0f Abhijeet Joglekar 2009-04-17 2175 * SCSI Eh thread issues a Lun Reset when one or more commands on a LUN
5df6d737dd4b0f Abhijeet Joglekar 2009-04-17 2176 * fail to get aborted. It calls driver's eh_device_reset with a SCSI command
5df6d737dd4b0f Abhijeet Joglekar 2009-04-17 2177 * on the LUN.
5df6d737dd4b0f Abhijeet Joglekar 2009-04-17 2178 */
5df6d737dd4b0f Abhijeet Joglekar 2009-04-17 2179 int fnic_device_reset(struct scsi_cmnd *sc)
5df6d737dd4b0f Abhijeet Joglekar 2009-04-17 2180 {
8691055a002b89 Hannes Reinecke 2022-05-02 2181 struct scsi_device *sdev = sc->device;
5df6d737dd4b0f Abhijeet Joglekar 2009-04-17 2182 struct fc_lport *lp;
5df6d737dd4b0f Abhijeet Joglekar 2009-04-17 2183 struct fnic *fnic;
4d7007b49d523d Hiral Patel 2013-02-12 2184 struct fnic_io_req *io_req = NULL;
5df6d737dd4b0f Abhijeet Joglekar 2009-04-17 2185 struct fc_rport *rport;
5df6d737dd4b0f Abhijeet Joglekar 2009-04-17 2186 int status;
5df6d737dd4b0f Abhijeet Joglekar 2009-04-17 2187 int ret = FAILED;
5df6d737dd4b0f Abhijeet Joglekar 2009-04-17 2188 spinlock_t *io_lock;
5df6d737dd4b0f Abhijeet Joglekar 2009-04-17 2189 unsigned long flags;
14eb5d905d16ec Hiral Patel 2013-02-12 2190 unsigned long start_time = 0;
03298552cba38f Hiral Patel 2013-02-12 2191 struct scsi_lun fc_lun;
67125b0287a9e6 Hiral Patel 2013-09-12 2192 struct fnic_stats *fnic_stats;
67125b0287a9e6 Hiral Patel 2013-09-12 2193 struct reset_stats *reset_stats;
8691055a002b89 Hannes Reinecke 2022-05-02 2194 int tag;
5df6d737dd4b0f Abhijeet Joglekar 2009-04-17 2195 DECLARE_COMPLETION_ONSTACK(tm_done);
5df6d737dd4b0f Abhijeet Joglekar 2009-04-17 2196
5df6d737dd4b0f Abhijeet Joglekar 2009-04-17 2197 /* Wait for rport to unblock */
8691055a002b89 Hannes Reinecke 2022-05-02 2198 rport = starget_to_rport(scsi_target(sdev));
8691055a002b89 Hannes Reinecke 2022-05-02 2199 ret = fc_block_rport(rport);
8691055a002b89 Hannes Reinecke 2022-05-02 2200 if (ret)
8691055a002b89 Hannes Reinecke 2022-05-02 2201 return ret;
5df6d737dd4b0f Abhijeet Joglekar 2009-04-17 2202
5df6d737dd4b0f Abhijeet Joglekar 2009-04-17 2203 /* Get local-port, check ready and link up */
8691055a002b89 Hannes Reinecke 2022-05-02 2204 lp = shost_priv(sdev->host);
5df6d737dd4b0f Abhijeet Joglekar 2009-04-17 2205
5df6d737dd4b0f Abhijeet Joglekar 2009-04-17 2206 fnic = lport_priv(lp);
67125b0287a9e6 Hiral Patel 2013-09-12 2207 fnic_stats = &fnic->fnic_stats;
67125b0287a9e6 Hiral Patel 2013-09-12 2208 reset_stats = &fnic->fnic_stats.reset_stats;
67125b0287a9e6 Hiral Patel 2013-09-12 2209
67125b0287a9e6 Hiral Patel 2013-09-12 2210 atomic64_inc(&reset_stats->device_resets);
5df6d737dd4b0f Abhijeet Joglekar 2009-04-17 2211
0db6f4353d68c0 Roel Kluin 2010-06-11 2212 FNIC_SCSI_DBG(KERN_DEBUG, fnic->lport->host,
8691055a002b89 Hannes Reinecke 2022-05-02 2213 "Device reset called FCID 0x%x, LUN 0x%llx\n",
8691055a002b89 Hannes Reinecke 2022-05-02 2214 rport->port_id, sdev->lun);
5df6d737dd4b0f Abhijeet Joglekar 2009-04-17 2215
5df6d737dd4b0f Abhijeet Joglekar 2009-04-17 2216 if (lp->state != LPORT_ST_READY || !(lp->link_up))
5df6d737dd4b0f Abhijeet Joglekar 2009-04-17 2217 goto fnic_device_reset_end;
5df6d737dd4b0f Abhijeet Joglekar 2009-04-17 2218
5df6d737dd4b0f Abhijeet Joglekar 2009-04-17 2219 /* Check if remote port up */
67125b0287a9e6 Hiral Patel 2013-09-12 2220 if (fc_remote_port_chkready(rport)) {
67125b0287a9e6 Hiral Patel 2013-09-12 2221 atomic64_inc(&fnic_stats->misc_stats.rport_not_ready);
5df6d737dd4b0f Abhijeet Joglekar 2009-04-17 2222 goto fnic_device_reset_end;
67125b0287a9e6 Hiral Patel 2013-09-12 2223 }
5df6d737dd4b0f Abhijeet Joglekar 2009-04-17 2224
8691055a002b89 Hannes Reinecke 2022-05-02 2225 /* The last tag is reserved for device reset */
8691055a002b89 Hannes Reinecke 2022-05-02 2226 sc = scsi_host_find_tag(sdev->host, fnic->fnic_max_tag_id - 1);
8691055a002b89 Hannes Reinecke 2022-05-02 2227 if (unlikely(!sc))
03298552cba38f Hiral Patel 2013-02-12 2228 goto fnic_device_reset_end;
8691055a002b89 Hannes Reinecke 2022-05-02 2229
5df6d737dd4b0f Abhijeet Joglekar 2009-04-17 2230 io_lock = fnic_io_lock_hash(fnic, sc);
5df6d737dd4b0f Abhijeet Joglekar 2009-04-17 2231 spin_lock_irqsave(io_lock, flags);
924cb24df4fc4d Bart Van Assche 2022-02-18 2232 io_req = fnic_priv(sc)->io_req;
8691055a002b89 Hannes Reinecke 2022-05-02 2233 if (io_req)
8691055a002b89 Hannes Reinecke 2022-05-02 2234 goto fnic_device_reset_end;
5df6d737dd4b0f Abhijeet Joglekar 2009-04-17 2235
5df6d737dd4b0f Abhijeet Joglekar 2009-04-17 2236 io_req = mempool_alloc(fnic->io_req_pool, GFP_ATOMIC);
5df6d737dd4b0f Abhijeet Joglekar 2009-04-17 2237 if (!io_req) {
5df6d737dd4b0f Abhijeet Joglekar 2009-04-17 2238 spin_unlock_irqrestore(io_lock, flags);
5df6d737dd4b0f Abhijeet Joglekar 2009-04-17 2239 goto fnic_device_reset_end;
5df6d737dd4b0f Abhijeet Joglekar 2009-04-17 2240 }
5df6d737dd4b0f Abhijeet Joglekar 2009-04-17 2241 memset(io_req, 0, sizeof(*io_req));
5df6d737dd4b0f Abhijeet Joglekar 2009-04-17 2242 io_req->port_id = rport->port_id;
924cb24df4fc4d Bart Van Assche 2022-02-18 2243 fnic_priv(sc)->io_req = io_req;
8691055a002b89 Hannes Reinecke 2022-05-02 2244
5df6d737dd4b0f Abhijeet Joglekar 2009-04-17 2245 io_req->dr_done = &tm_done;
8691055a002b89 Hannes Reinecke 2022-05-02 2246 fnic_priv(sc)->flags = FNIC_DEVICE_RESET;
924cb24df4fc4d Bart Van Assche 2022-02-18 2247 fnic_priv(sc)->state = FNIC_IOREQ_CMD_PENDING;
924cb24df4fc4d Bart Van Assche 2022-02-18 2248 fnic_priv(sc)->lr_status = FCPIO_INVALID_CODE;
5df6d737dd4b0f Abhijeet Joglekar 2009-04-17 2249 spin_unlock_irqrestore(io_lock, flags);
5df6d737dd4b0f Abhijeet Joglekar 2009-04-17 2250
03298552cba38f Hiral Patel 2013-02-12 2251 FNIC_SCSI_DBG(KERN_DEBUG, fnic->lport->host, "TAG %x\n", tag);
5df6d737dd4b0f Abhijeet Joglekar 2009-04-17 2252
5df6d737dd4b0f Abhijeet Joglekar 2009-04-17 2253 /*
5df6d737dd4b0f Abhijeet Joglekar 2009-04-17 2254 * issue the device reset, if enqueue failed, clean up the ioreq
5df6d737dd4b0f Abhijeet Joglekar 2009-04-17 2255 * and break assoc with scsi cmd
5df6d737dd4b0f Abhijeet Joglekar 2009-04-17 2256 */
5df6d737dd4b0f Abhijeet Joglekar 2009-04-17 2257 if (fnic_queue_dr_io_req(fnic, sc, io_req)) {
5df6d737dd4b0f Abhijeet Joglekar 2009-04-17 2258 spin_lock_irqsave(io_lock, flags);
924cb24df4fc4d Bart Van Assche 2022-02-18 2259 io_req = fnic_priv(sc)->io_req;
5df6d737dd4b0f Abhijeet Joglekar 2009-04-17 2260 if (io_req)
5df6d737dd4b0f Abhijeet Joglekar 2009-04-17 2261 io_req->dr_done = NULL;
5df6d737dd4b0f Abhijeet Joglekar 2009-04-17 2262 goto fnic_device_reset_clean;
5df6d737dd4b0f Abhijeet Joglekar 2009-04-17 2263 }
03298552cba38f Hiral Patel 2013-02-12 2264 spin_lock_irqsave(io_lock, flags);
924cb24df4fc4d Bart Van Assche 2022-02-18 2265 fnic_priv(sc)->flags |= FNIC_DEV_RST_ISSUED;
03298552cba38f Hiral Patel 2013-02-12 2266 spin_unlock_irqrestore(io_lock, flags);
5df6d737dd4b0f Abhijeet Joglekar 2009-04-17 2267
5df6d737dd4b0f Abhijeet Joglekar 2009-04-17 2268 /*
5df6d737dd4b0f Abhijeet Joglekar 2009-04-17 2269 * Wait on the local completion for LUN reset. The io_req may be
5df6d737dd4b0f Abhijeet Joglekar 2009-04-17 2270 * freed while we wait since we hold no lock.
5df6d737dd4b0f Abhijeet Joglekar 2009-04-17 2271 */
5df6d737dd4b0f Abhijeet Joglekar 2009-04-17 2272 wait_for_completion_timeout(&tm_done,
5df6d737dd4b0f Abhijeet Joglekar 2009-04-17 2273 msecs_to_jiffies(FNIC_LUN_RESET_TIMEOUT));
5df6d737dd4b0f Abhijeet Joglekar 2009-04-17 2274
5df6d737dd4b0f Abhijeet Joglekar 2009-04-17 2275 spin_lock_irqsave(io_lock, flags);
924cb24df4fc4d Bart Van Assche 2022-02-18 2276 io_req = fnic_priv(sc)->io_req;
5df6d737dd4b0f Abhijeet Joglekar 2009-04-17 2277 if (!io_req) {
5df6d737dd4b0f Abhijeet Joglekar 2009-04-17 2278 spin_unlock_irqrestore(io_lock, flags);
03298552cba38f Hiral Patel 2013-02-12 2279 FNIC_SCSI_DBG(KERN_DEBUG, fnic->lport->host,
8691055a002b89 Hannes Reinecke 2022-05-02 2280 "io_req is null tag 0x%x\n", tag);
5df6d737dd4b0f Abhijeet Joglekar 2009-04-17 2281 goto fnic_device_reset_end;
5df6d737dd4b0f Abhijeet Joglekar 2009-04-17 2282 }
5df6d737dd4b0f Abhijeet Joglekar 2009-04-17 2283 io_req->dr_done = NULL;
5df6d737dd4b0f Abhijeet Joglekar 2009-04-17 2284
924cb24df4fc4d Bart Van Assche 2022-02-18 2285 status = fnic_priv(sc)->lr_status;
5df6d737dd4b0f Abhijeet Joglekar 2009-04-17 2286
5df6d737dd4b0f Abhijeet Joglekar 2009-04-17 2287 /*
5df6d737dd4b0f Abhijeet Joglekar 2009-04-17 2288 * If lun reset not completed, bail out with failed. io_req
5df6d737dd4b0f Abhijeet Joglekar 2009-04-17 2289 * gets cleaned up during higher levels of EH
5df6d737dd4b0f Abhijeet Joglekar 2009-04-17 2290 */
5df6d737dd4b0f Abhijeet Joglekar 2009-04-17 2291 if (status == FCPIO_INVALID_CODE) {
67125b0287a9e6 Hiral Patel 2013-09-12 2292 atomic64_inc(&reset_stats->device_reset_timeouts);
5df6d737dd4b0f Abhijeet Joglekar 2009-04-17 2293 FNIC_SCSI_DBG(KERN_DEBUG, fnic->lport->host,
5df6d737dd4b0f Abhijeet Joglekar 2009-04-17 2294 "Device reset timed out\n");
924cb24df4fc4d Bart Van Assche 2022-02-18 2295 fnic_priv(sc)->flags |= FNIC_DEV_RST_TIMED_OUT;
03298552cba38f Hiral Patel 2013-02-12 2296 spin_unlock_irqrestore(io_lock, flags);
03298552cba38f Hiral Patel 2013-02-12 2297 int_to_scsilun(sc->device->lun, &fc_lun);
03298552cba38f Hiral Patel 2013-02-12 2298 /*
1259c5dc752474 Sesidhar Beddel 2013-09-09 2299 * Issue abort and terminate on device reset request.
1259c5dc752474 Sesidhar Beddel 2013-09-09 2300 * If q'ing of terminate fails, retry it after a delay.
03298552cba38f Hiral Patel 2013-02-12 2301 */
03298552cba38f Hiral Patel 2013-02-12 2302 while (1) {
03298552cba38f Hiral Patel 2013-02-12 2303 spin_lock_irqsave(io_lock, flags);
924cb24df4fc4d Bart Van Assche 2022-02-18 2304 if (fnic_priv(sc)->flags & FNIC_DEV_RST_TERM_ISSUED) {
03298552cba38f Hiral Patel 2013-02-12 2305 spin_unlock_irqrestore(io_lock, flags);
03298552cba38f Hiral Patel 2013-02-12 2306 break;
03298552cba38f Hiral Patel 2013-02-12 2307 }
03298552cba38f Hiral Patel 2013-02-12 2308 spin_unlock_irqrestore(io_lock, flags);
03298552cba38f Hiral Patel 2013-02-12 2309 if (fnic_queue_abort_io_req(fnic,
03298552cba38f Hiral Patel 2013-02-12 @2310 tag | FNIC_TAG_DEV_RST,
03298552cba38f Hiral Patel 2013-02-12 2311 FCPIO_ITMF_ABT_TASK_TERM,
03298552cba38f Hiral Patel 2013-02-12 2312 fc_lun.scsi_lun, io_req)) {
03298552cba38f Hiral Patel 2013-02-12 2313 wait_for_completion_timeout(&tm_done,
03298552cba38f Hiral Patel 2013-02-12 2314 msecs_to_jiffies(FNIC_ABT_TERM_DELAY_TIMEOUT));
03298552cba38f Hiral Patel 2013-02-12 2315 } else {
03298552cba38f Hiral Patel 2013-02-12 2316 spin_lock_irqsave(io_lock, flags);
924cb24df4fc4d Bart Van Assche 2022-02-18 2317 fnic_priv(sc)->flags |= FNIC_DEV_RST_TERM_ISSUED;
924cb24df4fc4d Bart Van Assche 2022-02-18 2318 fnic_priv(sc)->state = FNIC_IOREQ_ABTS_PENDING;
03298552cba38f Hiral Patel 2013-02-12 2319 io_req->abts_done = &tm_done;
03298552cba38f Hiral Patel 2013-02-12 2320 spin_unlock_irqrestore(io_lock, flags);
03298552cba38f Hiral Patel 2013-02-12 2321 FNIC_SCSI_DBG(KERN_DEBUG, fnic->lport->host,
03298552cba38f Hiral Patel 2013-02-12 2322 "Abort and terminate issued on Device reset "
8691055a002b89 Hannes Reinecke 2022-05-02 2323 "tag 0x%x\n", tag);
03298552cba38f Hiral Patel 2013-02-12 2324 break;
03298552cba38f Hiral Patel 2013-02-12 2325 }
03298552cba38f Hiral Patel 2013-02-12 2326 }
03298552cba38f Hiral Patel 2013-02-12 2327 while (1) {
03298552cba38f Hiral Patel 2013-02-12 2328 spin_lock_irqsave(io_lock, flags);
924cb24df4fc4d Bart Van Assche 2022-02-18 2329 if (!(fnic_priv(sc)->flags & FNIC_DEV_RST_DONE)) {
03298552cba38f Hiral Patel 2013-02-12 2330 spin_unlock_irqrestore(io_lock, flags);
03298552cba38f Hiral Patel 2013-02-12 2331 wait_for_completion_timeout(&tm_done,
03298552cba38f Hiral Patel 2013-02-12 2332 msecs_to_jiffies(FNIC_LUN_RESET_TIMEOUT));
03298552cba38f Hiral Patel 2013-02-12 2333 break;
03298552cba38f Hiral Patel 2013-02-12 2334 } else {
924cb24df4fc4d Bart Van Assche 2022-02-18 2335 io_req = fnic_priv(sc)->io_req;
03298552cba38f Hiral Patel 2013-02-12 2336 io_req->abts_done = NULL;
03298552cba38f Hiral Patel 2013-02-12 2337 goto fnic_device_reset_clean;
03298552cba38f Hiral Patel 2013-02-12 2338 }
03298552cba38f Hiral Patel 2013-02-12 2339 }
03298552cba38f Hiral Patel 2013-02-12 2340 } else {
03298552cba38f Hiral Patel 2013-02-12 2341 spin_unlock_irqrestore(io_lock, flags);
5df6d737dd4b0f Abhijeet Joglekar 2009-04-17 2342 }
5df6d737dd4b0f Abhijeet Joglekar 2009-04-17 2343
5df6d737dd4b0f Abhijeet Joglekar 2009-04-17 2344 /* Completed, but not successful, clean up the io_req, return fail */
5df6d737dd4b0f Abhijeet Joglekar 2009-04-17 2345 if (status != FCPIO_SUCCESS) {
5df6d737dd4b0f Abhijeet Joglekar 2009-04-17 2346 spin_lock_irqsave(io_lock, flags);
5df6d737dd4b0f Abhijeet Joglekar 2009-04-17 2347 FNIC_SCSI_DBG(KERN_DEBUG,
5df6d737dd4b0f Abhijeet Joglekar 2009-04-17 2348 fnic->lport->host,
5df6d737dd4b0f Abhijeet Joglekar 2009-04-17 2349 "Device reset completed - failed\n");
924cb24df4fc4d Bart Van Assche 2022-02-18 2350 io_req = fnic_priv(sc)->io_req;
5df6d737dd4b0f Abhijeet Joglekar 2009-04-17 2351 goto fnic_device_reset_clean;
5df6d737dd4b0f Abhijeet Joglekar 2009-04-17 2352 }
5df6d737dd4b0f Abhijeet Joglekar 2009-04-17 2353
5df6d737dd4b0f Abhijeet Joglekar 2009-04-17 2354 /*
5df6d737dd4b0f Abhijeet Joglekar 2009-04-17 2355 * Clean up any aborts on this lun that have still not
5df6d737dd4b0f Abhijeet Joglekar 2009-04-17 2356 * completed. If any of these fail, then LUN reset fails.
5df6d737dd4b0f Abhijeet Joglekar 2009-04-17 2357 * clean_pending_aborts cleans all cmds on this lun except
5df6d737dd4b0f Abhijeet Joglekar 2009-04-17 2358 * the lun reset cmd. If all cmds get cleaned, the lun reset
5df6d737dd4b0f Abhijeet Joglekar 2009-04-17 2359 * succeeds
5df6d737dd4b0f Abhijeet Joglekar 2009-04-17 2360 */
8691055a002b89 Hannes Reinecke 2022-05-02 2361 if (fnic_clean_pending_aborts(fnic, sc)) {
5df6d737dd4b0f Abhijeet Joglekar 2009-04-17 2362 spin_lock_irqsave(io_lock, flags);
924cb24df4fc4d Bart Van Assche 2022-02-18 2363 io_req = fnic_priv(sc)->io_req;
5df6d737dd4b0f Abhijeet Joglekar 2009-04-17 2364 FNIC_SCSI_DBG(KERN_DEBUG, fnic->lport->host,
5df6d737dd4b0f Abhijeet Joglekar 2009-04-17 2365 "Device reset failed"
5df6d737dd4b0f Abhijeet Joglekar 2009-04-17 2366 " since could not abort all IOs\n");
5df6d737dd4b0f Abhijeet Joglekar 2009-04-17 2367 goto fnic_device_reset_clean;
5df6d737dd4b0f Abhijeet Joglekar 2009-04-17 2368 }
5df6d737dd4b0f Abhijeet Joglekar 2009-04-17 2369
5df6d737dd4b0f Abhijeet Joglekar 2009-04-17 2370 /* Clean lun reset command */
5df6d737dd4b0f Abhijeet Joglekar 2009-04-17 2371 spin_lock_irqsave(io_lock, flags);
924cb24df4fc4d Bart Van Assche 2022-02-18 2372 io_req = fnic_priv(sc)->io_req;
5df6d737dd4b0f Abhijeet Joglekar 2009-04-17 2373 if (io_req)
5df6d737dd4b0f Abhijeet Joglekar 2009-04-17 2374 /* Completed, and successful */
5df6d737dd4b0f Abhijeet Joglekar 2009-04-17 2375 ret = SUCCESS;
5df6d737dd4b0f Abhijeet Joglekar 2009-04-17 2376
5df6d737dd4b0f Abhijeet Joglekar 2009-04-17 2377 fnic_device_reset_clean:
5df6d737dd4b0f Abhijeet Joglekar 2009-04-17 2378 if (io_req)
924cb24df4fc4d Bart Van Assche 2022-02-18 2379 fnic_priv(sc)->io_req = NULL;
5df6d737dd4b0f Abhijeet Joglekar 2009-04-17 2380
5df6d737dd4b0f Abhijeet Joglekar 2009-04-17 2381 spin_unlock_irqrestore(io_lock, flags);
5df6d737dd4b0f Abhijeet Joglekar 2009-04-17 2382
5df6d737dd4b0f Abhijeet Joglekar 2009-04-17 2383 if (io_req) {
14eb5d905d16ec Hiral Patel 2013-02-12 2384 start_time = io_req->start_time;
5df6d737dd4b0f Abhijeet Joglekar 2009-04-17 2385 fnic_release_ioreq_buf(fnic, io_req, sc);
5df6d737dd4b0f Abhijeet Joglekar 2009-04-17 2386 mempool_free(io_req, fnic->io_req_pool);
5df6d737dd4b0f Abhijeet Joglekar 2009-04-17 2387 }
5df6d737dd4b0f Abhijeet Joglekar 2009-04-17 2388
5df6d737dd4b0f Abhijeet Joglekar 2009-04-17 2389 fnic_device_reset_end:
8691055a002b89 Hannes Reinecke 2022-05-02 2390 FNIC_TRACE(fnic_device_reset, sc->device->host->host_no,
8691055a002b89 Hannes Reinecke 2022-05-02 2391 scsi_cmd_to_rq(sc)->tag, sc,
4d7007b49d523d Hiral Patel 2013-02-12 2392 jiffies_to_msecs(jiffies - start_time),
4d7007b49d523d Hiral Patel 2013-02-12 2393 0, ((u64)sc->cmnd[0] << 32 |
4d7007b49d523d Hiral Patel 2013-02-12 2394 (u64)sc->cmnd[2] << 24 | (u64)sc->cmnd[3] << 16 |
4d7007b49d523d Hiral Patel 2013-02-12 2395 (u64)sc->cmnd[4] << 8 | sc->cmnd[5]),
924cb24df4fc4d Bart Van Assche 2022-02-18 2396 fnic_flags_and_state(sc));
4d7007b49d523d Hiral Patel 2013-02-12 2397
5df6d737dd4b0f Abhijeet Joglekar 2009-04-17 2398 FNIC_SCSI_DBG(KERN_DEBUG, fnic->lport->host,
5df6d737dd4b0f Abhijeet Joglekar 2009-04-17 2399 "Returning from device reset %s\n",
5df6d737dd4b0f Abhijeet Joglekar 2009-04-17 2400 (ret == SUCCESS) ?
5df6d737dd4b0f Abhijeet Joglekar 2009-04-17 2401 "SUCCESS" : "FAILED");
67125b0287a9e6 Hiral Patel 2013-09-12 2402
67125b0287a9e6 Hiral Patel 2013-09-12 2403 if (ret == FAILED)
67125b0287a9e6 Hiral Patel 2013-09-12 2404 atomic64_inc(&reset_stats->device_reset_failures);
67125b0287a9e6 Hiral Patel 2013-09-12 2405
5df6d737dd4b0f Abhijeet Joglekar 2009-04-17 2406 return ret;
5df6d737dd4b0f Abhijeet Joglekar 2009-04-17 2407 }
5df6d737dd4b0f Abhijeet Joglekar 2009-04-17 2408
--
0-DAY CI Kernel Test Service
https://01.org/lkp
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2022-05-03 17:13 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <20220502213820.3187-12-hare@suse.de>
2022-05-03 17:12 ` [PATCH 11/24] fnic: use dedicated device reset command kernel test robot
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).