On Mon, 2022-05-16 at 21:52 +0200, Lino Sanfilippo wrote: > Hi, > > On 13.05.22 at 20:08, Jarkko Sakkinen wrote: > > On Wed, May 11, 2022 at 09:18:39PM +0200, Lino Sanfilippo wrote: > > > Hi, > > > > > > On 11.05.22 at 13:22, Jarkko Sakkinen wrote: > > > > On Mon, May 09, 2022 at 10:05:54AM +0200, Lino Sanfilippo wrote: > > > > > From: Lino Sanfilippo <l.sanfilippo@xxxxxxxxxx> > > > > > > > > > > Interrupt handling at least includes reading and writing the interrupt > > > > > status register within the interrupt routine. Since accesses over the SPI > > > > > bus are synchronized by a mutex, request a threaded interrupt handler to > > > > > ensure a sleepable context during interrupt processing. > > > > > > > > > > Fixes: 1a339b658d9d ("tpm_tis_spi: Pass the SPI IRQ down to the driver") > > > > > Signed-off-by: Lino Sanfilippo <l.sanfilippo@xxxxxxxxxx> > > > > > > > > When you state that it needs a sleepable context, you should bring a > > > > context why it needs it. This not to disregard the code change overally but > > > > you cannot make even the most obvious claim without backing data. > > > > > > > > > > so what kind of backing data do you have in mind? Would it help to emphasize more > > > that the irq handler is running in hard irq context in the current code and thus > > > must not access registers over SPI since SPI uses a mutex (I consider it as basic > > > knowledge that a mutex must not be taken in hard irq context)? > > > > There's zero mention about specific lock you are talking about. Providing > > the basic knowledge what you are trying to do is the whole point of the > > commit message in the first place. I'd presume this patch is related to the > > use bus_lock_mutex but it is fully ingored here. > > > > Ok, understood. I will amend the commit message to make more clear that > reading and writing registers from the interrupt handler results in > a call to tpm_tis_spi_transfer() which uses the bus_lock_mutex of the > spi device and thus requires a sleepable context. Yeah, please be always as explicit as possible, so that it is impossible to get it wrong. Then a reader of your patch saves time from seeking e.g. the current name of the data structure. Just dumb things down as far as you can. Commit messages have a dual function: 1. They *lower* the barrier to look into a code change, which helps the patches get any attention. 2. Proper commit messages save tons of time from the maintainer, when you have revisit years old commits, e.g. when bisecting a bug. Comparing to e.g. Github the key difference is this: in Github you have commits and issues. In kernel commit is both issue and the commit bundled together. Therefore, every commit also needs to have a "bug report" included. BR, Jarkko